Author: tchemit Date: 2012-03-01 23:40:15 +0100 (Thu, 01 Mar 2012) New Revision: 331 Url: http://forge.codelutin.com/repositories/revision/echobase/331 Log: updates referentiels + use no more baracouda for referentiel Added: trunk/echobase-tools/src/test/resources/csv/new/input-AcousticInstrument.csv trunk/echobase-tools/src/test/resources/csv/new/input-AreaOfOperation.csv trunk/echobase-tools/src/test/resources/csv/new/input-DepthStratum.csv trunk/echobase-tools/src/test/resources/csv/new/input-EchotypeCategory.csv trunk/echobase-tools/src/test/resources/csv/new/input-Mission.csv trunk/echobase-tools/src/test/resources/csv/new/input-Vessel.csv Removed: trunk/echobase-tools/src/test/resources/echobase-test.properties Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellTypeLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/GearLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/MissionLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/StrataLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselLoaderIT.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoaderIT.java trunk/echobase-tools/src/test/resources/csv/new/input-CellType.csv trunk/echobase-tools/src/test/resources/csv/new/input-Gear.csv trunk/echobase-tools/src/test/resources/csv/new/input-ReferenceDatum.csv trunk/echobase-tools/src/test/resources/csv/new/input-Strata.csv trunk/echobase-tools/src/test/resources/csv/new/input-VesselType.csv Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-03-01 22:40:15 UTC (rev 331) @@ -32,6 +32,8 @@ import com.healthmarketscience.jackcess.Table; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseIOUtil; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.EntitiesUtil; import fr.ifremer.echobase.services.csv.CsvModelUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -117,31 +119,66 @@ } } - public void createEchoBaseDb(File sourceDir, - File outputDir, - File zipFile) throws IOException, TopiaException { + public void createEchoBaseLegacyDataDb(File sourceDir, + File outputDir, + File zipFile) throws IOException, TopiaException { File newDir = new File(sourceDir, FileType.NEW.name().toLowerCase()); File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase()); File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase()); - FileFilter filter = new FileFilter() { - @Override - public boolean accept(File pathname) { - return pathname.isFile() && pathname.getName().endsWith(".csv"); + FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getDataTypes()); + FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getDataTypes()); + + FileUtil.createDirectoryIfNecessary(outputDir); + + Multimap<String, File> filesToTreate = ArrayListMultimap.create(); + for (File file : newDir.listFiles(entityFile)) { + filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); + } + for (File file : baracoudaDir.listFiles(entityFile)) { + filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); + } + for (File file : associationDir.listFiles(associationFileFilter)) { + filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); + } + + for (String filename : filesToTreate.keySet()) { + File destination = new File(outputDir, filename); + if (log.isInfoEnabled()) { + log.info("Generate to " + destination.getName()); } - }; + EchoBaseIOUtil.copyFile(destination, filesToTreate.get(filename)); + } + if (log.isInfoEnabled()) { + log.info("Create distribution to " + zipFile); + } + + EchoBaseIOUtil.compressZipFile(zipFile, outputDir, false); + } + + public void createEchoBaseReferentielDb(File sourceDir, + File outputDir, + File zipFile) throws IOException, TopiaException { + + File newDir = new File(sourceDir, FileType.NEW.name().toLowerCase()); + File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase()); + File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase()); + + FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getReferenceTypes()); + FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getReferenceTypes()); + FileUtil.createDirectoryIfNecessary(outputDir); Multimap<String, File> filesToTreate = ArrayListMultimap.create(); - for (File file : newDir.listFiles(filter)) { + for (File file : newDir.listFiles(entityFile)) { filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); } - for (File file : baracoudaDir.listFiles(filter)) { + for (File file : baracoudaDir.listFiles(entityFile)) { filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); } - for (File file : associationDir.listFiles(filter)) { + for (File file : associationDir.listFiles(associationFileFilter)) { filesToTreate.put(EchoBaseFunctions.FILE_NAME.apply(file), file); } @@ -185,4 +222,58 @@ } } } + + private static class EntityFileFilter implements FileFilter { + final EchoBaseEntityEnum[] allowedTypes; + + private EntityFileFilter(EchoBaseEntityEnum[] allowedTypes) { + this.allowedTypes = allowedTypes; + } + + @Override + public boolean accept(File pathname) { + String name = pathname.getName(); + boolean result = pathname.isFile() && name.endsWith(".csv"); + + if (result) { + + result = false; + + for (EchoBaseEntityEnum allowedType : allowedTypes) { + if (name.startsWith(allowedType + ".")) { + result = true; + break; + } + } + } + return result; + } + } + + private static class AssociationFileFilter implements FileFilter { + final EchoBaseEntityEnum[] allowedTypes; + + private AssociationFileFilter(EchoBaseEntityEnum[] allowedTypes) { + this.allowedTypes = allowedTypes; + } + + @Override + public boolean accept(File pathname) { + String name = pathname.getName(); + boolean result = pathname.isFile() && name.endsWith(".csv"); + + if (result) { + + result = false; + + for (EchoBaseEntityEnum allowedType : allowedTypes) { + if (name.startsWith(allowedType + "_")) { + result = true; + break; + } + } + } + return result; + } + } } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,20 +23,12 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Lists; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.AcousticInstrument; +import fr.ifremer.echobase.services.csv.CsvModelUtil; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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 AcousticInstrument} loader. * @@ -45,35 +37,34 @@ */ public class AcousticInstrumentLoader extends EntityLoader<AcousticInstrument> { - /** Logger. */ - private static final Log log = - LogFactory.getLog(AcousticInstrumentLoader.class); - public AcousticInstrumentLoader() { - super(AcousticInstrument.class, FileType.BARACOUDA); + super(AcousticInstrument.class, FileType.NEW); } @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<AcousticInstrument> createCsvImportModel(TableMeta meta) { - TopiaDAO<AcousticInstrument> dao = getDAO(); - - List<AcousticInstrument> entities = Lists.newArrayList(); - Table table = db.getTable("EI_SONDEUR"); - for (Map<String, Object> row : table) { - String acousticInstrumentId = row.get("ID_REFSONDEUR").toString(); - String transceiverModel = (String) row.get("SONDEUR"); - Float frequency = (Float) row.get("FREQUENCE"); - AcousticInstrument entity = dao.create( - AcousticInstrument.PROPERTY_ID, acousticInstrumentId, - AcousticInstrument.PROPERTY_TRANSCEIVER_MODEL, transceiverModel, - AcousticInstrument.PROPERTY_FREQUENCY, frequency - ); - entities.add(entity); - } - if (log.isInfoEnabled()) { - log.info("Found " + entities.size() + " acousticInstrument(s)."); - } + EntityCsvModel<AcousticInstrument> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_FREQUENCY); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_ID); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_APERTURE); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_BEAMS); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_FIRMWARE); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_MANUFACTURER); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_MODEL); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_SERIAL); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_APERTURE); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_BEAMS); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_DEPTH, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_LOCATION); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_MODEL); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_AZIMUTH, CsvModelUtil.NA_TO_FLOAT_PARSER); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_ELEVATION, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_SERIAL); + return model; } } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,20 +23,11 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Sets; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.AreaOfOperation; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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.Map; -import java.util.Set; - /** * {@link AreaOfOperation} loader. * @@ -45,35 +36,18 @@ */ public class AreaOfOperationLoader extends EntityLoader<AreaOfOperation> { - /** Logger. */ - private static final Log log = - LogFactory.getLog(AreaOfOperationLoader.class); - public AreaOfOperationLoader() { - super(AreaOfOperation.class, FileType.BARACOUDA); + super(AreaOfOperation.class, FileType.NEW); } - @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<AreaOfOperation> createCsvImportModel(TableMeta meta) { - Set<String> codeZones = Sets.newHashSet(); - Table table = db.getTable("ZONE"); - for (Map<String, Object> row : table) { - codeZones.add((String) row.get("CODE_ZONE")); - } - if (log.isInfoEnabled()) { - log.info("Found " + codeZones.size() + " areaOfOperation(s)."); - } - - TopiaDAO<AreaOfOperation> dao = getDAO(); - for (String codeZone : codeZones) { - AreaOfOperation areaOfOperation = - dao.create(AreaOfOperation.PROPERTY_NAME, codeZone); - if (log.isInfoEnabled()) { - log.info("Created areaOfOperation : " + - areaOfOperation.getName()); - } - } + EntityCsvModel<AreaOfOperation> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); + model.newMandatoryColumn(AreaOfOperation.PROPERTY_NAME); + return model; } } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,20 +23,11 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Lists; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.DepthStratum; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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 DepthStratum} loader. * @@ -45,34 +36,20 @@ */ public class DepthStratumLoader extends EntityLoader<DepthStratum> { - /** Logger. */ - private static final Log log = - LogFactory.getLog(DepthStratumLoader.class); - public DepthStratumLoader() { - super(DepthStratum.class, FileType.BARACOUDA); + super(DepthStratum.class, FileType.BARACOUDA, FileType.NEW); } @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<DepthStratum> createCsvImportModel(TableMeta meta) { - TopiaDAO<DepthStratum> dao = getDAO(); - - List<DepthStratum> entities = Lists.newArrayList(); - Table table = db.getTable("TYPE_IMAGE"); - for (Map<String, Object> row : table) { - String id = (String) row.get("Type_Image"); - String meaning = (String) row.get("Libelle_image"); - - DepthStratum entity = dao.create( - DepthStratum.PROPERTY_ID, id, - DepthStratum.PROPERTY_MEANING, meaning - ); - entities.add(entity); - } - if (log.isInfoEnabled()) { - log.info("Found " + entities.size() + " depthStratum(s)."); - } + EntityCsvModel<DepthStratum> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); + model.newMandatoryColumn(DepthStratum.PROPERTY_ID); + model.newMandatoryColumn(DepthStratum.PROPERTY_MEANING); + return model; } } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,20 +23,13 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Sets; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.EchotypeCategory; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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.Map; -import java.util.Set; - /** * {@link EchotypeCategory} loader. * @@ -50,33 +43,44 @@ LogFactory.getLog(EchotypeCategoryLoader.class); public EchotypeCategoryLoader() { - super(EchotypeCategory.class, FileType.BARACOUDA); + super(EchotypeCategory.class, FileType.NEW); } - /* - EIT_DESCRIPT_ECHOS : [ID_DESCRIPTION_DEVIATION, IMAGES, LIBELLE_DESCRIPTION_DEVIATION, TYPE_DEVIATION, s_ColLineage, s_GUID, s_Generation, s_Lineage] with 61 entries. - */ @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<EchotypeCategory> createCsvImportModel(TableMeta meta) { - Set<String> codes = Sets.newHashSet(); - Table table = db.getTable("EIT_DESCRIPT_ECHOS"); - for (Map<String, Object> row : table) { - codes.add((String) row.get("TYPE_DEVIATION")); - } - if (log.isInfoEnabled()) { - log.info("Found " + codes.size() + " EchotypeCategory(s)."); - } - - TopiaDAO<EchotypeCategory> dao = getDAO(); - for (String code : codes) { - EchotypeCategory areaOfOperation = - dao.create(EchotypeCategory.PROPERTY_NAME, code); - if (log.isInfoEnabled()) { - log.info("Created EchotypeCategory : " + - areaOfOperation.getName()); - } - } + EntityCsvModel<EchotypeCategory> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); + model.newMandatoryColumn(EchotypeCategory.PROPERTY_NAME); + return model; } +// /* +// EIT_DESCRIPT_ECHOS : [ID_DESCRIPTION_DEVIATION, IMAGES, LIBELLE_DESCRIPTION_DEVIATION, TYPE_DEVIATION, s_ColLineage, s_GUID, s_Generation, s_Lineage] with 61 entries. +// */ +// @Override +// protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { +// +// Set<String> codes = Sets.newHashSet(); +// Table table = db.getTable("EIT_DESCRIPT_ECHOS"); +// for (Map<String, Object> row : table) { +// codes.add((String) row.get("TYPE_DEVIATION")); +// } +// if (log.isInfoEnabled()) { +// log.info("Found " + codes.size() + " EchotypeCategory(s)."); +// } +// +// TopiaDAO<EchotypeCategory> dao = getDAO(); +// for (String code : codes) { +// EchotypeCategory areaOfOperation = +// dao.create(EchotypeCategory.PROPERTY_NAME, code); +// if (log.isInfoEnabled()) { +// log.info("Created EchotypeCategory : " + +// areaOfOperation.getName()); +// } +// } +// } + } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,20 +23,11 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Sets; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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.Map; -import java.util.Set; - /** * {@link Mission} loader. * @@ -45,35 +36,19 @@ */ public class MissionLoader extends EntityLoader<Mission> { - /** Logger. */ - private static final Log log = LogFactory.getLog(MissionLoader.class); - public MissionLoader() { - super(Mission.class, FileType.BARACOUDA); + super(Mission.class, FileType.NEW); } @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<Mission> createCsvImportModel(TableMeta meta) { + EntityCsvModel<Mission> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); - // only keep distinct TYPE_CAMPAGNE - Set<String> typeCampagnes = Sets.newHashSet(); - Table table = db.getTable("CAMPAGNES"); - for (Map<String, Object> row : table) { - typeCampagnes.add((String) row.get("TYPE_CAMPAGNE")); - } - - if (log.isInfoEnabled()) { - log.info("Found " + typeCampagnes.size() + " mission(s)."); - } - - TopiaDAO<Mission> dao = getDAO(); - for (String typeCampagne : typeCampagnes) { - Mission mission = - dao.create(Mission.PROPERTY_NAME, typeCampagne); - if (log.isInfoEnabled()) { - log.info("Created mission : " + mission.getName()); - } - } + model.newMandatoryColumn(Mission.PROPERTY_NAME); + return model; } } Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,23 +23,14 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Lists; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.ReferenceDatum; import fr.ifremer.echobase.entities.references.ReferenceDatumType; import fr.ifremer.echobase.services.csv.EntityCsvModel; 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 ReferenceDatum} loader. @@ -49,39 +40,11 @@ */ public class ReferenceDatumLoader extends EntityLoader<ReferenceDatum> { - /** Logger. */ - private static final Log log = - LogFactory.getLog(ReferenceDatumLoader.class); - public ReferenceDatumLoader() { super(ReferenceDatum.class, FileType.BARACOUDA, FileType.NEW); } @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { - - // require referenceDatumType - - TopiaDAO<ReferenceDatum> dao = getDAO(); - - List<ReferenceDatum> entities = Lists.newArrayList(); - Table table = db.getTable("TYPE_AFFECTATION"); - for (Map<String, Object> row : table) { - String id = (String) row.get("Code_affectation"); - String meaning = (String) row.get("Libelle_affectation"); - - ReferenceDatum entity = dao.create( - ReferenceDatum.PROPERTY_ID, id, - ReferenceDatum.PROPERTY_MEANING, meaning - ); - entities.add(entity); - } - if (log.isInfoEnabled()) { - log.info("Found " + entities.size() + " referenceDatum(s)."); - } - } - - @Override protected EntityCsvModel<ReferenceDatum> createCsvImportModel(TableMeta meta) { EntityCsvModel<ReferenceDatum> model = EntityCsvModel.newModel( getCsvSeparator(), Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -25,6 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Strata; +import fr.ifremer.echobase.services.csv.CsvModelUtil; import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; @@ -49,14 +50,13 @@ getCsvSeparator(), meta ); - model.newMandatoryColumn(Strata.PROPERTY_MAX_LATITUDE); - model.newMandatoryColumn(Strata.PROPERTY_MIN_LATITUDE); - model.newMandatoryColumn(Strata.PROPERTY_MAX_LONGITUDE); - model.newMandatoryColumn(Strata.PROPERTY_MIN_LONGITUDE); + model.newMandatoryColumn(Strata.PROPERTY_NAME); + model.newMandatoryColumn(Strata.PROPERTY_MAX_LATITUDE, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(Strata.PROPERTY_MIN_LATITUDE, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(Strata.PROPERTY_MAX_LONGITUDE, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(Strata.PROPERTY_MIN_LONGITUDE, CsvModelUtil.PRIMITIVE_FLOAT); model.newMandatoryColumn(Strata.PROPERTY_DEPTH_STRATUM); model.newMandatoryColumn(Strata.PROPERTY_SEAFLOOR_SUBSTRATE); return model; } - - } \ No newline at end of file Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java 2012-03-01 22:40:15 UTC (rev 331) @@ -23,19 +23,15 @@ */ package fr.ifremer.echobase.tools.loaders; -import com.google.common.collect.Sets; -import com.healthmarketscience.jackcess.Database; -import com.healthmarketscience.jackcess.Table; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.entities.references.VesselType; +import fr.ifremer.echobase.services.csv.CsvModelUtil; +import fr.ifremer.echobase.services.csv.EntityCsvModel; 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.Map; -import java.util.Set; +import java.util.List; /** * {@link Vessel} loader. @@ -45,35 +41,34 @@ */ public class VesselLoader extends EntityLoader<Vessel> { - /** Logger. */ - private static final Log log = LogFactory.getLog(VesselLoader.class); - public VesselLoader() { - super(Vessel.class, FileType.BARACOUDA); + super(Vessel.class, FileType.NEW); } @Override - protected void importBaracoudaEntities(Database db) throws IOException, TopiaException { + protected EntityCsvModel<Vessel> createCsvImportModel(TableMeta meta) { - // only keep distinct NAVIRE - Set<String> names = Sets.newHashSet(); - Table table = db.getTable("CAMPAGNES"); - for (Map<String, Object> row : table) { - names.add((String) row.get("NAVIRE")); - } + List<VesselType> vesselTypesByName = getEntities( + VesselType.class); - if (log.isInfoEnabled()) { - log.info("Found " + names.size() + " vessel(s)."); - } + EntityCsvModel<Vessel> model = EntityCsvModel.newModel( + getCsvSeparator(), + meta + ); + model.newMandatoryColumn(Vessel.PROPERTY_ACKNOWLEDGEMENT); + model.newMandatoryColumn(Vessel.PROPERTY_ALT_CALLSIGN); + model.newMandatoryColumn(Vessel.PROPERTY_CALLSIGN); + model.newMandatoryColumn(Vessel.PROPERTY_CODE); + model.newMandatoryColumn(Vessel.PROPERTY_ENGINE_POWER, CsvModelUtil.PRIMITIVE_INTEGER); + model.newMandatoryColumn(Vessel.PROPERTY_IMO, CsvModelUtil.PRIMITIVE_INTEGER); + model.newMandatoryColumn(Vessel.PROPERTY_LENGTH, CsvModelUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(Vessel.PROPERTY_NAME); + model.newMandatoryColumn(Vessel.PROPERTY_NOISE_DESIGN); + model.newMandatoryColumn(Vessel.PROPERTY_OPERATOR); + model.newMandatoryColumn(Vessel.PROPERTY_TONNAGE, CsvModelUtil.PRIMITIVE_FLOAT); + model.addForeignKeyForImport(Vessel.PROPERTY_VESSEL_TYPE, Vessel.PROPERTY_VESSEL_TYPE, VesselType.class, vesselTypesByName, EchoBaseFunctions.VESSEL_TYPE_NAME); - TopiaDAO<Vessel> dao = getDAO(); - for (String name : names) { - Vessel vessel = dao.create(Vessel.PROPERTY_NAME, name); - if (log.isInfoEnabled()) { - log.info("Created vessel : " + vessel.getName()); - } - } + return model; } - } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-03-01 22:40:15 UTC (rev 331) @@ -100,7 +100,7 @@ serviceContext = DefaultEchoBaseServiceContext.newContext( Locale.getDefault(), - topiaContext, + topiaContext.beginTransaction(), configuration, DbMeta.newDbMeta(), new EchoBaseServiceFactory() Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -28,6 +28,8 @@ import org.nuiton.util.FileUtil; import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; /** * To test {@link EchoBaseDbCreator}. @@ -39,8 +41,10 @@ protected File exportdir; + static final String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date()); + @Test - public void createEchoBaseDb() throws Exception { + public void createEchoBaseLegacyDataDb() throws Exception { exportdir = new File(testdir, "export"); @@ -52,15 +56,38 @@ File dir = new File(exportdir, "echobase"); - File distributionFile = new File(exportdir, "echobase.zip"); + File distributionFile = new File(exportdir, "echobase-legacyDatas-" + date + ".zip"); Assert.assertFalse(distributionFile.exists()); File sourceDir = TestHelper.getCsvResourceDirectory(); - new EchoBaseDbCreator().createEchoBaseDb(sourceDir, dir, distributionFile); + new EchoBaseDbCreator().createEchoBaseLegacyDataDb(sourceDir, dir, distributionFile); Assert.assertTrue(distributionFile.exists()); } + @Test + public void createEchoBaseReferentielDb() throws Exception { + exportdir = new File(testdir, "export"); + + // exportdir should not exist + Assert.assertFalse(exportdir.exists()); + + // creates it + FileUtil.createDirectoryIfNecessary(exportdir); + + File dir = new File(exportdir, "echobase"); + + File distributionFile = new File(exportdir, "echobase-referentiel-" + date + ".zip"); + Assert.assertFalse(distributionFile.exists()); + + File sourceDir = TestHelper.getCsvResourceDirectory(); + + new EchoBaseDbCreator().createEchoBaseReferentielDb(sourceDir, dir, distributionFile); + + Assert.assertTrue(distributionFile.exists()); + } + + } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,12 +35,12 @@ public class AcousticInstrumentLoaderIT extends AbstractLoaderIT<AcousticInstrument, AcousticInstrumentLoader> { public AcousticInstrumentLoaderIT() { - super(AcousticInstrumentLoader.class, 0, 20); + super(AcousticInstrumentLoader.class, 47, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,12 +35,12 @@ public class AreaOfOperationLoaderIT extends AbstractLoaderIT<AreaOfOperation, AreaOfOperationLoader> { public AreaOfOperationLoaderIT() { - super(AreaOfOperationLoader.class, 0, 5); + super(AreaOfOperationLoader.class, 5, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellTypeLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellTypeLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellTypeLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,7 +35,7 @@ public class CellTypeLoaderIT extends AbstractLoaderIT<CellType, CellTypeLoader> { public CellTypeLoaderIT() { - super(CellTypeLoader.class, 6, 0); + super(CellTypeLoader.class, 7, 0); } @Test Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,12 +35,12 @@ public class DepthStratumLoaderIT extends AbstractLoaderIT<DepthStratum, DepthStratumLoader> { public DepthStratumLoaderIT() { - super(DepthStratumLoader.class, 0, 5); + super(DepthStratumLoader.class, 6, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,12 +35,12 @@ public class EchotypeCategoryLoaderIT extends AbstractLoaderIT<EchotypeCategory, EchotypeCategoryLoader> { public EchotypeCategoryLoaderIT() { - super(EchotypeCategoryLoader.class, 0, 3); + super(EchotypeCategoryLoader.class, 3, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/GearLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/GearLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/GearLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,7 +35,7 @@ public class GearLoaderIT extends AbstractLoaderIT<Gear, GearLoader> { public GearLoaderIT() { - super(GearLoader.class, 113, 0); + super(GearLoader.class, 105, 0); } @Test Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/MissionLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/MissionLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/MissionLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,11 +35,11 @@ public class MissionLoaderIT extends AbstractLoaderIT<Mission, MissionLoader> { public MissionLoaderIT() { - super(MissionLoader.class, 0, 14); + super(MissionLoader.class, 15, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,17 +35,11 @@ public class ReferenceDatumLoaderIT extends AbstractLoaderIT<ReferenceDatum, ReferenceDatumLoader> { public ReferenceDatumLoaderIT() { - super(ReferenceDatumLoader.class, 4, 3); + super(ReferenceDatumLoader.class, 7, 0); } @Test public void testGenerateNewEntities() throws Exception { generateNewEntities(); } - - @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); - } - } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/StrataLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/StrataLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/StrataLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,7 +35,7 @@ public class StrataLoaderIT extends AbstractLoaderIT<Strata, StrataLoader> { public StrataLoaderIT() { - super(StrataLoader.class, 0, 0); + super(StrataLoader.class, 1, 0); } @Test Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,12 +35,12 @@ public class VesselLoaderIT extends AbstractLoaderIT<Vessel, VesselLoader> { public VesselLoaderIT() { - super(VesselLoader.class, 0, 6); + super(VesselLoader.class, 9, 0); } @Test - public void testGenerateEntitiesFromBaracouda() throws Exception { - generateBaracoudaEntities(); + public void testGenerateNewEntities() throws Exception { + generateNewEntities(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoaderIT.java 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoaderIT.java 2012-03-01 22:40:15 UTC (rev 331) @@ -35,7 +35,7 @@ public class VesselTypeLoaderIT extends AbstractLoaderIT<VesselType, VesselTypeLoader> { public VesselTypeLoaderIT() { - super(VesselTypeLoader.class, 0, 0); + super(VesselTypeLoader.class, 7, 0); } @Test Added: trunk/echobase-tools/src/test/resources/csv/new/input-AcousticInstrument.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-AcousticInstrument.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-AcousticInstrument.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,48 @@ +"frequency";"id";"transceiverAperture";"transceiverBeams";"transceiverFirmware";"transceiverManufacturer";"transceiverModel";"transceiverSerial";"transducerAperture";"transducerBeams";"transducerDepth";"transducerLocation";"transducerModel";"transducerElevation";"transducerAzimuth";"transducerSerial" +18000;46;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES18-11";90;"NA"; +38000;47;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES38B";90;"NA"; +70000;48;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES70-7C";90;"NA"; +120000;49;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES120-7";90;"NA"; +200000;50;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES200-7C";90;"NA"; +333000;51;;;;"Simrad";"ER60";;"Split";"Single";6.14;"Hull";"ES333";90;"NA"; +"MBES-00 72 kHz x=0 y=-42";91;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-01 76 kHz x=0 y=-36";92;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-02 81 kHz x=0 y=-30";93;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-03 85 kHz x=0 y=-26";94;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-04 90 kHz x=0 y=-21";95;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-05 94 kHz x=0 y=-17";96;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-06 99 kHz x=0 y=-13";97;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-07 103 kHz x=0 y=-9";98;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-08 108 kHz x=0 y=-6";99;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-09 113 kHz x=0 y=-3";100;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-10 118 kHz x=0 y=0";101;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-11 115 kHz x=0 y=4";102;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-12 110 kHz x=0 y=7";103;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-13 106 kHz x=0 y=10";104;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-14 101 kHz x=0 y=14";105;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-15 97 kHz x=0 y=18";106;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-16 92 kHz x=0 y=22";107;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-17 88 kHz x=0 y=26";108;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-18 83 kHz x=0 y=31";109;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-19 79 kHz x=0 y=36";110;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +"MBES-20 74 kHz x=0 y=42";111;;;;"Simrad";"ME70";;"Split";"Multiple";6.14;"Hull";"ME70";90;"NA"; +38.0;1;;;;;OS1500;;;;0.0;;;0.0;;; +38.0;2;;;;;OS1500;;;;0.0;;;0.0;;; +38.0;4;;;;;EK500;;;;0.0;;;0.0;;; +12.0;7;;;;;OS500;;;;0.0;;;0.0;;; +38.0;8;;;;;OS2500;;;;0.0;;;0.0;;; +38.0;9;;;;;OS2500;;;;0.0;;;0.0;;; +38.0;10;;;;;OS2500;;;;0.0;;;0.0;;; +38.0;11;;;;;OS2500;;;;0.0;;;0.0;;; +38.0;12;;;;;OS1500;;;;0.0;;;0.0;;; +38.0;13;;;;;EK400;;;;0.0;;;0.0;;; +70.0;14;;;;;EK500;;;;0.0;;;0.0;;; +38.0;15;;;;;ER60;;;;0.0;;;0.0;;; +38.0;16;;;;;EK500;;;;0.0;;;0.0;;; +38.0;17;;;;;ER60;;;;0.0;;;0.0;;; +38.0;26;;;;;EK500;;;;0.0;;;0.0;;; +38.0;27;;;;;ER60;;;;0.0;;;0.0;;; +38.0;28;;;;;EK500;;;;0.0;;;0.0;;; +200.0;3;;;;;OS1500;;;;0.0;;;0.0;;; +120.0;5;;;;;EK500;;;;0.0;;;0.0;;; +49.0;6;;;;;OS500;;;;0.0;;;0.0;;; \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-AcousticInstrument.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-tools/src/test/resources/csv/new/input-AreaOfOperation.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-AreaOfOperation.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-AreaOfOperation.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,6 @@ +name +Golfe de Gascogne; +Mediterannée; +Nord Gascogne; +Manche Mer du nord; +Manche & Golfe de Gascogne; \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-AreaOfOperation.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/test/resources/csv/new/input-CellType.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-CellType.csv 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/csv/new/input-CellType.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -5,3 +5,4 @@ Esdu;Elementary Distance Sampling Unit; Elementary;Elementary cell (e.g. echointegration cell); Shoal;Acoustic shoal from shoal extraction; +Map;Map cell Added: trunk/echobase-tools/src/test/resources/csv/new/input-DepthStratum.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-DepthStratum.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-DepthStratum.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,7 @@ +id;meaning +CLAS;PELAGIQUE fond classique; +MESO;Meso pelagique; +NA;Non attribué; +NUL;ANNULE (ne pas prendre en compte); +SURF;PELAGIQUE surface; +ALL;Toute la colonne d'eau Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-DepthStratum.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-tools/src/test/resources/csv/new/input-EchotypeCategory.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-EchotypeCategory.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-EchotypeCategory.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,4 @@ +name +PL; +PO; +NA; \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-EchotypeCategory.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/test/resources/csv/new/input-Gear.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-Gear.csv 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/csv/new/input-Gear.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -3,22 +3,13 @@ 119x102;01/01/00;;1;119x102;Chalut pélagique 119/102;;;5;;;1;1 36x47;01/01/00;;1;GV3647;Chalut de fond GOV 36/47;;;5;;;1;1 57x52;01/01/00;;1;57x52;Chalut pélagique 57/52;;;5;;;1;1 -57x52-F LAR;01/01/00;;1;57x52;Chalut pélagique 57/52;;;5;;;1;1 -57x52-FFIL;01/01/00;;1;57x52;Chalut pélagique 57/52;;;5;;;1;1 -725OBS;01/01/00;;1;PS;Filets tournants avec coulisse (sennes coulissantes);"Nom anglais : Surrounding nets with purse lines (purse seines) -code ISSCFG : 01.1.0";07/12/2011 16:31:24.407001;1;;1;1;0 76x70;01/01/00;;1;76x70;Chalut pélagique 76/70;;;5;;;1;1 -76x70-F LAR;01/01/00;;1;76x70;Chalut pélagique 76/70;;;5;;;1;1 -76x70-FFIL;01/01/00;;1;76x70;Chalut pélagique 76/70;;;5;;;1;1 942OBS;01/01/00;;1;942OBS;Chalut pélagique (2 navires);;;5;;;1;1 Bolinche;01/01/00;;1;PS;Filets tournants avec coulisse (sennes coulissantes);"Nom anglais : Surrounding nets with purse lines (purse seines) code ISSCFG : 01.1.0";07/12/2011 16:31:24.407001;1;;1;1;0 FC - NEUSTON;01/01/00;;0;NEUSTON;Chalut épi-pélagique « de surface » 1250mu;;;5;;;1;1 -FC ? NEUSTON;01/01/00;;0;NEUSTON;Chalut épi-pélagique « de surface » 1250mu;;;5;;;1;1 FILET CARRE;01/01/00;;0;CARRE;FILET CARRE 500mu;;;5;;;1;1 MEPEL;01/01/00;;0;MEPEL;Chalut meso-pel 50 m²;;;5;;;1;1 -MEPEL-DEBPEC;01/01/00;;0;MEPEL;Chalut meso-pel 50 m²;;;5;;;1;1 -NEUSTON;01/01/00;;0;NEUSTON;Chalut épi-pélagique « de surface » 1250mu;;;5;;;1;1 Pélagique en boeufs;01/01/00;;1;PTM;Chaluts boeufs pélagiques;"Nom anglais : Pair trawls Midwater code ISSCFG : 03.2.2";07/12/2011 16:31:24.446356;1;20;1;1;1 RP-F LAR;01/01/00;;1;70x72;Chalut pélagique 70/72 (pelacus 2007);;;5;;;1;1 Added: trunk/echobase-tools/src/test/resources/csv/new/input-Mission.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-Mission.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-Mission.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,16 @@ +name +EIGAS; +JUVPRO; +PELASSES; +PEGASE; +JUVAGA; +AURA; +THALES; +PELGAS; +ERAG; +PLAGIA; +SIMFAMI; +JUVESU; +DAAG; +SILENCE; +MICRODYN; \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-Mission.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/test/resources/csv/new/input-ReferenceDatum.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-ReferenceDatum.csv 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/csv/new/input-ReferenceDatum.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -1,4 +1,7 @@ id;meaning;referenceDatumType +CHALUT_REF;Affectation par analyse des chaluts de reference;GeographicPositions; +CHAMP_PROCHE;Affectation des chalutages les plus proches (géographiquement);GeographicPositions; +CLASSIFICATION;Affectation des chalutages par classification;GeographicPositions; WGS84;Geographical coordinates, WGS84 projection;GeographicPositions; Sea Surface;Cell depth referenced to the sea surface;Depth; Sea Floor;Cell depth referenced to the sea floor;Depth; Modified: trunk/echobase-tools/src/test/resources/csv/new/input-Strata.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-Strata.csv 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/csv/new/input-Strata.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -1 +1,2 @@ -maxLatitude;minLatitude;maxLongitude;minLongitude;seafloorSubstrate;depthStratum \ No newline at end of file +"depthStratum";"maxLatitude";"maxLongitude";"minLatitude";"minLongitude";"name";"seafloorSubstrate" +"ALL";43.3;48.5;-6;-1;"Golfe de Gascogne";"Various" \ No newline at end of file Added: trunk/echobase-tools/src/test/resources/csv/new/input-Vessel.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-Vessel.csv (rev 0) +++ trunk/echobase-tools/src/test/resources/csv/new/input-Vessel.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -0,0 +1,10 @@ +"acknowledgement";"altCallsign";"callsign";"code";"enginePower";"imo";"length";"name";"noiseDesign";"operator";"tonnage";"vesselType" +;;;;0;0;0;"THALASSA I";;;0;"Research" +;;;;0;0;73.65;"THALASSA II";"silent";"Genavir";3022;"Research" +;;;;0;0;0;"GWEN-DREZ";;;0;"Research" +;;;;0;0;0;"PRO";;;0;"Commercial fishing" +;;;;0;0;0;"GWEN DREZ";;;0;"Research" +;;;;0;0;0;"THALIA";;;0;"Research" +;;;;;;;"Etoile Polaire_3";;;;"Commercial fishing, purse seiner" +;;;;;;;"Arlequin2 / la colombine";;;;"Commercial fishing, pair trawlers" +;;;;;;;"Jeremi-Simon / Promethee";;;;"Commercial fishing, pair trawlers" \ No newline at end of file Property changes on: trunk/echobase-tools/src/test/resources/csv/new/input-Vessel.csv ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-tools/src/test/resources/csv/new/input-VesselType.csv =================================================================== --- trunk/echobase-tools/src/test/resources/csv/new/input-VesselType.csv 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/csv/new/input-VesselType.csv 2012-03-01 22:40:15 UTC (rev 331) @@ -1 +1,8 @@ -name \ No newline at end of file +name +Research +Commercial fishing +Merchant +Remotely Operated Vehicle +Autonomous Underwater Vehicle +Commercial fishing, pair trawlers +Commercial fishing, purse seiner Deleted: trunk/echobase-tools/src/test/resources/echobase-test.properties =================================================================== --- trunk/echobase-tools/src/test/resources/echobase-test.properties 2012-02-29 13:20:17 UTC (rev 330) +++ trunk/echobase-tools/src/test/resources/echobase-test.properties 2012-03-01 22:40:15 UTC (rev 331) @@ -1,24 +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% -### -data.directory=${java.io.tmpdir} \ No newline at end of file