Author: tchemit Date: 2012-02-18 01:10:05 +0100 (Sat, 18 Feb 2012) New Revision: 325 Url: http://forge.codelutin.com/repositories/revision/echobase/325 Log: - improve csv api (for adding foreign keys) - test result import - add missing entities in tests Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ResultsImportServiceTest.java trunk/echobase-services/src/test/resources/import-data/result/ trunk/echobase-services/src/test/resources/import-data/result/echotype.csv trunk/echobase-services/src/test/resources/import-data/result/lengthAgeKey.csv trunk/echobase-services/src/test/resources/import-data/result/lengthWeightKey.csv Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractImportDataService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ResultsImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModelRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModelRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/GearMetadataValueImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthAgeKeyImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthWeightKeyImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationMetadataValueImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/SubSampleImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TotalSampleImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransectImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransitImportModel.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AcousticDataImportServiceTest.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CatchesDataImportServiceTest.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportService2Test.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportServiceTest.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceTest.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/OperationImportServiceTest.java trunk/echobase-services/src/test/resources/import-data/echobase-0.3-commonData-result.h2.db.gz trunk/echobase-services/src/test/resources/import-data/echobase-0.3-nodata.h2.db.gz trunk/echobase-services/src/test/resources/import-data/echobase-0.3-operation-result.h2.db.gz Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractImportDataService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractImportDataService.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractImportDataService.java 2012-02-18 00:10:05 UTC (rev 325) @@ -158,7 +158,9 @@ } catch (TopiaException e) { throw new EchoBaseTechnicalException("Could not create new instance of entity", e); } - }protected <E extends TopiaEntity> E create(TopiaDAO<E> dao) { + } + + protected <E extends TopiaEntity> E create(TopiaDAO<E> dao) { try { E result = dao.create(); return result; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ResultsImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ResultsImportService.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ResultsImportService.java 2012-02-18 00:10:05 UTC (rev 325) @@ -23,6 +23,7 @@ */ package fr.ifremer.echobase.services; +import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -56,12 +57,15 @@ import fr.ifremer.echobase.services.csv.RegionCellAssociationImportModel; import fr.ifremer.echobase.services.csv.RegionCellAssociationImportModelRow; import fr.ifremer.echobase.services.csv.RegionCellImportModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; import java.io.Reader; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -75,6 +79,10 @@ */ public class ResultsImportService extends AbstractImportDataService<ResultsImportConfiguration> { + /** Logger. */ + private static final Log log = + LogFactory.getLog(ResultsImportService.class); + @Override protected String getImportLabel() { return l_(getLocale(), ImportDataMode.Results.getI18nKey()); @@ -181,6 +189,11 @@ protected CsvFileImportResult importRegionsFile(InputFile inputFile) throws ImportException { + if (log.isInfoEnabled()) { + log.info("Starts import of region from file " + + inputFile.getFileName()); + } + CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -212,6 +225,11 @@ RegionCellAssociationImportModel csvModel = new RegionCellAssociationImportModel( serviceContext.getConfiguration().getCsvSeparator()); + if (log.isInfoEnabled()) { + log.info("Starts import of region association from file " + + inputFile.getFileName()); + } + CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -241,6 +259,11 @@ Map<String, Voyage> voyageMap, Map<String, Species> speciesMap) throws ImportException { + if (log.isInfoEnabled()) { + log.info("Starts import of lenthWeightKey from file " + + inputFile.getFileName()); + } + CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -307,6 +330,11 @@ Map<String, Voyage> voyageMap, Map<String, Species> speciesMap) throws ImportException { + if (log.isInfoEnabled()) { + log.info("Starts import of lenthAgeKey from file " + + inputFile.getFileName()); + } + CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -350,6 +378,11 @@ Map<String, Voyage> voyageMap, Map<String, Species> speciesMap) throws ImportException { + if (log.isInfoEnabled()) { + log.info("Starts import of echotype from file " + + inputFile.getFileName()); + } + CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -374,49 +407,44 @@ Voyage voyage = row.getVoyage(); - String echotypeName = row.getName(); + Echotype rowEchotype = row.getEchotype(); + String echotypeName = rowEchotype.getName(); + // check if there is a echotype for the voyage and this name Echotype echotype = null; if (!voyage.isEchotypeEmpty()) { - echotype = Iterables.find( - voyage.getEchotype(), + Collection<Echotype> echotypes = voyage.getEchotype(); + Predicate<Echotype> predicate = EchoBasePredicates.newEchotypeByNamePredicate( - echotypeName)); + echotypeName); + echotype = Iterables.find(echotypes, predicate, null); } if (echotype == null) { // creates it - echotype = create(dao, - Echotype.PROPERTY_NAME, echotypeName, - Echotype.PROPERTY_MEANING, row.getMeaning() - ); + echotype = create(dao, rowEchotype); - DepthStratum depthStratum = row.getDepthStratum(); - echotype.setDepthStratum(depthStratum); - // attach it to voyage - voyage.addEchotype(echotype); importResult.incrementsNumberCreated(EchoBaseEntityEnum.Echotype); + } else { - importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Echotype); - } + Species species = rowEchotype.getSpecies().iterator().next(); + Species existingSpecie = + echotype.getSpeciesByTopiaId(species.getTopiaId()); - Species species = row.getSpecies(); - Species existingSpecie = - echotype.getSpeciesByTopiaId(species.getTopiaId()); + if (existingSpecie == null) { - if (existingSpecie == null) { - - // add this species - echotype.addSpecies(species); + // add this species + echotype.addSpecies(species); + } } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -45,7 +45,7 @@ super(separator); newIgnoredColumn("MOVIES_EILayer");//A newIgnoredColumn("MOVIES_EILayer\\sndset");//B - newMandatoryColumn("MOVIES_EILayer\\sndset\\sndname", AcousticDataImportModelRow.PROPERTY_ACOUSTIC_INSTRUMENT, CsvModelUtil.newForeignKeyValue(AcousticInstrument.class, AcousticInstrument.PROPERTY_ID, instrumentsById));//C + newForeignKeyColumn("MOVIES_EILayer\\sndset\\sndname", AcousticDataImportModelRow.PROPERTY_ACOUSTIC_INSTRUMENT, AcousticInstrument.class, AcousticInstrument.PROPERTY_ID, instrumentsById);//C newIgnoredColumn("MOVIES_EILayer\\sndset\\sndident");//D newIgnoredColumn("MOVIES_EILayer\\sndset\\softChannelId");//E newIgnoredColumn("MOVIES_EILayer\\sndset\\channelName");//F Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModelRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModelRow.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/AcousticDataImportModelRow.java 2012-02-18 00:10:05 UTC (rev 325) @@ -35,7 +35,7 @@ */ public class AcousticDataImportModelRow { - public static final String PROPERTY_ACOUSTIC_INSTRUMENT= "acousticInstrument"; + public static final String PROPERTY_ACOUSTIC_INSTRUMENT = "acousticInstrument"; // public static final String PROPERTY_CHANNEL_NAME = "channelName"; // public static final String PROPERTY_SND_NAME = "sndName"; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java 2012-02-18 00:10:05 UTC (rev 325) @@ -338,6 +338,14 @@ public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> etValueSetter) { return modelBuilder.newMandatoryColumn(headerName, valueParser, etValueSetter); } + + protected <E extends TopiaEntity> void newForeignKeyColumn(String headerName, String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) { + newMandatoryColumn(headerName, propertyName, CsvModelUtil.newForeignKeyValue(entityType, foreignKeyName, universe)); + } + + protected <E extends TopiaEntity> void newForeignKeyColumn(String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) { + newMandatoryColumn(propertyName, propertyName, CsvModelUtil.newForeignKeyValue(entityType, foreignKeyName, universe)); + } } public static abstract class AbstractImportExportModel<E> implements ImportExportModel<E> { @@ -445,6 +453,14 @@ public <T> ImportableExportableColumn<E, T> newColumnForImportExport(String headerName, ValueGetterSetter<E, T> etValueGetterSetter, ValueParserFormatter<T> valueParserFormatter) { return modelBuilder.newColumnForImportExport(headerName, etValueGetterSetter, valueParserFormatter); } + + protected <E extends TopiaEntity> void newForeignKeyColumn(String headerName, String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) { + newMandatoryColumn(headerName, propertyName, CsvModelUtil.newForeignKeyValue(entityType, foreignKeyName, universe)); + } + + protected <E extends TopiaEntity> void newForeignKeyColumn(String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) { + newMandatoryColumn(propertyName, propertyName, CsvModelUtil.newForeignKeyValue(entityType, foreignKeyName, universe)); + } } public static abstract class AbstractExportModel<E> implements ExportModel<E> { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -25,6 +25,7 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DepthStratum; +import fr.ifremer.echobase.entities.references.Echotype; import fr.ifremer.echobase.entities.references.Species; import java.util.Map; @@ -57,14 +58,14 @@ echotypeName DepthStratumID meaning - genusSpecies + baracoudacode */ - newMandatoryColumn("echotypeName", EchotypeImportModelRow.PROPERTY_NAME); - newMandatoryColumn("meaning", EchotypeImportModelRow.PROPERTY_MEANING); - newMandatoryColumn(EchotypeImportModelRow.PROPERTY_VOYAGE, CsvModelUtil.newForeignKeyValue(Voyage.class, Voyage.PROPERTY_NAME, voyageMap)); - newMandatoryColumn("DepthStratumID", EchotypeImportModelRow.PROPERTY_DEPTH_STRATUM, CsvModelUtil.newForeignKeyValue(DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap)); - newMandatoryColumn("genusSpecies", EchotypeImportModelRow.PROPERTY_SPECIES, CsvModelUtil.newForeignKeyValue(Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap)); + newMandatoryColumn("echotypeName", Echotype.PROPERTY_NAME); + newMandatoryColumn("meaning", Echotype.PROPERTY_MEANING); + newForeignKeyColumn(EchotypeImportModelRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); + newForeignKeyColumn("DepthStratumID", Echotype.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap); + newForeignKeyColumn("baracoudacode", Echotype.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModelRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModelRow.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchotypeImportModelRow.java 2012-02-18 00:10:05 UTC (rev 325) @@ -25,6 +25,8 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DepthStratum; +import fr.ifremer.echobase.entities.references.Echotype; +import fr.ifremer.echobase.entities.references.EchotypeImpl; import fr.ifremer.echobase.entities.references.Species; import java.io.Serializable; @@ -41,24 +43,14 @@ public static final String PROPERTY_VOYAGE = "voyage"; - public static final String PROPERTY_NAME = "name"; - - public static final String PROPERTY_MEANING = "meaning"; - - public static final String PROPERTY_DEPTH_STRATUM = "depthStratum"; - - public static final String PROPERTY_SPECIES = "species"; - protected Voyage voyage; - protected String name; + protected final Echotype echotype; - protected String meaning; + public EchotypeImportModelRow() { + echotype = new EchotypeImpl(); + } - protected DepthStratum depthStratum; - - protected Species species; - public Voyage getVoyage() { return voyage; } @@ -67,35 +59,23 @@ this.voyage = voyage; } - public String getName() { - return name; + public Echotype getEchotype() { + return echotype; } public void setName(String name) { - this.name = name; + echotype.setName(name); } - public String getMeaning() { - return meaning; - } - public void setMeaning(String meaning) { - this.meaning = meaning; + echotype.setMeaning(meaning); } - public DepthStratum getDepthStratum() { - return depthStratum; - } - public void setDepthStratum(DepthStratum depthStratum) { - this.depthStratum = depthStratum; + echotype.setDepthStratum(depthStratum); } - public Species getSpecies() { - return species; - } - public void setSpecies(Species species) { - this.species = species; + echotype.addSpecies(species); } } \ No newline at end of file Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/GearMetadataValueImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/GearMetadataValueImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/GearMetadataValueImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -54,11 +54,11 @@ gearMetadataValue */ - newMandatoryColumn("vesselName", GearMetadataValueImportModelRow.PROPERTY_VESSEL, CsvModelUtil.newForeignKeyValue(Vessel.class, Vessel.PROPERTY_NAME, vesselMap)); - newMandatoryColumn("operationID", GearMetadataValueImportModelRow.PROPERTY_OPERATION, CsvModelUtil.newForeignKeyValue(Operation.class, Operation.PROPERTY_ID, operationMap)); + newForeignKeyColumn("vesselName", GearMetadataValueImportModelRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap); + newForeignKeyColumn("operationID", GearMetadataValueImportModelRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap); - newMandatoryColumn("metadataType", GearMetadataValue.PROPERTY_GEAR_METADATA, CsvModelUtil.newForeignKeyValue(GearMetadata.class, GearMetadata.PROPERTY_NAME, gearMetadataMap)); - newMandatoryColumn("gearCode", GearMetadataValue.PROPERTY_GEAR, CsvModelUtil.newForeignKeyValue(Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap)); + newForeignKeyColumn("metadataType", GearMetadataValue.PROPERTY_GEAR_METADATA, GearMetadata.class, GearMetadata.PROPERTY_NAME, gearMetadataMap); + newForeignKeyColumn("gearCode", GearMetadataValue.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap); newMandatoryColumn("gearMetadataValue", GearMetadataValue.PROPERTY_DATA_VALUE); } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthAgeKeyImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthAgeKeyImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthAgeKeyImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -53,15 +53,14 @@ this.strataMap = strataMap; this.speciesMap = speciesMap; - newMandatoryColumn(LengthAgeKeyImportModelRow.PROPERTY_VOYAGE, CsvModelUtil.newForeignKeyValue(Voyage.class, Voyage.PROPERTY_NAME, voyageMap)); + newForeignKeyColumn(LengthAgeKeyImportModelRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); newMandatoryColumn(LengthAgeKey.PROPERTY_AGE, CsvModelUtil.PRIMITIVE_INTEGER); newMandatoryColumn(LengthAgeKey.PROPERTY_PERCENT_AT_AGE, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(LengthAgeKey.PROPERTY_LENGTH, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(LengthAgeKey.PROPERTY_METADATA); - newMandatoryColumn(LengthAgeKey.PROPERTY_STRATA, CsvModelUtil.newForeignKeyValue(Strata.class, Strata.PROPERTY_NAME, strataMap)); - newMandatoryColumn("codeMemo", LengthAgeKey.PROPERTY_SPECIES, CsvModelUtil.newForeignKeyValue(Species.class,Species.PROPERTY_BARACOUDA_CODE, speciesMap)); - + newForeignKeyColumn(LengthAgeKey.PROPERTY_STRATA, Strata.class, Strata.PROPERTY_NAME, strataMap); + newForeignKeyColumn("baracoudacode", LengthAgeKey.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); } @Override Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthWeightKeyImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthWeightKeyImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/LengthWeightKeyImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -61,12 +61,12 @@ codeMemo */ - newMandatoryColumn(LengthWeightKey.PROPERTY_APARAMETER, CsvModelUtil.PRIMITIVE_FLOAT); - newMandatoryColumn(LengthWeightKey.PROPERTY_BPARAMETER, CsvModelUtil.PRIMITIVE_FLOAT); + newMandatoryColumn("aParameter", LengthWeightKey.PROPERTY_APARAMETER, CsvModelUtil.PRIMITIVE_FLOAT); + newMandatoryColumn("bParameter", LengthWeightKey.PROPERTY_BPARAMETER, CsvModelUtil.PRIMITIVE_FLOAT); - newMandatoryColumn(LengthWeightKeyImportModelRow.PROPERTY_VOYAGE, CsvModelUtil.newForeignKeyValue(Voyage.class, Voyage.PROPERTY_NAME, voyageMap)); - newMandatoryColumn(LengthWeightKeyImportModelRow.PROPERTY_SIZE_CATEGORY, CsvModelUtil.newForeignKeyValue(SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap)); - newMandatoryColumn(LengthWeightKeyImportModelRow.PROPERTY_SPECIES, CsvModelUtil.newForeignKeyValue(Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap)); + newForeignKeyColumn(LengthWeightKeyImportModelRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); + newForeignKeyColumn(LengthWeightKeyImportModelRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); + newForeignKeyColumn("baracoudacode", LengthWeightKeyImportModelRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); } @Override Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -58,11 +58,11 @@ gearShootingEndLongitude // gearName // */ - newMandatoryColumn("vesselName", OperationImportModelRow.PROPERTY_VESSEL, CsvModelUtil.newForeignKeyValue(Vessel.class, Vessel.PROPERTY_NAME, vesselMap)); + newForeignKeyColumn("vesselName", OperationImportModelRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap); - newMandatoryColumn("gearCode", Operation.PROPERTY_GEAR, CsvModelUtil.newForeignKeyValue(Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap)); - newMandatoryColumn("depthStratumID", Operation.PROPERTY_DEPTH_STRATUM, CsvModelUtil.newForeignKeyValue(DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap)); - newMandatoryColumn("operationID",Operation.PROPERTY_ID); + newForeignKeyColumn("gearCode", Operation.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap); + newForeignKeyColumn("depthStratumID", Operation.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap); + newMandatoryColumn("operationID", Operation.PROPERTY_ID); newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LATITUDE, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LONGITUDE, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_TIME, CsvModelUtil.DAY_TIME_SECOND); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationMetadataValueImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationMetadataValueImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/OperationMetadataValueImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -51,10 +51,10 @@ operationMetadataValue/ */ - newMandatoryColumn("vesselName", OperationMetadataValueImportModelRow.PROPERTY_VESSEL, CsvModelUtil.newForeignKeyValue(Vessel.class, Vessel.PROPERTY_NAME, vesselMap)); - newMandatoryColumn("operationID", OperationMetadataValueImportModelRow.PROPERTY_OPERATION, CsvModelUtil.newForeignKeyValue(Operation.class, Operation.PROPERTY_ID, operationMap)); + newForeignKeyColumn("vesselName", OperationMetadataValueImportModelRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap); + newForeignKeyColumn("operationID", OperationMetadataValueImportModelRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap); - newMandatoryColumn("metadataType", OperationMetadataValue.PROPERTY_OPERATION_METADATA, CsvModelUtil.newForeignKeyValue(OperationMetadata.class, OperationMetadata.PROPERTY_NAME, operationMetadataMap)); + newForeignKeyColumn("metadataType", OperationMetadataValue.PROPERTY_OPERATION_METADATA, OperationMetadata.class, OperationMetadata.PROPERTY_NAME, operationMetadataMap); newMandatoryColumn("operationMetadataValue", OperationMetadataValue.PROPERTY_DATA_VALUE); } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/SubSampleImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/SubSampleImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/SubSampleImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -67,10 +67,10 @@ newIgnoredColumn("units"); newIgnoredColumn("round"); - newMandatoryColumn("operationID", SubSampleImportModelRow.PROPERTY_OPERATION, CsvModelUtil.newForeignKeyValue(Operation.class,Operation.PROPERTY_ID, operationMap)); - newMandatoryColumn("baracoudacode", SubSampleImportModelRow.PROPERTY_SPECIES, CsvModelUtil.newForeignKeyValue(Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap)); - newMandatoryColumn(SubSampleImportModelRow.PROPERTY_SIZE_CATEGORY, CsvModelUtil.newForeignKeyValue(SizeCategory.class, SizeCategory.PROPERTY_NAME,sizeCategoryMap)); - newMandatoryColumn(SubSampleImportModelRow.PROPERTY_SEX_CATEGORY, CsvModelUtil.newForeignKeyValue(SexCategory.class, SexCategory.PROPERTY_NAME,sexCategoryMap)); + newForeignKeyColumn("operationID", SubSampleImportModelRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap); + newForeignKeyColumn("baracoudacode", SubSampleImportModelRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); + newForeignKeyColumn(SubSampleImportModelRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); + newForeignKeyColumn(SubSampleImportModelRow.PROPERTY_SEX_CATEGORY, SexCategory.class, SexCategory.PROPERTY_NAME, sexCategoryMap); newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, CsvModelUtil.PRIMITIVE_INTEGER); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TotalSampleImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TotalSampleImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TotalSampleImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -56,9 +56,9 @@ sortedWeight */ - newMandatoryColumn("operationID", TotalSampleImportModelRow.PROPERTY_OPERATION, CsvModelUtil.newForeignKeyValue(Operation.class, Operation.PROPERTY_ID, operationMap)); - newMandatoryColumn("baracoudacode", TotalSampleImportModelRow.PROPERTY_SPECIES, CsvModelUtil.newForeignKeyValue(Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap)); - newMandatoryColumn(TotalSampleImportModelRow.PROPERTY_SIZE_CATEGORY, CsvModelUtil.newForeignKeyValue(SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap)); + newForeignKeyColumn("operationID", TotalSampleImportModelRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap); + newForeignKeyColumn("baracoudacode", TotalSampleImportModelRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); + newForeignKeyColumn(TotalSampleImportModelRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, CsvModelUtil.PRIMITIVE_FLOAT); newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, CsvModelUtil.PRIMITIVE_INTEGER); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransectImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransectImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransectImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -39,9 +39,9 @@ public TransectImportModel(char separator, Map<String, Voyage> voyageMap) { super(separator); - newMandatoryColumn( + newForeignKeyColumn( "voyageName", TransectImportModelRow.PROPERTY_VOYAGE, - CsvModelUtil.newForeignKeyValue(Voyage.class, Voyage.PROPERTY_NAME, voyageMap)); + Voyage.class, Voyage.PROPERTY_NAME, voyageMap); newMandatoryColumn(Transect.PROPERTY_TITLE); newMandatoryColumn(Transect.PROPERTY_TRANSECT_ABSTRACT); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransitImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransitImportModel.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/TransitImportModel.java 2012-02-18 00:10:05 UTC (rev 325) @@ -41,7 +41,7 @@ public TransitImportModel(char separator, Map<String, Voyage> voyageMap) { super(separator); - newMandatoryColumn("voyageName", TransitImportModelRow.PROPERTY_VOYAGE, CsvModelUtil.newForeignKeyValue(Voyage.class, Voyage.PROPERTY_NAME, voyageMap)); + newForeignKeyColumn("voyageName", TransitImportModelRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); newMandatoryColumn(Transit.PROPERTY_DESCRIPTION); newMandatoryColumn(Transit.PROPERTY_START_TIME, CsvModelUtil.DAY_TIME); newMandatoryColumn(Transit.PROPERTY_END_TIME, CsvModelUtil.DAY_TIME); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AcousticDataImportServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AcousticDataImportServiceTest.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AcousticDataImportServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -30,6 +30,8 @@ import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.AcousticInstrument; +import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.services.configurations.AcousticDataImportConfiguration; import fr.ifremer.echobase.services.configurations.CellPositionReference; import fr.ifremer.echobase.services.csv.CsvFileImportResult; @@ -48,7 +50,7 @@ public class AcousticDataImportServiceTest extends EchoBaseTestServiceSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext("/import-data/echobase-0.3-commonData-result.h2.db.gz"); + return new FakeEchoBaseServiceContext(IMPORT_DATA_ECHOBASE_COMMON_DATA_RESULT); } protected String[] getImportPath(String filename) { @@ -70,8 +72,8 @@ AcousticDataImportConfiguration conf = new AcousticDataImportConfiguration(getLocale()); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVoyageId(VOYAGE_ID); + conf.setVesselId(VESSEL_ID); conf.setAcousticDensityUnit("acousticDensityUnit"); conf.setAcquisitionSoftwareVersionER60("acquisitionSoftwareVersionER60"); conf.setAcquisitionSoftwareVersionME70("acquisitionSoftwareVersionME70"); @@ -96,6 +98,14 @@ AcousticDataImportService service = getService(AcousticDataImportService.class); + //FIXME : remove this when db will have such data + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ES18-11"); + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ES38B"); + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ES70-7C"); + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ES120-7"); + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ES200-7C"); + service.create(getDAO(AcousticInstrument.class), AcousticInstrument.PROPERTY_ID, "ME70"); + List<CsvFileImportResult> result = service.doImport(conf, createFakeUser()); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CatchesDataImportServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CatchesDataImportServiceTest.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CatchesDataImportServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -47,7 +47,7 @@ public class CatchesDataImportServiceTest extends EchoBaseTestServiceSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext("/import-data/echobase-0.3-operation-result.h2.db.gz"); + return new FakeEchoBaseServiceContext(IMPORT_DATA_ECHOBASE_OPERATION_RESULT); } protected String[] getImportPath(String filename) { @@ -67,8 +67,8 @@ CatchesDataImportConfiguration conf = new CatchesDataImportConfiguration(getLocale()); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVoyageId(VOYAGE_ID); + conf.setVesselId(VESSEL_ID); prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv")); @@ -76,12 +76,12 @@ CatchesDataImportService service = getService(CatchesDataImportService.class); - List<CsvFileImportResult> result = service.doImport(conf, createFakeUser()); + List<CsvFileImportResult> result = service.doImport(conf, + createFakeUser()); Assert.assertNotNull(result); Assert.assertEquals(1, result.size()); - Iterator<CsvFileImportResult> iterator = result.iterator(); - CsvFileImportResult importResult = iterator.next(); + CsvFileImportResult importResult = result.get(0); assertCsvImportResult(importResult, Sample.class, 821, 0, 821); assertCsvImportResult(importResult, SampleData.class, 1231, 0, 1231); } @@ -99,8 +99,8 @@ CatchesDataImportConfiguration conf = new CatchesDataImportConfiguration(getLocale()); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVoyageId(VOYAGE_ID); + conf.setVesselId(VESSEL_ID); prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv")); @@ -133,15 +133,16 @@ CatchesDataImportConfiguration conf = new CatchesDataImportConfiguration(getLocale()); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVoyageId(VOYAGE_ID); + conf.setVesselId(VESSEL_ID); prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv")); CatchesDataImportService service = getService(CatchesDataImportService.class); - List<CsvFileImportResult> result = service.doImport(conf, createFakeUser()); + List<CsvFileImportResult> result = service.doImport(conf, + createFakeUser()); Assert.assertNotNull(result); Assert.assertEquals(1, result.size()); @@ -151,49 +152,4 @@ assertCsvImportResult(importResult, SampleData.class, 619, 0, 4680); } - @Ignore - @Test - public void doImportAllSample() throws Exception { - - assertNbEntities(Voyage.class, 1); - assertNbEntities(Transit.class, 3); - assertNbEntities(Transect.class, 181); - assertNbEntities(Operation.class, 61); - assertNbEntities(Sample.class, 0); - assertNbEntities(SampleData.class, 0); - - CatchesDataImportConfiguration conf = - new CatchesDataImportConfiguration(getLocale()); - - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); - - prepareInputFile(conf.getTotalSampleFile(), - getImportPath("totalsample.csv")); - prepareInputFile(conf.getSubSampleFile(), - getImportPath("subsample.csv")); - prepareInputFile(conf.getBiometrySampleFile(), - getImportPath("biometrysample.csv")); - - CatchesDataImportService service = - getService(CatchesDataImportService.class); - - List<CsvFileImportResult> result = service.doImport(conf, createFakeUser()); - - Assert.assertNotNull(result); - Assert.assertEquals(3, result.size()); - Iterator<CsvFileImportResult> iterator = result.iterator(); - CsvFileImportResult importResult; - importResult = iterator.next(); - assertCsvImportResult(importResult, Sample.class, 821, 0, 1220); - assertCsvImportResult(importResult, SampleData.class, 1231, 0, 6273); - - importResult = iterator.next(); - assertCsvImportResult(importResult, Sample.class, 399, 0, 1220); - assertCsvImportResult(importResult, SampleData.class, 5042, 0, 6273); - - importResult = iterator.next(); - assertCsvImportResult(importResult, Sample.class, 4061, 0, 4680); - assertCsvImportResult(importResult, SampleData.class, 619, 0, 4680); - } } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportService2Test.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportService2Test.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportService2Test.java 2012-02-18 00:10:05 UTC (rev 325) @@ -44,7 +44,7 @@ public class CommonDataImportService2Test extends EchoBaseTestServiceSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext("/import-data/echobase-0.3-commonData-result.h2.db.gz"); + return new FakeEchoBaseServiceContext(IMPORT_DATA_ECHOBASE_COMMON_DATA_RESULT); } @Test @@ -59,13 +59,13 @@ CommonDataImportConfiguration conf = new CommonDataImportConfiguration(getLocale()); - conf.setAreaOfOperationId("fr.ifremer.echobase.entities.references.AreaOfOperation#1323128474277#0.011341599655098622"); + conf.setAreaOfOperationId(AREA_OF_OPERATION_ID); conf.setDatum("datum"); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); + conf.setVoyageId(VOYAGE_ID); conf.setTransectBinUnitsPingAxis("transectBinUnitsPingAxis"); conf.setTransectGeospatialVerticalPositive("transectGeospatialVerticalPositive"); conf.setTransectLicence("transectLicence"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVesselId(VESSEL_ID); prepareInputFile(conf.getTransectFile(), getImportPath("transect.csv")); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportServiceTest.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/CommonDataImportServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -43,8 +43,9 @@ */ public class CommonDataImportServiceTest extends EchoBaseTestServiceSupport { + protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext("/import-data/echobase-0.3-nodata.h2.db.gz"); + return new FakeEchoBaseServiceContext(IMPORT_DATA_ECHOBASE_NO_DATA); } @Test @@ -61,15 +62,15 @@ CommonDataImportConfiguration conf = new CommonDataImportConfiguration(getLocale()); - conf.setAreaOfOperationId("fr.ifremer.echobase.entities.references.AreaOfOperation#1323128474277#0.011341599655098622"); + conf.setAreaOfOperationId(AREA_OF_OPERATION_ID); conf.setDatum("datum"); - conf.setMissionId("fr.ifremer.echobase.entities.references.Mission#1323127544274#0.7939481378378231"); + conf.setMissionId(MISSION_ID); conf.setTransectBinUnitsPingAxis("transectBinUnitsPingAxis"); conf.setTransectGeospatialVerticalPositive("transectGeospatialVerticalPositive"); conf.setTransectLicence("transectLicence"); conf.setTransitRelatedActivity("transitRelatedActivity"); conf.setVoyageDescription("voyageDescription"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVesselId(VESSEL_ID); prepareInputFile(conf.getVoyageFile(), getImportPath("voyage.csv")); prepareInputFile(conf.getTransitFile(), getImportPath("transit.csv")); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-02-18 00:10:05 UTC (rev 325) @@ -53,6 +53,20 @@ */ public abstract class EchoBaseTestServiceSupport extends EchoBaseServiceSupport { + public static final String IMPORT_DATA_ECHOBASE_NO_DATA = "/import-data/echobase-0.3-nodata.h2.db.gz"; + + public static final String IMPORT_DATA_ECHOBASE_COMMON_DATA_RESULT = "/import-data/echobase-0.3-commonData-result.h2.db.gz"; + + public static final String IMPORT_DATA_ECHOBASE_OPERATION_RESULT = "/import-data/echobase-0.3-operation-result.h2.db.gz"; + + public static final String VOYAGE_ID = "fr.ifremer.echobase.entities.data.Voyage#1329522708879#0.8413295564795277"; + + public static final String VESSEL_ID = "fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"; + + public static final String MISSION_ID = "fr.ifremer.echobase.entities.references.Mission#1323127544274#0.7939481378378231"; + + public static final String AREA_OF_OPERATION_ID = "fr.ifremer.echobase.entities.references.AreaOfOperation#1323128474277#0.011341599655098622"; + /** Logger. */ private static final Log log = LogFactory.getLog(EchoBaseTestServiceSupport.class); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceTest.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -45,13 +45,13 @@ protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext( - "/import-data/echobase-0.3-operation-result.h2.db.gz"); + IMPORT_DATA_ECHOBASE_OPERATION_RESULT); } @Test public void testCreateEmbeddedApplication() throws Exception { EmbeddedApplicationConfiguration conf = new EmbeddedApplicationConfiguration(); - conf.setVoyageIds(new String[]{"fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"}); + conf.setVoyageIds(new String[]{VOYAGE_ID}); File workingDirectory = new File(getTestDir(), "work-dir"); FileUtil.createDirectoryIfNecessary(workingDirectory); @@ -72,8 +72,7 @@ public void replicateVoyageEntity() throws Exception { // create new H2 dataBase in target/voyageId - String voyageId = "fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"; - TopiaEntity voyageMocked = getEntityById(Voyage.class, voyageId); + TopiaEntity voyageMocked = getEntityById(Voyage.class, VOYAGE_ID); File testBaseDir = new File(getTestDir(), "replicated"); @@ -81,7 +80,7 @@ getService(EmbeddedApplicationService.class); EmbeddedApplicationConfiguration conf = new EmbeddedApplicationConfiguration(); - conf.setVoyageIds(new String[]{"fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"}); + conf.setVoyageIds(new String[]{VOYAGE_ID}); TopiaContext rootContextDest = service.createH2Batabase(conf, testBaseDir, false); @@ -91,7 +90,7 @@ try { transactionDest = rootContextDest.beginTransaction(); VoyageDAO voyageDAO = EchoBaseDAOHelper.getVoyageDAO(transactionDest); - Voyage voyageReplicated = voyageDAO.findByTopiaId(voyageId); + Voyage voyageReplicated = voyageDAO.findByTopiaId(VOYAGE_ID); // assert voyage is in new base Assert.assertNotNull(voyageReplicated); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/OperationImportServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/OperationImportServiceTest.java 2012-02-17 19:51:35 UTC (rev 324) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/OperationImportServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -23,12 +23,15 @@ */ package fr.ifremer.echobase.services; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.GearMetadata; +import fr.ifremer.echobase.entities.references.Strata; import fr.ifremer.echobase.services.configurations.OperationImportConfiguration; import fr.ifremer.echobase.services.csv.CsvFileImportResult; import org.junit.Assert; @@ -46,7 +49,7 @@ public class OperationImportServiceTest extends EchoBaseTestServiceSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext("/import-data/echobase-0.3-commonData-result.h2.db"); + return new FakeEchoBaseServiceContext(IMPORT_DATA_ECHOBASE_COMMON_DATA_RESULT); } protected String[] getImportPath(String filename) { @@ -59,9 +62,6 @@ assertNbEntities(Voyage.class, 1); assertNbEntities(Transit.class, 3); assertNbEntities(Transect.class, 181); - - // import operations - assertNbEntities(Operation.class, 0); assertNbEntities(OperationMetadataValue.class, 0); assertNbEntities(GearMetadataValue.class, 0); @@ -69,16 +69,25 @@ OperationImportConfiguration conf = new OperationImportConfiguration(getLocale()); - conf.setVoyageId("fr.ifremer.echobase.entities.data.Voyage#1329429559711#0.2622586586792377"); - conf.setVesselId("fr.ifremer.echobase.entities.references.Vessel#1323196672049#0.9790502711645855"); + conf.setVoyageId(VOYAGE_ID); + conf.setVesselId(VESSEL_ID); - prepareInputFile(conf.getOperationFile(), getImportPath("operation.csv")); - prepareInputFile(conf.getOperationMetadataFile(), getImportPath("operationmetadatavalue.csv")); - prepareInputFile(conf.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv")); + prepareInputFile(conf.getOperationFile(), + getImportPath("operation.csv")); + prepareInputFile(conf.getOperationMetadataFile(), + getImportPath("operationmetadatavalue.csv")); + prepareInputFile(conf.getGearMetadataFile(), + getImportPath("gearmetadatavalue.csv")); OperationImportService service = getService(OperationImportService.class); + //FIXME : remove this when db will have such data + service.create(getDAO(GearMetadata.class), GearMetadata.PROPERTY_NAME, "AverageSpeed"); + service.create(getDAO(GearMetadata.class), GearMetadata.PROPERTY_NAME, "VesselHeading"); + service.create(getDAO(GearMetadata.class), GearMetadata.PROPERTY_NAME, "DriftHeading"); + service.create(getDAO(GearMetadata.class), GearMetadata.PROPERTY_NAME, "DriftSpeed"); + List<CsvFileImportResult> result = service.doImport(conf, createFakeUser()); Assert.assertNotNull(result); Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ResultsImportServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ResultsImportServiceTest.java (rev 0) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ResultsImportServiceTest.java 2012-02-18 00:10:05 UTC (rev 325) @@ -0,0 +1,144 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services; + +import fr.ifremer.echobase.entities.data.Transect; +import fr.ifremer.echobase.entities.data.Transit; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.Echotype; +import fr.ifremer.echobase.entities.references.LengthAgeKey; +import fr.ifremer.echobase.entities.references.LengthWeightKey; +import fr.ifremer.echobase.entities.references.Strata; +import fr.ifremer.echobase.services.configurations.ResultsImportConfiguration; +import fr.ifremer.echobase.services.configurations.ResultsImportMode; +import fr.ifremer.echobase.services.csv.CsvFileImportResult; +import org.junit.Assert; +import org.junit.Test; + +import java.util.List; + +/** + * Tests {@link ResultsImportService}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public class ResultsImportServiceTest extends EchoBaseTestServiceSupport { + + protected FakeEchoBaseServiceContext initContext() { + return new FakeEchoBaseServiceContext( + IMPORT_DATA_ECHOBASE_COMMON_DATA_RESULT); + } + + protected String[] getImportPath(String filename) { + return new String[]{"/import-data", "result", filename}; + } + + @Test + public void doImportLengthAgeKey() throws Exception { + + assertNbEntities(Voyage.class, 1); + assertNbEntities(Transit.class, 3); + assertNbEntities(Transect.class, 181); + assertNbEntities(LengthAgeKey.class, 0); + + ResultsImportConfiguration conf = + new ResultsImportConfiguration(getLocale()); + + conf.setVoyageId(VOYAGE_ID); + conf.setImportMode(ResultsImportMode.VOYAGE); + + prepareInputFile(conf.getLengthAgeKeyFile(), + getImportPath("lengthAgeKey.csv")); + + ResultsImportService service = + getService(ResultsImportService.class); + + //FIXME : remove this when db will have such data + service.create(getDAO(Strata.class), Strata.PROPERTY_NAME, "ALL"); + + List<CsvFileImportResult> result = + service.doImport(conf, createFakeUser()); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + assertCsvImportResult(result.get(0), LengthAgeKey.class, 404, 0, 404); + } + + @Test + public void doImportLengthWeightKey() throws Exception { + + assertNbEntities(Voyage.class, 1); + assertNbEntities(Transit.class, 3); + assertNbEntities(Transect.class, 181); + assertNbEntities(LengthWeightKey.class, 0); + + ResultsImportConfiguration conf = + new ResultsImportConfiguration(getLocale()); + + conf.setVoyageId(VOYAGE_ID); + conf.setImportMode(ResultsImportMode.VOYAGE); + + prepareInputFile(conf.getLengthWeightKeyFile(), + getImportPath("lengthWeightKey.csv")); + + ResultsImportService service = + getService(ResultsImportService.class); + + List<CsvFileImportResult> result = + service.doImport(conf, createFakeUser()); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + assertCsvImportResult(result.get(0), LengthWeightKey.class, 7, 0, 7); + } + + @Test + public void doImportEchotype() throws Exception { + + assertNbEntities(Voyage.class, 1); + assertNbEntities(Transit.class, 3); + assertNbEntities(Transect.class, 181); + assertNbEntities(Echotype.class, 0); + + ResultsImportConfiguration conf = + new ResultsImportConfiguration(getLocale()); + + conf.setVoyageId(VOYAGE_ID); + conf.setImportMode(ResultsImportMode.VOYAGE); + + prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv")); + + ResultsImportService service = + getService(ResultsImportService.class); + + List<CsvFileImportResult> result = + service.doImport(conf, createFakeUser()); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + assertCsvImportResult(result.get(0), Echotype.class, 8, 0, 8); + } + +} Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ResultsImportServiceTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-commonData-result.h2.db.gz =================================================================== (Binary files differ) Property changes on: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-commonData-result.h2.db.gz ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-nodata.h2.db.gz =================================================================== (Binary files differ) Property changes on: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-nodata.h2.db.gz ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-operation-result.h2.db.gz =================================================================== (Binary files differ) Property changes on: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-operation-result.h2.db.gz ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: trunk/echobase-services/src/test/resources/import-data/result/echotype.csv =================================================================== --- trunk/echobase-services/src/test/resources/import-data/result/echotype.csv (rev 0) +++ trunk/echobase-services/src/test/resources/import-data/result/echotype.csv 2012-02-18 00:10:05 UTC (rev 325) @@ -0,0 +1,33 @@ +"voyage";"echotypeName";"DepthStratumID";"meaning";"baracoudacode" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"COMP-LEM" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"MERL-MER" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"MERL-MNG" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"SCOM-JAP" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"SCOM-SCO" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"TRAC-MED" +"PELGAS2011";"D1";"CLAS";"Maquereaux, Chinchards et gadidés présents dans les couches à proximité du fond";"TRAC-TRU" +"PELGAS2011";"D2";"CLAS";"Bancs bien distincts: Anchois, Sardines Sprats et Harengs situés entre le fond et 50m au dessus du fond";"CLUP-HAR" +"PELGAS2011";"D2";"CLAS";"Bancs bien distincts: Anchois, Sardines Sprats et Harengs situés entre le fond et 50m au dessus du fond";"ENGR-ENC" +"PELGAS2011";"D2";"CLAS";"Bancs bien distincts: Anchois, Sardines Sprats et Harengs situés entre le fond et 50m au dessus du fond";"SARD-PIL" +"PELGAS2011";"D2";"CLAS";"Bancs bien distincts: Anchois, Sardines Sprats et Harengs situés entre le fond et 50m au dessus du fond";"SPRA-SPR" +"PELGAS2011";"D3";"CLAS";"Merlans bleus, myctophidés et capros présents au large";"CAPR-APE" +"PELGAS2011";"D3";"CLAS";"Merlans bleus, myctophidés et capros présents au large";"MICR-POU" +"PELGAS2011";"D4";"SURF";"Sardines, Maquereaux, Anchois situés proche de la surface";"ENGR-ENC" +"PELGAS2011";"D4";"SURF";"Sardines, Maquereaux, Anchois situés proche de la surface";"SARD-PIL" +"PELGAS2011";"D4";"SURF";"Sardines, Maquereaux, Anchois situés proche de la surface";"SCOM-JAP" +"PELGAS2011";"D4";"SURF";"Sardines, Maquereaux, Anchois situés proche de la surface";"SCOM-SCO" +"PELGAS2011";"D5";"CLAS";"Points bleus près du fond (Merlans leus, merlus et chinchards)";"COMP-LEM" +"PELGAS2011";"D5";"CLAS";"Points bleus près du fond (Merlans leus, merlus et chinchards)";"MERL-MER" +"PELGAS2011";"D5";"CLAS";"Points bleus près du fond (Merlans leus, merlus et chinchards)";"MICR-POU" +"PELGAS2011";"D5";"CLAS";"Points bleus près du fond (Merlans leus, merlus et chinchards)";"TRAC-MED" +"PELGAS2011";"D5";"CLAS";"Points bleus près du fond (Merlans leus, merlus et chinchards)";"TRAC-TRU" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"COMP-LEM" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"ENGR-ENC" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"SARD-PIL" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"SCOM-JAP" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"SCOM-SCO" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"SPRA-SPR" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"TRAC-MED" +"PELGAS2011";"D6";"CLAS";"(Pel03) MELANGE - D1+D2 lorsque la structure ne permet pas de les distinguer";"TRAC-TRU" +"PELGAS2011";"D7";"CLAS";"Banc d'Anchois purs";"ENGR-ENC" +"PELGAS2011";"D8";"CLAS";"Banc de Sardines pur";"SARD-PIL" \ No newline at end of file Property changes on: trunk/echobase-services/src/test/resources/import-data/result/echotype.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-services/src/test/resources/import-data/result/lengthAgeKey.csv =================================================================== --- trunk/echobase-services/src/test/resources/import-data/result/lengthAgeKey.csv (rev 0) +++ trunk/echobase-services/src/test/resources/import-data/result/lengthAgeKey.csv 2012-02-18 00:10:05 UTC (rev 325) @@ -0,0 +1,405 @@ +"baracoudacode";"age";"voyage";"length";"percentAtAge";"metadata";"strata" +"ENGR-ENC";1;"PELGAS2011";7.5;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";8;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";8.5;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";9;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";9.5;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";10;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";10.5;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";11;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";11.5;1;;"ALL" +"ENGR-ENC";1;"PELGAS2011";12;0.9929078014;;"ALL" +"ENGR-ENC";1;"PELGAS2011";12.5;0.9825581395;;"ALL" +"ENGR-ENC";1;"PELGAS2011";13;0.9427083333;;"ALL" +"ENGR-ENC";1;"PELGAS2011";13.5;0.9166666667;;"ALL" +"ENGR-ENC";1;"PELGAS2011";14;0.8391959799;;"ALL" +"ENGR-ENC";1;"PELGAS2011";14.5;0.7674418605;;"ALL" +"ENGR-ENC";1;"PELGAS2011";15;0.6736111111;;"ALL" +"ENGR-ENC";1;"PELGAS2011";15.5;0.6146788991;;"ALL" +"ENGR-ENC";1;"PELGAS2011";16;0.3645833333;;"ALL" +"ENGR-ENC";1;"PELGAS2011";16.5;0.1315789474;;"ALL" +"ENGR-ENC";1;"PELGAS2011";17;0.0158730159;;"ALL" +"ENGR-ENC";1;"PELGAS2011";17.5;0;;"ALL" +"ENGR-ENC";1;"PELGAS2011";18;0;;"ALL" +"ENGR-ENC";1;"PELGAS2011";18.5;0;;"ALL" +"ENGR-ENC";1;"PELGAS2011";19;0;;"ALL" +"ENGR-ENC";1;"PELGAS2011";20;0;;"ALL" +"ENGR-ENC";1;"PELGAS2011";19.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";7.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";8.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";9;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";9.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";8;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";10.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";11;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";11.5;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";10;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";12.5;0.0174418605;;"ALL" +"ENGR-ENC";2;"PELGAS2011";13;0.0416666667;;"ALL" +"ENGR-ENC";2;"PELGAS2011";13.5;0.068627451;;"ALL" +"ENGR-ENC";2;"PELGAS2011";14;0.1256281407;;"ALL" +"ENGR-ENC";2;"PELGAS2011";14.5;0.2209302326;;"ALL" +"ENGR-ENC";2;"PELGAS2011";15;0.2916666667;;"ALL" +"ENGR-ENC";2;"PELGAS2011";15.5;0.3669724771;;"ALL" +"ENGR-ENC";2;"PELGAS2011";16;0.5729166667;;"ALL" +"ENGR-ENC";2;"PELGAS2011";16.5;0.7894736842;;"ALL" +"ENGR-ENC";2;"PELGAS2011";17;0.8888888889;;"ALL" +"ENGR-ENC";2;"PELGAS2011";17.5;0.9230769231;;"ALL" +"ENGR-ENC";2;"PELGAS2011";18;0.976744186;;"ALL" +"ENGR-ENC";2;"PELGAS2011";12;0.0070921986;;"ALL" +"ENGR-ENC";2;"PELGAS2011";19;0.4285714286;;"ALL" +"ENGR-ENC";2;"PELGAS2011";20;0;;"ALL" +"ENGR-ENC";2;"PELGAS2011";18.5;0.7894736842;;"ALL" +"ENGR-ENC";2;"PELGAS2011";19.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";7.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";8;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";9.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";10;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";8.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";9;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";11.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";12;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";10.5;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";11;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";13.5;0.0147058824;;"ALL" +"ENGR-ENC";3;"PELGAS2011";14;0.0351758794;;"ALL" +"ENGR-ENC";3;"PELGAS2011";14.5;0.011627907;;"ALL" +"ENGR-ENC";3;"PELGAS2011";15;0.0347222222;;"ALL" +"ENGR-ENC";3;"PELGAS2011";15.5;0.0183486239;;"ALL" +"ENGR-ENC";3;"PELGAS2011";16;0.0625;;"ALL" +"ENGR-ENC";3;"PELGAS2011";16.5;0.0789473684;;"ALL" +"ENGR-ENC";3;"PELGAS2011";17;0.0952380952;;"ALL" +"ENGR-ENC";3;"PELGAS2011";17.5;0.0769230769;;"ALL" +"ENGR-ENC";3;"PELGAS2011";18;0.023255814;;"ALL" +"ENGR-ENC";3;"PELGAS2011";18.5;0.2105263158;;"ALL" +"ENGR-ENC";3;"PELGAS2011";19;0.5714285714;;"ALL" +"ENGR-ENC";3;"PELGAS2011";20;0;;"ALL" +"ENGR-ENC";3;"PELGAS2011";13;0.015625;;"ALL" +"ENGR-ENC";3;"PELGAS2011";19.5;1;;"ALL" +"ENGR-ENC";3;"PELGAS2011";12.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";8.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";9;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";10;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";10.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";11;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";9.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";12;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";12.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";13;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";11.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";7.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";8;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";15;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";15.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";16;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";16.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";17;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";17.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";18;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";18.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";19;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";20;1;;"ALL" +"ENGR-ENC";4;"PELGAS2011";13.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";14;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";14.5;0;;"ALL" +"ENGR-ENC";4;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";10.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";11;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";11.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";12;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";12.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";13;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";13.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";14;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";14.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";15;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";15.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";16;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";16.5;1;;"ALL" +"SARD-PIL";1;"PELGAS2011";17;0.84375;;"ALL" +"SARD-PIL";1;"PELGAS2011";17.5;0.6428571429;;"ALL" +"SARD-PIL";1;"PELGAS2011";18;0.0909090909;;"ALL" +"SARD-PIL";1;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";20.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";21;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";21.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";22;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";22.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";23;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";23.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";1;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";20.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";21;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";21.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";22;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";22.5;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";23;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";23.5;0.1666666667;;"ALL" +"SARD-PIL";10;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";10;"PELGAS2011";24.5;0.5;;"ALL" +"SARD-PIL";10;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";17;0.15625;;"ALL" +"SARD-PIL";2;"PELGAS2011";17.5;0.3571428571;;"ALL" +"SARD-PIL";2;"PELGAS2011";18;0.7045454545;;"ALL" +"SARD-PIL";2;"PELGAS2011";18.5;0.5694444444;;"ALL" +"SARD-PIL";2;"PELGAS2011";19;0.4382022472;;"ALL" +"SARD-PIL";2;"PELGAS2011";19.5;0.1881188119;;"ALL" +"SARD-PIL";2;"PELGAS2011";20;0.067961165;;"ALL" +"SARD-PIL";2;"PELGAS2011";20.5;0.0288461538;;"ALL" +"SARD-PIL";2;"PELGAS2011";21;0.0101010101;;"ALL" +"SARD-PIL";2;"PELGAS2011";21.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";22;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";22.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";23;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";23.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";2;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";18;0.2045454545;;"ALL" +"SARD-PIL";3;"PELGAS2011";18.5;0.4027777778;;"ALL" +"SARD-PIL";3;"PELGAS2011";19;0.5393258427;;"ALL" +"SARD-PIL";3;"PELGAS2011";19.5;0.7425742574;;"ALL" +"SARD-PIL";3;"PELGAS2011";20;0.6990291262;;"ALL" +"SARD-PIL";3;"PELGAS2011";20.5;0.6153846154;;"ALL" +"SARD-PIL";3;"PELGAS2011";21;0.4444444444;;"ALL" +"SARD-PIL";3;"PELGAS2011";21.5;0.2696629213;;"ALL" +"SARD-PIL";3;"PELGAS2011";22;0.1785714286;;"ALL" +"SARD-PIL";3;"PELGAS2011";22.5;0.0975609756;;"ALL" +"SARD-PIL";3;"PELGAS2011";23;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";23.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";3;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";18.5;0.0277777778;;"ALL" +"SARD-PIL";4;"PELGAS2011";19;0.0224719101;;"ALL" +"SARD-PIL";4;"PELGAS2011";19.5;0.0693069307;;"ALL" +"SARD-PIL";4;"PELGAS2011";20;0.2330097087;;"ALL" +"SARD-PIL";4;"PELGAS2011";20.5;0.3076923077;;"ALL" +"SARD-PIL";4;"PELGAS2011";21;0.4141414141;;"ALL" +"SARD-PIL";4;"PELGAS2011";21.5;0.606741573;;"ALL" +"SARD-PIL";4;"PELGAS2011";22;0.5833333333;;"ALL" +"SARD-PIL";4;"PELGAS2011";22.5;0.4634146341;;"ALL" +"SARD-PIL";4;"PELGAS2011";23;0.3;;"ALL" +"SARD-PIL";4;"PELGAS2011";23.5;0.0833333333;;"ALL" +"SARD-PIL";4;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";4;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";20.5;0.0288461538;;"ALL" +"SARD-PIL";5;"PELGAS2011";21;0.0909090909;;"ALL" +"SARD-PIL";5;"PELGAS2011";21.5;0.0786516854;;"ALL" +"SARD-PIL";5;"PELGAS2011";22;0.1428571429;;"ALL" +"SARD-PIL";5;"PELGAS2011";22.5;0.0975609756;;"ALL" +"SARD-PIL";5;"PELGAS2011";23;0.35;;"ALL" +"SARD-PIL";5;"PELGAS2011";23.5;0.0833333333;;"ALL" +"SARD-PIL";5;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";5;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";20.5;0.0192307692;;"ALL" +"SARD-PIL";6;"PELGAS2011";21;0.0303030303;;"ALL" +"SARD-PIL";6;"PELGAS2011";21.5;0.0224719101;;"ALL" +"SARD-PIL";6;"PELGAS2011";22;0.0714285714;;"ALL" +"SARD-PIL";6;"PELGAS2011";22.5;0.2195121951;;"ALL" +"SARD-PIL";6;"PELGAS2011";23;0.15;;"ALL" +"SARD-PIL";6;"PELGAS2011";23.5;0.4166666667;;"ALL" +"SARD-PIL";6;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";6;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";20.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";21;0.0101010101;;"ALL" +"SARD-PIL";7;"PELGAS2011";21.5;0.0224719101;;"ALL" +"SARD-PIL";7;"PELGAS2011";22;0.0238095238;;"ALL" +"SARD-PIL";7;"PELGAS2011";22.5;0.1219512195;;"ALL" +"SARD-PIL";7;"PELGAS2011";23;0.05;;"ALL" +"SARD-PIL";7;"PELGAS2011";23.5;0.0833333333;;"ALL" +"SARD-PIL";7;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";7;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";20.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";21;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";21.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";22;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";22.5;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";23;0;;"ALL" +"SARD-PIL";8;"PELGAS2011";23.5;0.1666666667;;"ALL" +"SARD-PIL";8;"PELGAS2011";24;1;;"ALL" +"SARD-PIL";8;"PELGAS2011";24.5;0.5;;"ALL" +"SARD-PIL";8;"PELGAS2011";25;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";10.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";11;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";11.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";12;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";12.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";13;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";13.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";14;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";14.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";15;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";15.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";16;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";16.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";17;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";17.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";18;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";18.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";19;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";19.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";20;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";20.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";21;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";21.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";22;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";22.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";23;0.15;;"ALL" +"SARD-PIL";9;"PELGAS2011";23.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";24;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";24.5;0;;"ALL" +"SARD-PIL";9;"PELGAS2011";25;1;;"ALL" \ No newline at end of file Property changes on: trunk/echobase-services/src/test/resources/import-data/result/lengthAgeKey.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-services/src/test/resources/import-data/result/lengthWeightKey.csv =================================================================== --- trunk/echobase-services/src/test/resources/import-data/result/lengthWeightKey.csv (rev 0) +++ trunk/echobase-services/src/test/resources/import-data/result/lengthWeightKey.csv 2012-02-18 00:10:05 UTC (rev 325) @@ -0,0 +1,8 @@ +"voyage";"sizeCategory";"aParameter";"bParameter";"baracoudacode" +"PELGAS2011";0;0.00303825492018371;3.29818993893492;"ENGR-ENC" +"PELGAS2011";0;0.00408918945552281;3.10229886044925;"MICR-POU" +"PELGAS2011";0;0.00883848417892924;2.95633231853268;"SARD-PIL" +"PELGAS2011";0;0.00453442945694522;3.17499018249429;"SCOM-JAP" +"PELGAS2011";0;0.00811235727378315;2.96893493662759;"SCOM-SCO" +"PELGAS2011";0;0.00800415913305456;3.01986613213797;"TRAC-TRU" +"PELGAS2011";0;;;"SPRA-SPR" \ No newline at end of file Property changes on: trunk/echobase-services/src/test/resources/import-data/result/lengthWeightKey.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native