r738 - trunk/coser-business/src/main/java/fr/ifremer/coser/services
Author: chatellier Date: 2011-02-11 11:17:12 +0000 (Fri, 11 Feb 2011) New Revision: 738 Log: Fix strata filtering Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2011-02-11 11:16:35 UTC (rev 737) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2011-02-11 11:17:12 UTC (rev 738) @@ -1707,13 +1707,16 @@ /** * Update data to remove non selected strata. * + * Attention, les identifiants des traits sont année/traits + * Le traits tout seul serait dupliquée. + * * @param project project * @param selection selection * @param selectedStrata selected strata */ public void filterDataStrata(Project project, Selection selection, List<String> selectedStrata) { - Collection<String> existentHauls = new HashSet<String>(); + Collection<String> existentYearsHauls = new HashSet<String>(); // manage strata file Iterator<String[]> itStrata = selection.getStrata().iterator(true); @@ -1738,8 +1741,9 @@ else { // sauvegarde les traits qui existent encore // apres la suppression des strates + String year = tupleHaul[Haul.INDEX_YEAR]; String haul = tupleHaul[Haul.INDEX_HAUL]; - existentHauls.add(haul); + existentYearsHauls.add(year + ";" + haul); } } @@ -1747,9 +1751,10 @@ Iterator<String[]> itCatch = selection.getCatch().iterator(true); while (itCatch.hasNext()) { String[] tupleCatch = itCatch.next(); + String year = tupleCatch[Catch.INDEX_YEAR]; String haul = tupleCatch[Catch.INDEX_HAUL]; - if (!existentHauls.contains(haul)) { + if (!existentYearsHauls.contains(year + ";" + haul)) { itCatch.remove(); } } @@ -1758,9 +1763,10 @@ Iterator<String[]> itLength = selection.getLength().iterator(true); while (itLength.hasNext()) { String[] tupleLength = itLength.next(); + String year = tupleLength[Length.INDEX_YEAR]; String haul = tupleLength[Length.INDEX_HAUL]; - if (!existentHauls.contains(haul)) { + if (!existentYearsHauls.contains(year + ";" + haul)) { itLength.remove(); } }
participants (1)
-
chatellier@users.labs.libre-entreprise.org