Author: chatellier Date: 2011-01-07 09:01:34 +0000 (Fri, 07 Jan 2011) New Revision: 483 Log: Recuperation d'un iterator avec la methode qui skip le header. Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2011-01-07 08:47:43 UTC (rev 482) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2011-01-07 09:01:34 UTC (rev 483) @@ -110,19 +110,18 @@ */ protected Project mergeLength(Project project, AbstractDataContainer container, String newSpecyName, String... speciesNames) { - + // Campagne;Annee;Trait;Espece;Sexe;Maturite;Longueur;Nombre;Poids;Age - + // regroupement par Campagne;Annee;Trait;Espece;Sexe;Maturite;Longueur;Age String[] commonTuple = null; String[] mergeTuple = null; int mergeTupleIndex = -1; - + // parcours des elements - Iterator<String[]> itTuple = container.getLength().iterator(); - itTuple.next(); // skip header - int index = 1; // skip header - + Iterator<String[]> itTuple = container.getLength().iterator(true); + int index = 1; // header skipped + while (itTuple.hasNext()) { String[] tuple = itTuple.next(); @@ -178,7 +177,7 @@ container.getLength().set(mergeTupleIndex, mergeTuple); } - + index++; } return project; @@ -263,9 +262,8 @@ int mergeTupleIndex = -1; // parcours des elements - Iterator<String[]> itTuple = container.getCatch().iterator(); - itTuple.next(); // skip header - int index = 1; // skip header + Iterator<String[]> itTuple = container.getCatch().iterator(true); + int index = 1; // header skiped while (itTuple.hasNext()) { String[] tuple = itTuple.next(); Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-01-07 08:47:43 UTC (rev 482) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-01-07 09:01:34 UTC (rev 483) @@ -315,11 +315,10 @@ Map<String, String> uniqueDataKeys = new HashMap<String, String>(); List<ControlError> validationErrors = new ArrayList<ControlError>(); - Iterator<String[]> itDataToCheck = dataToCheck.iterator(); + Iterator<String[]> itDataToCheck = dataToCheck.iterator(true); int lineIndex = 1; // 1 = skip header - itDataToCheck.next(); // skip header while (itDataToCheck.hasNext()) { - + // update progress if (progress != null) { int progressPercent = (int)((double)lineIndex / (double)total * 100.0); @@ -485,8 +484,7 @@ Map<String, String> firstLineForKey = new HashMap<String, String>(); // parcours des elements - Iterator<String[]> itTuple = control.getCatch().iterator(); - itTuple.next(); // skip header + Iterator<String[]> itTuple = control.getCatch().iterator(true); int lineIndex = 1; // skip header while (itTuple.hasNext()) { String[] tuple = itTuple.next(); @@ -583,8 +581,7 @@ // look for data (data summed over catch) Map<String, Map<String, Double>> catchForSpeciesYears = new HashMap<String, Map<String, Double>>(); - Iterator<String[]> itCatchData = control.getCatch().iterator(); - itCatchData.next(); // header + Iterator<String[]> itCatchData = control.getCatch().iterator(true); int lineIndex = 1; // skip header while (itCatchData.hasNext()) { @@ -629,8 +626,7 @@ // look for data (data summed over length) Map<String, Map<String, Double>> lengthForSpeciesYears = new HashMap<String, Map<String, Double>>(); - Iterator<String[]> itLengthData = control.getLength().iterator(); - itLengthData.next(); // header + Iterator<String[]> itLengthData = control.getLength().iterator(true); while (itLengthData.hasNext()) { // update progress @@ -757,12 +753,11 @@ Map<String, String> firstLineForKey = new HashMap<String, String>(); // parcours des elements - Iterator<String[]> itTuple = control.getLength().iterator(); - itTuple.next(); // skip header + Iterator<String[]> itTuple = control.getLength().iterator(true); int lineIndex = 1; // skip header while (itTuple.hasNext()) { String[] tuple = itTuple.next(); - + // update progress if (progress != null) { int progressPercent = (int)((double)lineIndex / (double)total * 100.0); @@ -870,16 +865,11 @@ List<ControlError> crossFilesErrors = new ArrayList<ControlError>(); // get all iterators - Iterator<String[]> itReftax = project.getRefTaxSpecies().iterator(); - itReftax.next(); // skip header - Iterator<String[]> itCatch = control.getCatch().iterator(); - itCatch.next(); // skip header - Iterator<String[]> itLength = control.getLength().iterator(); - itLength.next(); // skip header - Iterator<String[]> itStrata = control.getStrata().iterator(); - itStrata.next(); // skip header - Iterator<String[]> itHaul = control.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itReftax = project.getRefTaxSpecies().iterator(true); + Iterator<String[]> itCatch = control.getCatch().iterator(true); + Iterator<String[]> itLength = control.getLength().iterator(true); + Iterator<String[]> itStrata = control.getStrata().iterator(true); + Iterator<String[]> itHaul = control.getHaul().iterator(true); // declare all necessary data Map<String, Integer> refTaxSpecies = new HashMap<String, Integer>(); @@ -904,8 +894,7 @@ } // parcourt du fichier des types de données - Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator(); - itTypeSpecies.next(); // skip header + Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator(true); while (itTypeSpecies.hasNext()) { // "Types";"Commentaire";"NumSys min";"NumSys max","Code" String[] tuple = itTypeSpecies.next(); 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-01-07 08:47:43 UTC (rev 482) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2011-01-07 09:01:34 UTC (rev 483) @@ -1553,8 +1553,7 @@ List<String> result = new ArrayList<String>(); // manage haul - Iterator<String[]> itHaul = selection.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itHaul = selection.getHaul().iterator(true); while (itHaul.hasNext()) { String[] tupleHaul = itHaul.next(); String annee = tupleHaul[Haul.INDEX_YEAR]; @@ -1575,8 +1574,7 @@ } // manage catch - Iterator<String[]> itCatch = selection.getCatch().iterator(); - itCatch.next(); // skip header + Iterator<String[]> itCatch = selection.getCatch().iterator(true); while (itCatch.hasNext()) { String[] tupleCatch = itCatch.next(); String annee = tupleCatch[Catch.INDEX_YEAR]; @@ -1591,8 +1589,7 @@ } // manage length - Iterator<String[]> itLength = selection.getLength().iterator(); - itLength.next(); // skip header + Iterator<String[]> itLength = selection.getLength().iterator(true); while (itLength.hasNext()) { String[] tupleLength = itLength.next(); String annee = tupleLength[Length.INDEX_YEAR]; @@ -1624,9 +1621,7 @@ // "Types","Commentaire","NumSys min","NumSys max","Code" - Iterator<String[]> itTuples = project.getTypeEspeces().iterator(); - itTuples.next(); // skip headers - + Iterator<String[]> itTuples = project.getTypeEspeces().iterator(true); while (itTuples.hasNext()) { String[] tuple = itTuples.next(); @@ -1659,8 +1654,7 @@ SortedSet<String> years = new TreeSet<String>(); - Iterator<String[]> itTuple = selection.getHaul().iterator(); - itTuple.next(); // header + Iterator<String[]> itTuple = selection.getHaul().iterator(true); while (itTuple.hasNext()) { String[] tuple = itTuple.next(); String year = tuple[Haul.INDEX_YEAR]; @@ -1681,8 +1675,7 @@ // get all years as set SortedSet<String> years = new TreeSet<String>(); - Iterator<String[]> itTuple = selection.getHaul().iterator(); - itTuple.next(); // header + Iterator<String[]> itTuple = selection.getHaul().iterator(true); while (itTuple.hasNext()) { String[] tuple = itTuple.next(); String year = tuple[Haul.INDEX_YEAR]; @@ -1691,8 +1684,7 @@ // get all species with years Map<String, Set<String>> yearsForSpecies = new HashMap<String, Set<String>>(); - Iterator<String[]> itLength = selection.getLength().iterator(); - itLength.next(); // skip header + Iterator<String[]> itLength = selection.getLength().iterator(true); while (itLength.hasNext()) { String[] tupleLength = itLength.next(); String species = tupleLength[Length.INDEX_SPECIES]; @@ -1730,8 +1722,7 @@ Set<String> speciesWithMaturity = new HashSet<String>(); // get all species with years - Iterator<String[]> itLength = selection.getLength().iterator(); - itLength.next(); // skip header + Iterator<String[]> itLength = selection.getLength().iterator(true); while (itLength.hasNext()) { String[] tupleLength = itLength.next(); String species = tupleLength[Length.INDEX_SPECIES]; @@ -1756,8 +1747,7 @@ public List<String> getProjectSpecies(AbstractDataContainer container) { List<String> result = new ArrayList<String>(); - Iterator<String[]> itTuple = container.getCatch().iterator(); - itTuple.next(); // skip header + Iterator<String[]> itTuple = container.getCatch().iterator(true); while (itTuple.hasNext()) { String[] tuple = itTuple.next(); String species = tuple[Catch.INDEX_SPECIES]; @@ -1791,8 +1781,7 @@ // first get traits list Set<String> traits = new HashSet<String>(); - Iterator<String[]> itTuple = container.getHaul().iterator(); - itTuple.next(); // skip header + Iterator<String[]> itTuple = container.getHaul().iterator(true); while (itTuple.hasNext()) { String[] tuple = itTuple.next(); @@ -1806,8 +1795,7 @@ // second get species with trait list List<String> result = new ArrayList<String>(); - itTuple = container.getCatch().iterator(); - itTuple.next(); // skip header + itTuple = container.getCatch().iterator(true); while (itTuple.hasNext()) { String[] tuple = itTuple.next(); @@ -1825,8 +1813,7 @@ if (CollectionUtils.isNotEmpty(filterSpecyType)) { // load map SpecyName > numSys Map<String, Integer> map = new HashMap<String, Integer>(); - Iterator<String[]> refTaxIterator = project.getRefTaxSpecies().iterator(); - refTaxIterator.next(); // skip header + Iterator<String[]> refTaxIterator = project.getRefTaxSpecies().iterator(true); while (refTaxIterator.hasNext()) { // "C_Perm";"NumSys";"NivSys";"C_VALIDE";"L_VALIDE";"AA_VALIDE";"C_TxPère";"Taxa" String[] tuple = refTaxIterator.next(); @@ -1838,8 +1825,7 @@ // load specy type map SpecyTypeName > [min, max] // iteration sur les type d'especes Map<String, Integer[]> mapType = new HashMap<String, Integer[]>(); - Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator(); - itTypeSpecies.next(); // skip header + Iterator<String[]> itTypeSpecies = project.getTypeEspeces().iterator(true); while (itTypeSpecies.hasNext()) { // "Types";"Commentaire";"NumSys min";"NumSys max","Code" String[] tuple = itTypeSpecies.next(); @@ -1902,8 +1888,7 @@ boolean result = false; - Iterator<String[]> itTuple = project.getRefTaxSpecies().iterator(); - itTuple.next(); // skip header + Iterator<String[]> itTuple = project.getRefTaxSpecies().iterator(true); while (itTuple.hasNext() && !result) { String[] tuple = itTuple.next(); // "C_Perm","NumSys","NivSys","C_VALIDE","L_VALIDE","AA_VALIDE","C_TxP\u00E8re","Taxa" @@ -1965,18 +1950,16 @@ Map<String, Map<String, Double>> dynMatrix = new HashMap<String, Map<String,Double>>(); Set<String> lineNames = new HashSet<String>(); Set<String> columns = new HashSet<String>(); - - Iterator<String[]> itData = selection.getHaul().iterator(); - itData.next(); // skip header - + + Iterator<String[]> itData = selection.getHaul().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); - + String year = tuple[Haul.INDEX_YEAR]; String strata = tuple[Haul.INDEX_STRATUM]; lineNames.add(strata); columns.add(year); - + Map<String, Double> haulCountForStrata = dynMatrix.get(strata); if (haulCountForStrata == null) { haulCountForStrata = new HashMap<String, Double>(); @@ -2047,9 +2030,7 @@ Set<String> columns = new HashSet<String>(); Map<String, Set<String>> traitsCountPerYear = new HashMap<String, Set<String>>(); - Iterator<String[]> itData = selection.getCatch().iterator(); - itData.next(); // skip header - + Iterator<String[]> itData = selection.getCatch().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); @@ -2160,8 +2141,7 @@ // load map strataname > stratasurface Map<String, Double> startaAndSurface = new HashMap<String, Double>(); double totalSourface = 0; - Iterator<String[]> itStrata = selection.getStrata().iterator(); - itStrata.next(); // skip header + Iterator<String[]> itStrata = selection.getStrata().iterator(true); while (itStrata.hasNext()) { String[] tuple = itStrata.next(); String stataName = tuple[Strata.INDEX_STRATUM]; @@ -2181,8 +2161,7 @@ // load map traitname > stratename Map<String, String> haulAndStratas = new HashMap<String, String>(); Map<String, Double> haulAndSweptSurface = new HashMap<String, Double>(); - Iterator<String[]> itHaul = selection.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itHaul = selection.getHaul().iterator(true); while (itHaul.hasNext()) { String[] tuple = itHaul.next(); String haul = tuple[Haul.INDEX_HAUL]; @@ -2207,9 +2186,7 @@ Map<String, Double> surfacesParStrates = new HashMap<String, Double>(); // calcul de la densité - Iterator<String[]> itData = selection.getCatch().iterator(); - itData.next(); // skip header - + Iterator<String[]> itData = selection.getCatch().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); @@ -2350,8 +2327,7 @@ // load map traitname > stratename Map<String, String> haulAndStratas = new HashMap<String, String>(); - Iterator<String[]> itHaul = dataContainer.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itHaul = dataContainer.getHaul().iterator(true); while (itHaul.hasNext()) { String[] tuple = itHaul.next(); String haul = tuple[Haul.INDEX_HAUL]; @@ -2367,8 +2343,7 @@ Set<String> strataSet = new HashSet<String>(); Set<String> yearsSet = new HashSet<String>(); - Iterator<String[]> itData = dataContainer.getLength().iterator(); - itData.next(); // skip header + Iterator<String[]> itData = dataContainer.getLength().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); @@ -2539,8 +2514,7 @@ // load map traitname > stratename Map<String, String> haulAndStratas = new HashMap<String, String>(); - Iterator<String[]> itHaul = dataContainer.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itHaul = dataContainer.getHaul().iterator(true); while (itHaul.hasNext()) { String[] tuple = itHaul.next(); String haul = tuple[Haul.INDEX_HAUL]; @@ -2554,8 +2528,7 @@ Set<String> strataSet = new HashSet<String>(); Set<String> yearsSet = new HashSet<String>(); - Iterator<String[]> itData = dataContainer.getLength().iterator(); - itData.next(); // skip header + Iterator<String[]> itData = dataContainer.getLength().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); @@ -2664,8 +2637,7 @@ // load map traitname > stratename Map<String, String> haulAndStratas = new HashMap<String, String>(); - Iterator<String[]> itHaul = dataContainer.getHaul().iterator(); - itHaul.next(); // skip header + Iterator<String[]> itHaul = dataContainer.getHaul().iterator(true); while (itHaul.hasNext()) { String[] tuple = itHaul.next(); String haul = tuple[Haul.INDEX_HAUL]; @@ -2674,8 +2646,7 @@ } DimensionHelper dimHelper = new DimensionHelper(); - Iterator<String[]> itData = dataContainer.getLength().iterator(); - itData.next(); // skip header + Iterator<String[]> itData = dataContainer.getLength().iterator(true); while (itData.hasNext()) { String[] tuple = itData.next(); Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2011-01-07 08:47:43 UTC (rev 482) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2011-01-07 09:01:34 UTC (rev 483) @@ -117,8 +117,7 @@ // look for data (data summed over catch) Map<String, Map<String, Double>> catchForSpeciesYears = new HashMap<String, Map<String, Double>>(); - Iterator<String[]> itCatchData = container.getCatch().iterator(); - itCatchData.next(); // header + Iterator<String[]> itCatchData = container.getCatch().iterator(true); while (itCatchData.hasNext()) { String[] tuple = itCatchData.next(); String species = tuple[Catch.INDEX_SPECIES]; @@ -162,8 +161,7 @@ // look for data (data summed over length) Map<String, Map<String, Double>> lengthForSpeciesYears = new HashMap<String, Map<String, Double>>(); - Iterator<String[]> itLengthData = container.getLength().iterator(); - itLengthData.next(); // header + Iterator<String[]> itLengthData = container.getLength().iterator(true); while (itLengthData.hasNext()) { String[] tuple = itLengthData.next(); String species = tuple[Length.INDEX_SPECIES]; Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-07 08:47:43 UTC (rev 482) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-07 09:01:34 UTC (rev 483) @@ -357,8 +357,7 @@ // load reftax in memory Map<String, String> speciesNames = new HashMap<String, String>(); - Iterator<String[]> reftax = project.getRefTaxSpecies().iterator(); - reftax.next(); // skip header + Iterator<String[]> reftax = project.getRefTaxSpecies().iterator(true); while (reftax.hasNext()) { String[] tuple = reftax.next(); @@ -384,8 +383,7 @@ // Campagne Indicateur Liste Espece Strate Annee Estimation EcartType CV DataStorage dataStorage = importService.loadCSVFile(estPopIndFile, CoserConstants.CSV_RESULT_SEPARATOR_CHAR); - Iterator<String[]> estPopIndIterator = dataStorage.iterator(); - estPopIndIterator.next(); // skip header + Iterator<String[]> estPopIndIterator = dataStorage.iterator(true); while (estPopIndIterator.hasNext()) { String[] tuple = estPopIndIterator.next(); @@ -480,8 +478,7 @@ // Campagne Indicateur Liste Espece Strate Annee Estimation EcartType CV DataStorage dataStorage = importService.loadCSVFile(estPopIndFile, CoserConstants.CSV_RESULT_SEPARATOR_CHAR); - Iterator<String[]> estPopIndIterator = dataStorage.iterator(); - estPopIndIterator.next(); // skip header + Iterator<String[]> estPopIndIterator = dataStorage.iterator(true); while (estPopIndIterator.hasNext()) { String[] tuple = estPopIndIterator.next();