r203 - in trunk/echobase-tools: . src/main/java/fr/ifremer/echobase/tools/loaders src/test/java/fr/ifremer/echobase/tools/loaders src/test/resources/csv/new
Author: tchemit Date: 2011-12-19 20:16:34 +0100 (Mon, 19 Dec 2011) New Revision: 203 Url: http://forge.codelutin.com/repositories/revision/echobase/203 Log: continue catches import Added: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoader.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoaderIT.java Removed: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoader.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoaderIT.java trunk/echobase-tools/src/test/resources/csv/new/input-BiometryScale.csv Modified: trunk/echobase-tools/pom.xml trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoader.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/OperationLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SampleLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoaderIT.java trunk/echobase-tools/src/test/resources/csv/new/input-SexCategory.csv trunk/echobase-tools/src/test/resources/csv/new/input-SizeCategory.csv Modified: trunk/echobase-tools/pom.xml =================================================================== --- trunk/echobase-tools/pom.xml 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/pom.xml 2011-12-19 19:16:34 UTC (rev 203) @@ -65,7 +65,7 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> - + <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> @@ -213,7 +213,7 @@ <testResource> <directory>src/test/resources</directory> <includes> - <include>**/*.properties</include> + <include>**/*.*</include> </includes> </testResource> </testResources> Deleted: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoader.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -1,67 +0,0 @@ -/* - * #%L - * EchoBase :: Tools - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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.tools.loaders; - -import fr.ifremer.echobase.EchoBaseFunctions; -import fr.ifremer.echobase.entities.meta.TableMeta; -import fr.ifremer.echobase.entities.references.BiometryScale; -import fr.ifremer.echobase.entities.references.SampleDataType; -import fr.ifremer.echobase.services.models.EntityCsvModel; -import fr.ifremer.echobase.tools.FileType; - -import java.util.List; - -/** - * {@link BiometryScale} loader. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class BiometryScaleLoader extends EntityLoader<BiometryScale> { - - public BiometryScaleLoader() { - super(BiometryScale.class, FileType.NEW); - } - - @Override - protected EntityCsvModel<BiometryScale> createCsvImportModel(TableMeta meta) { - - List<SampleDataType> sampleDataTypes = - getEntities(SampleDataType.class); - - EntityCsvModel<BiometryScale> model = EntityCsvModel.newModel( - getCsvSeparator(), - meta - ); - - /* - raptriBiometryDataType;ScaleCode;ScaleMeaningEng;ScaleMeaningFr - */ - model.addForeignKeyForImport("raptriBiometryDataType", BiometryScale.PROPERTY_SAMPLE_DATA_TYPE, SampleDataType.class, sampleDataTypes, EchoBaseFunctions.SAMPLE_DATA_TYPE_RAPTRI_CODE); - model.addDefaultColumn("ScaleCode",BiometryScale.PROPERTY_CODE, int.class); - model.newMandatoryColumn("ScaleMeaningEng",BiometryScale.PROPERTY_MEANING_EN); - model.newMandatoryColumn("ScaleMeaningFr",BiometryScale.PROPERTY_MEANING_FR); - return model; - } -} \ No newline at end of file Added: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoader.java (rev 0) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -0,0 +1,102 @@ +/* + * #%L + * EchoBase :: Tools + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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.tools.loaders; + +import com.google.common.collect.Lists; +import com.healthmarketscience.jackcess.Database; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.LengthAgeKey; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.tools.FileType; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.persistence.TopiaDAO; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * {@link LengthAgeKey} loader. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class LengthAgeKeyLoader extends EntityLoader<LengthAgeKey> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(LengthAgeKeyLoader.class); + + public LengthAgeKeyLoader() { + super(LengthAgeKey.class, EchoBaseEntityEnum.Voyage, + Voyage.PROPERTY_LENGTH_AGE_KEY, + FileType.BARACOUDA); + } + + @Override + protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + + Map<String, Voyage> voyagesByName = getUniverse( + Voyage.class, EchoBaseFunctions.VOYAGE_NAME); + + Map<String, Species> speciesByName = getUniverse( + Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE); + + TopiaDAO<LengthAgeKey> dao = getDAO(); + + List<LengthAgeKey> lengthAgeKeys = Lists.newArrayList(); + + for (Map<String, Object> row : db.getTable("CLE_TAILLE_AGE")) { + + String voyageName = (String) row.get("CAMPAGNE"); + Voyage voyage = getFK(voyagesByName, voyageName); + + String speciesCode = (String) row.get("GENRE_ESP"); + Species species = getFK(speciesByName, speciesCode); + + Integer age = Integer.valueOf(row.get("AGE").toString()); + Float length = (Float) row.get("TAILLE"); + Float percentAtAge = (Float) row.get("POURCENTAGE"); + String metadata = (String) row.get("Origine_Data"); + + LengthAgeKey lengthAgeKey = dao.create( + LengthAgeKey.PROPERTY_SPECIES, species, + LengthAgeKey.PROPERTY_LENGTH, length, + LengthAgeKey.PROPERTY_AGE, age, + LengthAgeKey.PROPERTY_PERCENT_AT_AGE, percentAtAge, + LengthAgeKey.PROPERTY_METADATA, metadata + ); + lengthAgeKeys.add(lengthAgeKey); + voyage.addLengthAgeKey(lengthAgeKey); + } + if (log.isInfoEnabled()) { + log.info("Found " + lengthAgeKeys.size() + " lengthAgeKey(s)."); + } + } + +} \ No newline at end of file Property changes on: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoader.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoader.java (rev 0) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -0,0 +1,130 @@ +/* + * #%L + * EchoBase :: Tools + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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.tools.loaders; + +import com.google.common.collect.Lists; +import com.healthmarketscience.jackcess.Database; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.LengthWeightKey; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.tools.FileType; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.persistence.TopiaDAO; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * {@link LengthWeightKey} loader. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class LengthWeightKeyLoader extends EntityLoader<LengthWeightKey> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(LengthWeightKeyLoader.class); + + public LengthWeightKeyLoader() { + super(LengthWeightKey.class, EchoBaseEntityEnum.Voyage, + Voyage.PROPERTY_LENGTH_WEIGHT_KEY, + FileType.BARACOUDA); + } + + @Override + protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + + Map<String, Voyage> voyagesByName = getUniverse( + Voyage.class, EchoBaseFunctions.VOYAGE_NAME); + + Map<String, Species> speciesByName = getUniverse( + Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE); + + Map<String, SizeCategory> sizeCategoryByName = getUniverse( + SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME); + + Map<String, SpeciesCategory> speciesCategoryBySizeAndName = getUniverse( + SpeciesCategory.class, EchoBaseFunctions.SPECIES_CATEGORY_SPIECIES); + + TopiaDAO<LengthWeightKey> dao = getDAO(); + + List<LengthWeightKey> lengthWeightKeys = Lists.newArrayList(); + + for (Map<String, Object> row : db.getTable("TAILLE_POIDS")) { + + String voyageName = (String) row.get("Campagne"); + Voyage voyage = getFK(voyagesByName, voyageName); + + String speciesCode = (String) row.get("Genre_esp"); + Species species = getFK(speciesByName, speciesCode); + + String sizeCode = (String) row.get("Categorie"); + if ("NA".equals(sizeCode) || "H".equals(sizeCode)) { + sizeCode = "0"; + } + + SizeCategory sizeCategory = getFK(sizeCategoryByName, sizeCode); + SpeciesCategory speciesCategory = getSpeciesCategory( + species, + sizeCategory, + speciesCategoryBySizeAndName); + + Float aParameter = (Float) row.get("Coeff_A_RTP"); + Float bParameter = (Float) row.get("Exposant_N_RTP"); + String metadata = (String) row.get("Origine_DATA"); + + LengthWeightKey lengthWeightKey = dao.create( + LengthWeightKey.PROPERTY_SPECIES_CATEGORY, speciesCategory, + LengthWeightKey.PROPERTY_APARAMETER, aParameter, + LengthWeightKey.PROPERTY_BPARAMETER, bParameter, + LengthWeightKey.PROPERTY_METADATA, metadata + ); + voyage.addLengthWeightKey(lengthWeightKey); + lengthWeightKeys.add(lengthWeightKey); + } + if (log.isInfoEnabled()) { + log.info("Found " + lengthWeightKeys.size() + " lengthWeightKey(s)."); + } + } + + protected SpeciesCategory getSpeciesCategory(Species species, + SizeCategory sizeCategory, + Map<String, SpeciesCategory> speciesCategoryByName) throws TopiaException { + + String speciesCategoryKey = EchoBaseFunctions.getSpeciesCategoryKey(species, sizeCategory, null); + + // get species category to use + SpeciesCategory speciesCategory = getFK(speciesCategoryByName, speciesCategoryKey); + return speciesCategory; + } + +} \ No newline at end of file Property changes on: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoader.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -299,17 +299,9 @@ Float midHauleLatitude = (Float) row.get("LATDD"); Preconditions.checkNotNull(midHauleLatitude); -// if (midHauleLatitude == null) { -// messages.add("No midHauleLatitude"); -// midHauleLatitude = 0f; -// } Float midHauleLongitude = (Float) row.get("LGDD"); Preconditions.checkNotNull(midHauleLongitude); -// if (midHauleLongitude== null) { -// messages.add("No midHauleLongitude"); -// midHauleLongitude = 0f; -// } Date shootingStartTime = (Date) row.get("DHTUDEB"); Date shootingEndTime = (Date) row.get("DHTUFIN"); Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -24,6 +24,7 @@ package fr.ifremer.echobase.tools.loaders; import com.google.common.base.Preconditions; +import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.common.collect.Sets; @@ -38,16 +39,22 @@ import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SampleTypeDAO; +import fr.ifremer.echobase.entities.references.SexCategory; +import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.util.StringUtil; import java.io.File; import java.io.IOException; import java.util.Collection; +import java.util.List; import java.util.Map; import java.util.Set; @@ -103,7 +110,15 @@ copyAndLoadEntities(outputDir, meta.getAssociations(Sample.PROPERTY_SAMPLE_DATA), false, FileType.ASSOCIATION); } + protected SampleDataDAO sampleDataDAO; + protected SpeciesCategoryDAO speciesCategoryDAO; + protected TopiaDAO<Sample> dao; + + protected Map<String, SizeCategory> sizeCategoryByName; + protected Map<String, SexCategory> sexCategoryByName; + protected Map<String, SpeciesCategory> speciesCategoryByName; + @Override protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { @@ -116,6 +131,15 @@ Map<String, SampleDataType> sampleDataTypeByRaptriCode = getUniverse( SampleDataType.class, EchoBaseFunctions.SAMPLE_DATA_TYPE_RAPTRI_CODE); + sizeCategoryByName = getUniverse( + SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME); + + sexCategoryByName = getUniverse( + SexCategory.class, EchoBaseFunctions.SEX_CATEGORY_NAME); + + speciesCategoryByName = getUniverse( + SpeciesCategory.class, EchoBaseFunctions.SPECIES_CATEGORY_SPIECIES); + Multimap<String, Map<String, Object>> mensurationByNosta = Multimaps.index( db.getTable("MENSURATIONS", true), EchoBaseFunctions.newRowFunction("NOSTA") @@ -147,37 +171,36 @@ SampleType sampleTypeIndividual = sampleTypeDAO.findByName("Individual"); Preconditions.checkNotNull(sampleTypeIndividual); -// SampleDataTypeDAO sampleDataTypeDAO = -// (SampleDataTypeDAO) getDAO(SampleDataType.class); + sampleDataDAO = (SampleDataDAO) getDAO(SampleData.class); - SampleDataDAO sampleDataDAO = (SampleDataDAO) getDAO(SampleData.class); - -// SampleDataType sampleDataTypeMeanLength = sampleDataTypeDAO.findByName("MeanLengthcm"); + //MeanLengthcm SampleDataType sampleDataTypeMeanLength = getFK(sampleDataTypeByRaptriCode, "114"); -// SampleDataType sampleDataTypeMeanWeight = sampleDataTypeDAO.findByName("MeanWeightg"); + //MeanWeightg SampleDataType sampleDataTypeMeanWeight = getFK(sampleDataTypeByRaptriCode, "115"); - -// SampleDataType sampleDataTypeNoPerKg = sampleDataTypeDAO.findByName("NoPerKg"); + //NoPerKg SampleDataType sampleDataTypeNoPerKg = getFK(sampleDataTypeByRaptriCode, "116"); -// SampleDataType sampleDataTypeNumberAtLength = sampleDataTypeDAO.findByName("NumberAtLength"); + //NumberAtLength SampleDataType sampleDataTypeNumberAtLength = getFK(sampleDataTypeByRaptriCode, "112"); -// SampleDataType sampleDataTypeWeightAtLength = sampleDataTypeDAO.findByName("WeightAtLengthkg"); + //WeightAtLengthkg SampleDataType sampleDataTypeWeightAtLength = getFK(sampleDataTypeByRaptriCode, "113"); - TopiaDAO<Sample> dao = getDAO(); - + dao = getDAO(); + speciesCategoryDAO = (SpeciesCategoryDAO) getDAO(SpeciesCategory.class); int nbSampleUnsorted = 0; int nbSampleTotal = 0; int nbSubSample = 0; int nbIndividualSample = 0; + List<String> operationNotFound = Lists.newArrayList(); + List<String> ntotNull = Lists.newArrayList(); + List<String> pmensNull = Lists.newArrayList(); + List<String> valeurBiometryNull = Lists.newArrayList(); + for (String operationId : capturesByNosta.keySet()) { Preconditions.checkNotNull(operationId); Operation operation = operationById.get(operationId); if (operation == null) { - if (log.isWarnEnabled()) { - log.warn("Operation " + operationId + " not found..."); - } + operationNotFound.add(operationId); continue; } Collection<Map<String, Object>> biometryValues = @@ -187,33 +210,53 @@ biometryValues, EchoBaseFunctions.newRowFunction("GENRE_ESP_VALEUR_BIOMETRIE") ); + + SpeciesCategory speciesCategory; + SpeciesCategory speciesCategoryForSpecies; + for (Map<String, Object> row : capturesByNosta.get(operationId)) { String type = (String) row.get("CATEG"); SampleType sampleType; + String speciesId = (String) row.get("GENRE_ESP"); + Species species = getFK(speciesByName, speciesId); + if ("H".equals(type)) { + + speciesCategory = getSpeciesCategory(species, "0", null); + speciesCategoryForSpecies = getSpeciesCategory(species, null, null); sampleType = sampleTypeUnsorted; nbSampleUnsorted++; } else { sampleType = sampleTypeTotal; + + if ("F".equals(type) || "M".equals(type)) { + + speciesCategory = getSpeciesCategory( + species, + null, + type); + } else { + + speciesCategory = getSpeciesCategory( + species, + type, + null); + } + + speciesCategoryForSpecies = getSpeciesCategory(species, null, null); nbSampleTotal++; } - String speciesId = (String) row.get("GENRE_ESP"); - Species species = getFK(speciesByName, speciesId); - Integer number = (Integer) row.get("NTOT"); if (number == null) { - if (log.isWarnEnabled()) { - log.warn("NTOT is null for operation " + operationId + "/" + speciesId); - } - number = 0; + ntotNull.add(operationId + "/" + speciesId); } Float weight = (Float) row.get("PT_ESP"); Sample sample = dao.create( - Sample.PROPERTY_SPECIES, species, + Sample.PROPERTY_SPECIES_CATEGORY, speciesCategory, Sample.PROPERTY_SAMPLE_TYPE, sampleType, Sample.PROPERTY_NUMBER_SAMPLED, number, Sample.PROPERTY_SAMPLE_WEIGHT, weight @@ -221,20 +264,17 @@ operation.addSample(sample); - addSampleData(sampleDataDAO, - sample, + addSampleData(sample, sampleDataTypeMeanWeight, "NA", row.get("PMOY")); - addSampleData(sampleDataDAO, - sample, + addSampleData(sample, sampleDataTypeMeanLength, "NA", row.get("LMOY")); - addSampleData(sampleDataDAO, - sample, + addSampleData(sample, sampleDataTypeNoPerKg, "NA", row.get("MOULE_MENS")); @@ -244,20 +284,15 @@ Float sampleWeight = (Float) row.get("PESP_MENS"); if (sampleWeight == null) { - if (log.isWarnEnabled()) { - log.warn("PESP_MENS is null for operation " + operationId + "/" + speciesId); - } - sampleWeight = 0f; + pmensNull.add(operationId + "/" + speciesId); } - addSubSamples(dao, - sampleDataDAO, + addSubSamples(speciesCategory, sampleTypeSubsample, sampleDataTypeNumberAtLength, sampleDataTypeWeightAtLength, operation, type, - species, sampleWeight, mensurationRows); @@ -267,19 +302,39 @@ Collection<Map<String, Object>> biometryValuesRows = biometryValuesBySpecies.get(speciesId); - int nbSampleIndiv = addSampleIndividuals(dao, - sampleDataDAO, - operation, - species, + int nbSampleIndiv = addSampleIndividuals(operation, + speciesCategoryForSpecies, sampleTypeIndividual, sampleDataTypeByRaptriCode, biometryScalesByRaptri, - biometryValuesRows); + biometryValuesRows, + valeurBiometryNull); nbIndividualSample += nbSampleIndiv; } } + if (!operationNotFound.isEmpty()) { + if (log.isWarnEnabled()) { + log.warn("operation not found : \n" + StringUtil.join(operationNotFound, "\n", false)); + } + } + + if (!ntotNull.isEmpty()) { + if (log.isWarnEnabled()) { + log.warn("NTOT is null for operation :\n" + StringUtil.join(ntotNull, "\n", false)); + } + } + if (!pmensNull.isEmpty()) { + if (log.isWarnEnabled()) { + log.warn("PESP_MENS is null for operation\n" + StringUtil.join(pmensNull, "\n", false)); + } + } + if (!valeurBiometryNull.isEmpty()) { + if (log.isWarnEnabled()) { + log.warn("Null value of VALEUR_BIOMETRIE for operationId/Species/Individu/Code param\n" + StringUtil.join(valeurBiometryNull, "\n", false)); + } + } if (log.isInfoEnabled()) { log.info("Found " + nbSampleTotal + " 'total' sample(s)."); log.info("Found " + nbSampleUnsorted + " 'unsorted' sample(s)."); @@ -289,29 +344,78 @@ } } - private int addSampleIndividuals(TopiaDAO<Sample> dao, - SampleDataDAO sampleDataDAO, - Operation operation, - Species species, + private void addSubSamples(SpeciesCategory speciesCategory, + SampleType sampleTypeSubsample, + SampleDataType sampleDataTypeNumberAtLength, + SampleDataType sampleDataTypeWeightAtLength, + Operation operation, + String type, + Float sampleWeight, + Collection<Map<String, Object>> mesnurationRows) throws TopiaException { + + String speciesId = speciesCategory.getSpecies().getBaracoudaCode(); + + for (Map<String, Object> row : mesnurationRows) { + String categ = (String) row.get("CATEG"); + if (!type.equals(categ)) { + + // not good category + continue; + } + String rowSpeciesId = (String) row.get("GENRE_ESP"); + if (!speciesId.equals(rowSpeciesId)) { + + // not good species + continue; + } + + // ok found a good row + Sample subsample = dao.create( + Sample.PROPERTY_SPECIES_CATEGORY, speciesCategory, + Sample.PROPERTY_SAMPLE_TYPE, sampleTypeSubsample, + Sample.PROPERTY_SAMPLE_WEIGHT, sampleWeight + ); + + Object lengthClass = row.get("TAILLE"); + + addSampleData(subsample, + sampleDataTypeNumberAtLength, + lengthClass, + row.get("NBIND") + ); + + addSampleData(subsample, + sampleDataTypeWeightAtLength, + lengthClass, + row.get("POIDSTAILLE") + ); + + operation.addSample(subsample); + + } + } + + private int addSampleIndividuals(Operation operation, + SpeciesCategory speciesCategory, SampleType sampleTypeIndividual, Map<String, SampleDataType> sampleDataTypeByRaptriCode, Multimap<Integer, Map<String, Object>> biometryScalesByRaptri, - Collection<Map<String, Object>> biometryValuesRows) throws TopiaException { + Collection<Map<String, Object>> biometryValuesRows, + List<String> valeurBiometryNull) throws TopiaException { int result = 0; Sample sample = null; Set<Integer> individus = Sets.newHashSet(); + String speciesId = speciesCategory.getSpecies().getBaracoudaCode(); for (Map<String, Object> biometryValuesRow : biometryValuesRows) { Integer ind = Integer.valueOf(biometryValuesRow.get("NUMIND_VALEUR_BIOMETRIE").toString()); Integer codeParameter = (Integer) biometryValuesRow.get("CODE_PARAM_VALEUR_BIOMETRIE"); String label = null; Float value = (Float) biometryValuesRow.get("VALEUR_BIOMETRIE"); - if (value==null) { - if (log.isWarnEnabled()) { - log.warn("Null value of VALEUR_BIOMETRIE for operationId/Species/Individu/Code param " + operation.getId() + "/" + species.getBaracoudaCode() + "/" + ind+"/"+codeParameter); - } + if (value == null) { + valeurBiometryNull.add(operation.getId() + "/" + speciesId + "/" + ind + "/" + codeParameter); continue; } - Preconditions.checkNotNull(value, "Null value of VALEUR_BIOMETRIE for operationId/Species/Individu/Code param " + operation.getId() + "/" + species.getBaracoudaCode() + "/" + ind+"/"+codeParameter); + Preconditions.checkNotNull(value, "Null value of VALEUR_BIOMETRIE for operationId/Species/Individu/Code param " + operation.getId() + "/" + speciesId + "/" + ind + "/" + codeParameter); SampleDataType sampleDataType = getFK(sampleDataTypeByRaptriCode, String.valueOf(codeParameter)); boolean add = individus.add(ind); @@ -319,7 +423,7 @@ // new sample sample = dao.create( - Sample.PROPERTY_SPECIES, species, + Sample.PROPERTY_SPECIES_CATEGORY, speciesCategory, Sample.PROPERTY_SAMPLE_TYPE, sampleTypeIndividual ); @@ -348,8 +452,7 @@ } } } - addSampleData(sampleDataDAO, - sample, + addSampleData(sample, sampleDataType, label, value @@ -358,65 +461,7 @@ return result; } - private void addSubSamples(TopiaDAO<Sample> dao, - SampleDataDAO sampleDataDAO, - SampleType sampleTypeSubsample, - SampleDataType sampleDataTypeNumberAtLength, - SampleDataType sampleDataTypeWeightAtLength, - Operation operation, - String type, - Species species, - Float sampleWeight, - Collection<Map<String, Object>> mesnurationRows) throws TopiaException { - - String speciesId = species.getBaracoudaCode(); - - for (Map<String, Object> row : mesnurationRows) { - String categ = (String) row.get("CATEG"); - if (!type.equals(categ)) { - - // not good category - continue; - } - String rowSpeciesId = (String) row.get("GENRE_ESP"); - if (!speciesId.equals(rowSpeciesId)) { - - // not good species - continue; - } - - // ok found a good row - Sample subsample = dao.create( - Sample.PROPERTY_SPECIES, species, - Sample.PROPERTY_SAMPLE_TYPE, sampleTypeSubsample, - Sample.PROPERTY_SAMPLE_WEIGHT, sampleWeight - ); - - Object lengthClass = row.get("TAILLE"); - - addSampleData(sampleDataDAO, - subsample, - sampleDataTypeNumberAtLength, - lengthClass, - row.get("NBIND") - ); - - addSampleData(sampleDataDAO, - subsample, - sampleDataTypeWeightAtLength, - lengthClass, - row.get("POIDSTAILLE") - ); - - - operation.addSample(subsample); - - } - } - - - protected void addSampleData(TopiaDAO<SampleData> dao, - Sample operation, + protected void addSampleData(Sample operation, SampleDataType sampleDataType, Object label, Object value @@ -426,7 +471,7 @@ return; } - SampleData sampleData = dao.create( + SampleData sampleData = sampleDataDAO.create( SampleData.PROPERTY_SAMPLE_DATA_TYPE, sampleDataType, SampleData.PROPERTY_DATA_LABEL, label.toString(), SampleData.PROPERTY_DATA_VALUE, Float.valueOf(value.toString()) @@ -434,5 +479,23 @@ operation.addSampleData(sampleData); } + protected SpeciesCategory getSpeciesCategory(Species species, + String sizeName, + String sexName) throws TopiaException { + SexCategory sexCategory = null; + if (sexName != null) { + sexCategory = getFK(sexCategoryByName, sexName); + } + + SizeCategory sizeCategory = null; + if (sizeName != null) { + sizeCategory = getFK(sizeCategoryByName, sizeName); + } + String speciesCategoryKey = EchoBaseFunctions.getSpeciesCategoryKey(species, sizeCategory, sexCategory); + + // get species category to use + SpeciesCategory speciesCategory = getFK(speciesCategoryByName, speciesCategoryKey); + return speciesCategory; + } } \ No newline at end of file Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoader.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoader.java 2011-12-19 19:16:34 UTC (rev 203) @@ -23,11 +23,24 @@ */ package fr.ifremer.echobase.tools.loaders; -import fr.ifremer.echobase.entities.meta.TableMeta; +import com.google.common.collect.Lists; +import com.healthmarketscience.jackcess.Database; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.references.LengthWeightKey; +import fr.ifremer.echobase.entities.references.SexCategory; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; import fr.ifremer.echobase.tools.FileType; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.TopiaException; +import java.io.IOException; +import java.util.List; +import java.util.Map; + /** * To load {@link SpeciesCategory} entities. * @@ -36,23 +49,148 @@ */ public class SpeciesCategoryLoader extends EntityLoader<SpeciesCategory> { + /** Logger. */ + private static final Log log = + LogFactory.getLog(SpeciesCategoryLoader.class); + public SpeciesCategoryLoader() { - super(SpeciesCategory.class, FileType.NEW); + super(SpeciesCategory.class, FileType.BARACOUDA); } - @Override - protected EntityCsvModel<SpeciesCategory> createCsvImportModel(TableMeta meta) { + protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { - EntityCsvModel<SpeciesCategory> model = EntityCsvModel.newModel( - getCsvSeparator(), - meta + Map<String, Species> speciesByName = getUniverse( + Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE); + + Map<String, SizeCategory> sizeCategoryByName = getUniverse( + SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME); + + Map<String, SexCategory> sexCategoryByName = getUniverse( + SexCategory.class, EchoBaseFunctions.SEX_CATEGORY_NAME); + + SpeciesCategoryDAO speciesCategoryDAO = + (SpeciesCategoryDAO) getDAO(SpeciesCategory.class); + + List<LengthWeightKey> lengthWeightKeys = Lists.newArrayList(); + + for (Map<String, Object> row : db.getTable("TAILLE_POIDS")) { + + String speciesCode = (String) row.get("Genre_esp"); + Species species = getFK(speciesByName, speciesCode); + + String sizeCode = (String) row.get("Categorie"); + if ("NA".equals(sizeCode) || "H".equals(sizeCode)) { + sizeCode = "0"; + } + + SizeCategory sizeCategory = getFK(sizeCategoryByName, sizeCode); + getSpeciesCategory(speciesCategoryDAO, species, sizeCategory); + } + + for (Map<String, Object> row : db.getTable("CAPTURES")) { + + String speciesCode = (String) row.get("GENRE_ESP"); + Species species = getFK(speciesByName, speciesCode); + + String sizeCode = (String) row.get("CATEG"); + if ("H".equals(sizeCode)) { + sizeCode = "0"; + } + + if ("F".equals(sizeCode) || "M".equals(sizeCode)) { + + SexCategory sexCategory = getFK(sexCategoryByName, sizeCode); + getSpeciesCategory(speciesCategoryDAO, species, sexCategory); + + } else { + + SizeCategory sizeCategory = getFK(sizeCategoryByName, sizeCode); + getSpeciesCategory(speciesCategoryDAO, species, sizeCategory); + } + + getSpeciesCategory(speciesCategoryDAO, species); + } + + if (log.isInfoEnabled()) { + log.info("Found " + lengthWeightKeys.size() + " speciesCategories."); + } + } + + protected SpeciesCategory getSpeciesCategory(SpeciesCategoryDAO speciesCategoryDAO, + Species species, + SizeCategory sizeCategory) throws TopiaException { + + // get species category to use + SpeciesCategory speciesCategory = speciesCategoryDAO.findByProperties( + SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory ); - model.newMandatoryColumn(SpeciesCategory.PROPERTY_SPECIES); - model.newMandatoryColumn(SpeciesCategory.PROPERTY_SIZE_CATEGORY); - model.newMandatoryColumn(SpeciesCategory.PROPERTY_AGE_CATEGORY); - model.newMandatoryColumn(SpeciesCategory.PROPERTY_SEX_CATEGORY); - return model; + if (speciesCategory == null) { + + // create it in db + speciesCategory = speciesCategoryDAO.create( + SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory + ); + + if (log.isInfoEnabled()) { + log.info("Create speciesCategory speciesBaracoudaCode/size : " + + species.getBaracoudaCode() + "/" + + (sizeCategory == null ? null : sizeCategory.getName())); + } + } + return speciesCategory; } + protected SpeciesCategory getSpeciesCategory(SpeciesCategoryDAO speciesCategoryDAO, + Species species, + SexCategory sexCategory) throws TopiaException { + + // get species category to use + SpeciesCategory speciesCategory = speciesCategoryDAO.findByProperties( + SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory + ); + if (speciesCategory == null) { + + // create it in db + speciesCategory = speciesCategoryDAO.create( + SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory + ); + + if (log.isInfoEnabled()) { + log.info("Create speciesCategory speciesBaracoudaCode/sex : " + + species.getBaracoudaCode() + "/" + + (sexCategory == null ? null : sexCategory.getName())); + } + } + return speciesCategory; + } + + protected SpeciesCategory getSpeciesCategory(SpeciesCategoryDAO speciesCategoryDAO, + Species species) throws TopiaException { + + // get species category to use + SpeciesCategory speciesCategory = speciesCategoryDAO.findByProperties( + SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_SEX_CATEGORY, null, + SpeciesCategory.PROPERTY_SIZE_CATEGORY, null + ); + + if (speciesCategory == null) { + + // create it in db + speciesCategory = speciesCategoryDAO.create( + SpeciesCategory.PROPERTY_SPECIES, species + ); + + if (log.isInfoEnabled()) { + log.info("Create speciesCategory speciesBaracoudaCode : " + + species.getBaracoudaCode()); + } + } + return speciesCategory; + } } \ No newline at end of file Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -357,7 +357,8 @@ entityLoaders.add(newService(OperationEventLoader.class)); entityLoaders.add(newService(SampleDataTypeLoader.class)); entityLoaders.add(newService(SampleTypeLoader.class)); - entityLoaders.add(newService(BiometryScaleLoader.class)); + entityLoaders.add(newService(LengthAgeKeyLoader.class)); + entityLoaders.add(newService(LengthWeightKeyLoader.class)); entityLoaders.add(newService(SexCategoryLoader.class)); entityLoaders.add(newService(SizeCategoryLoader.class)); entityLoaders.add(newService(OperationMetadataLoader.class)); Deleted: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoaderIT.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/BiometryScaleLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -1,45 +0,0 @@ -/* - * #%L - * EchoBase :: Tools - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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.tools.loaders; - -import fr.ifremer.echobase.entities.references.BiometryScale; -import org.junit.Test; - -/** - * To test the {@link BiometryScaleLoader}. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class BiometryScaleLoaderIT extends AbstractLoaderIT<BiometryScale, BiometryScaleLoader> { - - public BiometryScaleLoaderIT() { - super(BiometryScaleLoader.class, 44, 0); - } - - @Test - public void testGenerateNewEntities() throws Exception { - generateNewEntities(); - } -} Added: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoaderIT.java (rev 0) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -0,0 +1,46 @@ +/* + * #%L + * EchoBase :: Tools + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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.tools.loaders; + +import fr.ifremer.echobase.entities.references.LengthAgeKey; +import org.junit.Test; + +/** + * To test the {@link LengthAgeKeyLoader}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class LengthAgeKeyLoaderIT extends AbstractLoaderIT<LengthAgeKey, LengthAgeKeyLoader> { + + public LengthAgeKeyLoaderIT() { + super(LengthAgeKeyLoader.class, 0, 1637); + } + + @Test + public void testGenerateEntitiesFromBaracouda() throws Exception { + generateBaracoudaEntities(); + } + +} \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthAgeKeyLoaderIT.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoaderIT.java (rev 0) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -0,0 +1,46 @@ +/* + * #%L + * EchoBase :: Tools + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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.tools.loaders; + +import fr.ifremer.echobase.entities.references.LengthWeightKey; +import org.junit.Test; + +/** + * To test the {@link LengthWeightKeyLoader}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class LengthWeightKeyLoaderIT extends AbstractLoaderIT<LengthWeightKey, LengthWeightKeyLoader> { + + public LengthWeightKeyLoaderIT() { + super(LengthWeightKeyLoader.class, 0, 218); + } + + @Test + public void testGenerateEntitiesFromBaracouda() throws Exception { + generateBaracoudaEntities(); + } + +} \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/LengthWeightKeyLoaderIT.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/OperationLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/OperationLoaderIT.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/OperationLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -35,7 +35,7 @@ public class OperationLoaderIT extends AbstractLoaderIT<Operation, OperationLoader> { public OperationLoaderIT() { - super(OperationLoader.class, 0, 1374); + super(OperationLoader.class, 0, 1489); } @Test Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SampleLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SampleLoaderIT.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SampleLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -35,7 +35,7 @@ public class SampleLoaderIT extends AbstractLoaderIT<Sample, SampleLoader> { public SampleLoaderIT() { - super(SampleLoader.class, 0, 324809); + super(SampleLoader.class, 0, 333783); } @Test Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoaderIT.java 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/SpeciesCategoryLoaderIT.java 2011-12-19 19:16:34 UTC (rev 203) @@ -35,12 +35,12 @@ public class SpeciesCategoryLoaderIT extends AbstractLoaderIT<SpeciesCategory, SpeciesCategoryLoader> { public SpeciesCategoryLoaderIT() { - super(SpeciesCategoryLoader.class, 0, 0); + super(SpeciesCategoryLoader.class, 0, 443); } @Test - public void testGenerateNewEntities() throws Exception { - generateNewEntities(); + public void testGenerateEntitiesFromBaracouda() throws Exception { + generateBaracoudaEntities(); } } \ No newline at end of file Deleted: trunk/echobase-tools/src/test/resources/csv/new/input-BiometryScale.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-BiometryScale.csv 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/resources/csv/new/input-BiometryScale.csv 2011-12-19 19:16:34 UTC (rev 203) @@ -1,45 +0,0 @@ -raptriBiometryDataType;ScaleCode;ScaleMeaningEng;ScaleMeaningFr -3;0;Undetermined;indeterminé -3;1;Male;male -3;2;Female;femelle -3;3;NA (IEO- Pelacus1007);Non renseigné (IEO- Pelacus1007) -4;1;Immature/virgin;Immature/virgin -4;2;Developing;Developing -4;3;Prespawning;Prespawning -4;4;Spawning;Spawning -4;5;Spent;Spent -4;6;Resting;Resting -7;0;Easily readable;facile à lire -7;1;Hardly readable;difficile à lire -7;2;Unreadable;illisible -7;3;Estimated (ex. juvenile otoliths);Estimée (ex. Otolimetrie juvenile) -8;-1;To be checked by PG;à faire préciser par PG -8;1;"opaque (""H"")";"opaque (""H"")" -8;2;"hyalin (""O"")";"hyalin (""O"")" -8;3;opaque/hyalin;opaque/hyalin -23;1;No fat;No fat -23;2;Low fat;Low fat -23;3;Fat;Fat -23;4;High fat;High fat -24;0;no anisakis;zéro anisakis -24;1;1-10 anisakis;1 à 10 anisakis -24;2;10-20 anisakis;10 à 20 anisakis -24;3;>20 anisakis;> 20 anisakis -25;0;; -25;1;IFREMER - NANTES (PG);IFREMER - NANTES (PG) -25;2;IFREMER - LORIENT (ED);IFREMER - LORIENT (ED) -25;3;AZTI + (PP);AZTI + (PP) -25;4;AZTI (lecture AGE) + IFREMER Nantes (PG) (mesure rayon);AZTI (lecture AGE) + IFREMER Nantes (PG) (mesure rayon) -25;5;EPHE - PERPIGNAN (PL);EPHE - PERPIGNAN (PL) -25;6;IFREMER - IEO (double lecture à bord : Patrick-Carla);IFREMER - IEO (double lecture à bord : Patrick-Carla) -25;7;biometrie et otolithe IFREMER-NANTES (PG) - génétique : EPHE;biometrie et otolithe IFREMER-NANTES (PG) - génétique : EPHE -26;0;clé Taille/Age : NON Valide;clé Taille/Age : NON Valide -26;1;clé Taille/Age : VALIDE;clé Taille/Age : VALIDE -45;0;NA;NA -45;1;Blanc ?;Blanc ? -45;2;?;? -45;3;Complète;Complète -45;4;partielle;partielle -49;0;NA;NA -49;1;DROIT;DROIT -49;2;GAUCHE;GAUCHE \ No newline at end of file Modified: trunk/echobase-tools/src/test/resources/csv/new/input-SexCategory.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-SexCategory.csv 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/resources/csv/new/input-SexCategory.csv 2011-12-19 19:16:34 UTC (rev 203) @@ -1,5 +1,5 @@ CategoryID;CategoryName -0;All -G;Large -P;Small -TP;Very small +N;Not determined +F;Female +M;Male +I;Immature \ No newline at end of file Modified: trunk/echobase-tools/src/test/resources/csv/new/input-SizeCategory.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-SizeCategory.csv 2011-12-19 19:16:01 UTC (rev 202) +++ trunk/echobase-tools/src/test/resources/csv/new/input-SizeCategory.csv 2011-12-19 19:16:34 UTC (rev 203) @@ -1,5 +1,5 @@ CategoryID;CategoryName -N;Not determined -F;Female +0;All G;Large -I;Immature \ No newline at end of file +P;Small +TP;Very small \ No newline at end of file
participants (1)
-
tchemit@users.forge.codelutin.com