Echobase-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
March 2012
- 2 participants
- 129 discussions
r433 - in trunk: echobase-services/src/main/java/fr/ifremer/echobase/services/importdata echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData echobase-ui/src/main/webapp/WEB-INF/jsp/importData
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 19:54:51 +0200 (Wed, 28 Mar 2012)
New Revision: 433
Url: http://forge.codelutin.com/repositories/revision/echobase/433
Log:
do last import : Map
Modified:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeMap-validation.xml
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-03-28 17:54:51 UTC (rev 433)
@@ -32,19 +32,24 @@
import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Category;
+import fr.ifremer.echobase.entities.data.CategoryDAO;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataDAO;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
-import fr.ifremer.echobase.entities.references.DepthStratum;
+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.services.ImportException;
import fr.ifremer.echobase.services.importdata.csv.MapCellImportModel;
import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
-import fr.ifremer.echobase.services.importdata.csv.MapCellResultImportModel;
-import fr.ifremer.echobase.services.importdata.csv.MapCellResultImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -77,30 +82,16 @@
public List<CsvFileImportResult> startImport(ResultsImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
- List<CsvFileImportResult> result = Lists.newLinkedList();
-
// get selected voyage
Voyage voyage = getEntityById(Voyage.class,
configuration.getVoyageId());
InputFile inputFile = configuration.getMapsFile();
- if (inputFile.hasFile()) {
- CsvFileImportResult importResult = importMapFile(
- configuration,
- inputFile, voyage);
+ CsvFileImportResult importResult = importMapFile(
+ configuration, inputFile, voyage);
- addResultAndLog(result, inputFile,
- importResult, user);
- }
- inputFile = configuration.getMapResultFile();
- if (inputFile.hasFile()) {
- CsvFileImportResult importResult = importMapResultFile(
- configuration,
- inputFile, voyage);
-
- addResultAndLog(result, inputFile, importResult, user);
- }
-
+ List<CsvFileImportResult> result = Lists.newLinkedList();
+ addResultAndLog(result, inputFile, importResult, user);
return result;
}
@@ -108,41 +99,67 @@
InputFile inputFile,
Voyage voyage) throws ImportException {
+ String resultLabel = configuration.getResultLabel();
+
CellType cellType = getEntityByProperty(
CellType.class, CellType.PROPERTY_ID, "Map");
Preconditions.checkNotNull(cellType);
- DataMetadata dataXMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "LongitudeEnd");
- Preconditions.checkNotNull(dataXMeta);
+ DataMetadata dataLongitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLongitude");
+ Preconditions.checkNotNull(dataLongitudeMeta);
- DataMetadata dataYMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "LatitudeEnd");
- Preconditions.checkNotNull(dataYMeta);
+ DataMetadata dataLatitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLatitude");
+ Preconditions.checkNotNull(dataLatitudeMeta);
- DataMetadata dataDepthSurfaceMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "DepthRefSurfaceEnd");
- Preconditions.checkNotNull(dataDepthSurfaceMeta);
+ DataMetadata dataDepthMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellDepth");
+ Preconditions.checkNotNull(dataDepthMeta);
- DataMetadata dataDepthBottomMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "DepthRefBottomEnd");
- Preconditions.checkNotNull(dataDepthBottomMeta);
+ DataMetadata dataLongitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLongitudeLag");
+ Preconditions.checkNotNull(dataLongitudeLagMeta);
- DataMetadata dataSurfaceMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "Surface");
- Preconditions.checkNotNull(dataSurfaceMeta);
+ DataMetadata dataLatitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLatitudeLag");
+ Preconditions.checkNotNull(dataLatitudeLagMeta);
+ DataMetadata dataDepthLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridDepthLag");
+ Preconditions.checkNotNull(dataDepthLagMeta);
+
// authorize only the selected voyage to be imported
Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
voyage), EchoBaseFunctions.VOYAGE_NAME);
- Map<String, DepthStratum> depthStratumMap = getEntitiesMap(
- DepthStratum.class,
- EchoBaseFunctions.DEPTH_STRATUM_ID);
+ Map<String, Species> speciesMap = getEntitiesMap(
+ Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE);
+ Map<String, SizeCategory> sizeCategoryMap = Maps.newTreeMap();
+ sizeCategoryMap.putAll(getEntitiesMap(
+ SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME));
+
+ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
+ DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
+
+ // first get header of file to detect which results to import
+ String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
+ getCsvSeparator());
+
+
+ List<DataMetadata> metas = getMetas(
+ MapCellImportModel.COLUMN_NAMES_TO_EXCLUDE,
+ dataMetadataMap,
+ header);
+
MapCellImportModel csvModel = new MapCellImportModel(
- serviceContext.getConfiguration().getCsvSeparator(), cellType,
- voyageMap, depthStratumMap);
+ serviceContext.getConfiguration().getCsvSeparator(),
+ cellType,
+ voyageMap,
+ speciesMap,
+ sizeCategoryMap,
+ metas);
if (log.isInfoEnabled()) {
log.info("Starts import of Map cells from file " +
@@ -153,8 +170,14 @@
inputFile.getFileName());
CellDAO dao = getDAO(Cell.class, CellDAO.class);
+
DataDAO dataDao = getDAO(Data.class, DataDAO.class);
+ ResultDAO resultDao = getDAO(Result.class, ResultDAO.class);
+ SpeciesCategoryDAO speciesCategoryDAO =
+ getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
+ CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
+
Reader reader = getInputFileReader(inputFile);
try {
EchoBaseImport<MapCellImportRow> importer =
@@ -162,111 +185,85 @@
configuration.incrementsProgression();
- int rowNumber = 0;
for (MapCellImportRow row : importer) {
- rowNumber++;
configuration.incrementsProgression();
- //TODO Do me
-
Cell cell = create(dao, row.getCell());
voyage.addPostCell(cell);
importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell);
+
+ // add gridCellLongitude data
createCellData(dataDao,
cell,
- dataXMeta,
- String.valueOf(row.getDataX()),
+ dataLongitudeMeta,
+ String.valueOf(row.getGridCellLongitude()),
importResult
);
+ // add gridCellLatitude data
createCellData(dataDao,
cell,
- dataYMeta,
- String.valueOf(row.getDataY()),
+ dataLatitudeMeta,
+ String.valueOf(row.getGridCellLatitude()),
importResult
);
- String depthStratumId = row.getDepthStratum().getId();
+ // add gridCellDepth data
+ createCellData(dataDao,
+ cell,
+ dataDepthMeta,
+ String.valueOf(row.getGridCellDepth()),
+ importResult
+ );
- DataMetadata depth = null;
-
- if ("SURF".equals(depthStratumId)) {
-
- depth = dataDepthSurfaceMeta;
- } else if ("CLAS".equals(depthStratumId)) {
- depth = dataDepthBottomMeta;
-
- } else {
- throw new ImportException(
- "[Line " + rowNumber +
- "] Depth stratum should be 'SURF' or 'CLAS', " +
- "but was " + depthStratumId);
- }
-
+ // add gridLongitudeLag data
createCellData(dataDao,
cell,
- depth,
- String.valueOf(row.getDataZ()),
+ dataLongitudeLagMeta,
+ String.valueOf(row.getGridLongitudeLag()),
importResult
);
+ // add gridLatitudeLag data
createCellData(dataDao,
cell,
- dataSurfaceMeta,
- String.valueOf(row.getDataLag()),
+ dataLatitudeLagMeta,
+ String.valueOf(row.getGridLatitudeLag()),
importResult
);
+ // add gridDepthLag data
createCellData(dataDao,
cell,
- dataSurfaceMeta,
- String.valueOf(row.getDataValue()),
+ dataDepthLagMeta,
+ String.valueOf(row.getGridDepthLag()),
importResult
);
- }
- return importResult;
- } catch (ImportRuntimeException e) {
- throw new ImportException(getLocale(), inputFile, e);
- } finally {
- closeReader(reader, inputFile);
- }
- }
+ List<Result> results = row.getResult();
- protected CsvFileImportResult importMapResultFile(ResultsImportConfiguration configuration,
- InputFile inputFile,
- Voyage voyage) throws ImportException {
- MapCellResultImportModel csvModel = new MapCellResultImportModel(
- serviceContext.getConfiguration().getCsvSeparator());
+ Category category = getResultCategory(categoryDAO,
+ speciesCategoryDAO,
+ null,
+ row.getSpecies(),
+ row.getSizeCategory(),
+ null,
+ importResult);
- if (log.isInfoEnabled()) {
- log.info("Starts import of Map cell results from file " +
- inputFile.getFileName());
- }
+ for (Result result : results) {
- String resultLabel = configuration.getResultLabel();
+ result.setCategory(category);
+ result.setResultLabel(resultLabel);
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ Result resultCreated = create(resultDao, result);
- CellDAO dao = getDAO(Cell.class, CellDAO.class);
+ cell.addResult(resultCreated);
- Reader reader = getInputFileReader(inputFile);
- try {
- EchoBaseImport<MapCellResultImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
-
- configuration.incrementsProgression();
- for (MapCellResultImportRow row : importer) {
-
- configuration.incrementsProgression();
-
- //TODO Do me
-
- importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell);
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
+ }
}
return importResult;
@@ -277,18 +274,4 @@
}
}
-
- private void createCellData(DataDAO dao,
- Cell cell,
- DataMetadata dataMetaData,
- String dataValue,
- CsvFileImportResult importResult) {
-
- Data data = create(dao);
- data.setDataMetadata(dataMetaData);
- data.setDataValue(dataValue);
- cell.addData(data);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
- }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-28 17:54:51 UTC (rev 433)
@@ -27,8 +27,11 @@
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.references.DepthStratum;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+import java.util.List;
import java.util.Map;
/**
@@ -39,30 +42,53 @@
*/
public class MapCellImportModel extends AbstractImportModel<MapCellImportRow> {
+ public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
+ MapCellImportRow.PROPERTY_NAME,
+ "baracoudaCode",
+ MapCellImportRow.PROPERTY_DATA_GRID_CELL_LONGITUDE,
+ MapCellImportRow.PROPERTY_DATA_GRID_CELL_LATITUDE,
+ MapCellImportRow.PROPERTY_DATA_GRID_CELL_DEPTH,
+ MapCellImportRow.PROPERTY_DATA_GRID_LONGITUDE_LAG,
+ MapCellImportRow.PROPERTY_DATA_GRID_LATITUDE_LAG,
+ MapCellImportRow.PROPERTY_DATA_GRID_DEPTH_LAG,
+ MapCellImportRow.PROPERTY_VOYAGE,
+ MapCellImportRow.PROPERTY_SIZE_CATEGORY
+ };
+
protected final CellType cellType;
public MapCellImportModel(char separator,
CellType cellType,
Map<String, Voyage> voyageMap,
- Map<String, DepthStratum> depthStramMap) {
+ Map<String, Species> speciesMap,
+ Map<String, SizeCategory> sizeCategoryMap,
+ List<DataMetadata> dataMetadatas) {
super(separator);
this.cellType = cellType;
newForeignKeyColumn(MapCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newForeignKeyColumn(MapCellImportRow.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStramMap);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_NAME);
+ newForeignKeyColumn("baracoudaCode", MapCellImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
+ newForeignKeyColumn(MapCellImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
- newMandatoryColumn(MapCellImportRow.PROPERTY_NAME);
- newMandatoryColumn("x", MapCellImportRow.PROPERTY_DATA_X, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("y", MapCellImportRow.PROPERTY_DATA_Y, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("z", MapCellImportRow.PROPERTY_DATA_Z, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("lag", MapCellImportRow.PROPERTY_DATA_LAG, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("value", MapCellImportRow.PROPERTY_DATA_VALUE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_DEPTH, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_LONGITUDE_LAG, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_LATITUDE_LAG, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_DEPTH_LAG, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+
+ for (DataMetadata metadata : dataMetadatas) {
+ newMandatoryColumn(
+ metadata.getName(),
+ EchobaseCsvUtil.newResultValueParser(metadata, false),
+ EchobaseCsvUtil.<MapCellImportRow>newResultValueSetter());
+ }
}
@Override
public MapCellImportRow newEmptyInstance() {
- MapCellImportRow row = new MapCellImportRow();
- row.getCell().setCellType(cellType);
+ MapCellImportRow row = new MapCellImportRow(cellType);
return row;
}
}
\ No newline at end of file
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-28 17:54:51 UTC (rev 433)
@@ -23,53 +23,73 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
+import com.google.common.collect.Lists;
+import fr.ifremer.echobase.csv.EchobaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.CellImpl;
+import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.DepthStratum;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+import java.util.List;
+
/**
* Bean used as a row for import of {@link MapCellImportModel}.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class MapCellImportRow {
+public class MapCellImportRow implements EchobaseCsvUtil.ResultAble {
public static final String PROPERTY_NAME = "name";
public static final String PROPERTY_VOYAGE = "voyage";
- public static final String PROPERTY_DEPTH_STRATUM = "depthStratum";
+ public static final String PROPERTY_CELL = "cell";
- public static final String PROPERTY_DATA_X = "dataX";
+ public static final String PROPERTY_SPECIES = "species";
- public static final String PROPERTY_DATA_Y = "dataY";
+ public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory";
- public static final String PROPERTY_DATA_Z = "dataZ";
+ public static final String PROPERTY_DATA_GRID_CELL_LONGITUDE = "gridCellLongitude";
- public static final String PROPERTY_DATA_LAG = "dataLag";
+ public static final String PROPERTY_DATA_GRID_CELL_LATITUDE = "gridCellLatitude";
- public static final String PROPERTY_DATA_VALUE = "dataValue";
+ public static final String PROPERTY_DATA_GRID_CELL_DEPTH = "gridCellDepth";
+ public static final String PROPERTY_DATA_GRID_LONGITUDE_LAG = "gridLongitudeLag";
+
+ public static final String PROPERTY_DATA_GRID_LATITUDE_LAG = "gridLatitudeLag";
+
+ public static final String PROPERTY_DATA_GRID_DEPTH_LAG = "gridDepthLag";
+
protected Voyage voyage;
- protected DepthStratum depthStratum;
-
protected final Cell cell;
- protected float dataX;
+ protected List<Result> result = Lists.newArrayList();
- protected float dataY;
+ protected Species species;
- protected float dataZ;
+ protected SizeCategory sizeCategory;
- protected float dataLag;
+ protected float gridCellLongitude;
- protected float dataValue;
+ protected float gridCellLatitude;
- public MapCellImportRow() {
+ protected float gridCellDepth;
+
+ protected float gridLongitudeLag;
+
+ protected float gridLatitudeLag;
+
+ protected float gridDepthLag;
+
+ public MapCellImportRow(CellType cellType) {
this.cell = new CellImpl();
+ this.cell.setCellType(cellType);
}
public Cell getCell() {
@@ -80,30 +100,42 @@
return voyage;
}
- public DepthStratum getDepthStratum() {
- return depthStratum;
+ public Species getSpecies() {
+ return species;
}
- public float getDataX() {
- return dataX;
+ public SizeCategory getSizeCategory() {
+ return sizeCategory;
}
- public float getDataY() {
- return dataY;
+ public List<Result> getResult() {
+ return result;
}
- public float getDataZ() {
- return dataZ;
+ public float getGridCellLongitude() {
+ return gridCellLongitude;
}
- public float getDataLag() {
- return dataLag;
+ public float getGridCellLatitude() {
+ return gridCellLatitude;
}
- public float getDataValue() {
- return dataValue;
+ public float getGridCellDepth() {
+ return gridCellDepth;
}
+ public float getGridLongitudeLag() {
+ return gridLongitudeLag;
+ }
+
+ public float getGridLatitudeLag() {
+ return gridLatitudeLag;
+ }
+
+ public float getGridDepthLag() {
+ return gridDepthLag;
+ }
+
public void setName(String name) {
getCell().setName(name);
}
@@ -112,27 +144,40 @@
this.voyage = voyage;
}
- public void setDepthStratum(DepthStratum depthStratum) {
- this.depthStratum = depthStratum;
+ public void setSpecies(Species species) {
+ this.species = species;
}
- public void setDataX(float dataX) {
- this.dataX = dataX;
+ public void setSizeCategory(SizeCategory sizeCategory) {
+ this.sizeCategory = sizeCategory;
}
- public void setDataY(float dataY) {
- this.dataY = dataY;
+ public void setGridCellLongitude(float GridCellLongitude) {
+ this.gridCellLongitude = GridCellLongitude;
}
- public void setDataZ(float dataZ) {
- this.dataZ = dataZ;
+ public void setGridCellLatitude(float GridCellLatitude) {
+ this.gridCellLatitude = GridCellLatitude;
}
- public void setDataLag(float dataLag) {
- this.dataLag = dataLag;
+ public void setGridCellDepth(float GridCellDepth) {
+ this.gridCellDepth = GridCellDepth;
}
- public void setDataValue(float dataValue) {
- this.dataValue = dataValue;
+ public void setGridLongitudeLag(float GridLongitudeLag) {
+ this.gridLongitudeLag = GridLongitudeLag;
}
+
+ public void setGridLatitudeLag(float GridLatitudeLag) {
+ this.gridLatitudeLag = GridLatitudeLag;
+ }
+
+ public void setGridDepthLag(float GridDepthLag) {
+ this.gridDepthLag = GridDepthLag;
+ }
+
+ @Override
+ public void addResult(Result result) {
+ this.result.add(result);
+ }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java 2012-03-28 17:54:51 UTC (rev 433)
@@ -193,18 +193,6 @@
getModel().getMapsFile().setFileName(fileName);
}
- public void setMapResultFile(File file) {
- getModel().getMapResultFile().setFile(file);
- }
-
- public void setMapResultFileContentType(String contentType) {
- getModel().getMapResultFile().setContentType(contentType);
- }
-
- public void setMapResultFileFileName(String fileName) {
- getModel().getMapResultFile().setFileName(fileName);
- }
-
public void setLengthAgeKeyFile(File file) {
getModel().getLengthAgeKeyFile().setFile(file);
}
Modified: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeMap-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeMap-validation.xml 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeMap-validation.xml 2012-03-28 17:54:51 UTC (rev 433)
@@ -44,11 +44,4 @@
</field-validator>
</field>
- <field name="mapResultFile">
- <field-validator type="nfieldexpression">
- <param name="expression">model.mapResultFile.file!=null</param>
- <message key="echobase.error.import.mapResultFile.required"/>
- </field-validator>
- </field>
-
</validators>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp 2012-03-28 17:53:48 UTC (rev 432)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp 2012-03-28 17:54:51 UTC (rev 433)
@@ -218,7 +218,7 @@
<s:text name="echobase.legend.importData.configure"/>
</legend>
- <s:hidden key="model.importMode" value="REGION" label=''/>
+ <s:hidden key="model.importMode" value="MAP" label=''/>
<s:select key="model.voyageId" required="true"
label='%{getText("echobase.common.voyage")}'
@@ -229,9 +229,6 @@
<s:file key="mapsFile" required="true"
label='%{getText("echobase.common.cellMapsFile")}'/>
-
- <s:file key="mapResultFile" required="true"
- label='%{getText("echobase.common.cellMapResultFile")}'/>
</fieldset>
<br/>
<s:submit action="ConfigureResults-modeMap" key='echobase.action.import'/>
1
0
r432 - trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 19:53:48 +0200 (Wed, 28 Mar 2012)
New Revision: 432
Url: http://forge.codelutin.com/repositories/revision/echobase/432
Log:
remove TODO from tests (referentiel is ok)
Modified:
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-28 17:49:29 UTC (rev 431)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-28 17:53:48 UTC (rev 432)
@@ -25,16 +25,12 @@
import fr.ifremer.echobase.InputFile;
import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.references.AgeCategory;
-import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.SpeciesCategory;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.junit.Test;
import java.util.List;
@@ -47,10 +43,6 @@
*/
public class ResultsEsduCellImportServiceIT extends AbstractImportDataServiceIT {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ResultsEsduCellImportServiceIT.class);
-
protected FakeEchoBaseServiceContext initContext() {
return new FakeEchoBaseServiceContext(
IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT);
@@ -113,12 +105,6 @@
addMissingEsduCells("name", conf.getVoyageId(), inputFile);
- //TODO Remove this when referentiel is ok
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "SigmaSp");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "pondBiomass");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "pondAbundance");
-
-
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2012-03-28 17:49:29 UTC (rev 431)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2012-03-28 17:53:48 UTC (rev 432)
@@ -24,11 +24,11 @@
package fr.ifremer.echobase.services.importdata;
import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
-import org.junit.Ignore;
import org.junit.Test;
import java.util.List;
@@ -50,18 +50,15 @@
return new String[]{"/import-data", "result", "map", filename};
}
- @Ignore
@Test
public void doImportMap() throws Exception {
- //TODO
-
assertImportCommonData();
assertImportOperations();
assertImportSampleDatas();
assertImportVoyageResult();
- assertNoEntities(Result.class);
+ assertNoEntities(Result.class, Data.class);
ResultsImportConfiguration conf =
new ResultsImportConfiguration(getLocale());
@@ -71,16 +68,14 @@
conf.setImportMode(ResultsImportMode.MAP);
prepareInputFile(conf.getMapsFile(), getImportPath("maps.csv.gz"));
- //TODO Use this
- //prepareInputFile(conf.getMapResultFile(), getImportPath("mapResults.csv.gz"));
List<CsvFileImportResult> result;
result = doImport(conf, ResultsMapCellImportService.class, 1);
- assertCsvImportResult(result, 0, Cell.class, 0);
- assertCsvImportResult(result, 0, Data.class, 0);
-// assertCsvImportResult(result,1, Result.class, 0);
-
+ assertCsvImportResult(result, 0, Cell.class, 380);
+ assertCsvImportResult(result, 0, Data.class, 2280);
+ assertCsvImportResult(result, 0, Result.class, 380);
+ assertCsvImportResult(result, 0, Category.class, 1);
}
}
\ No newline at end of file
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 17:49:29 UTC (rev 431)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 17:53:48 UTC (rev 432)
@@ -24,13 +24,10 @@
package fr.ifremer.echobase.services.importdata;
import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SpeciesCategory;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
import org.junit.Test;
@@ -78,30 +75,6 @@
prepareInputFile(conf.getRegionResultFile(),
getImportPath("regionResults.csv.gz"));
- //TODO Remove this when referentiel is ok
- create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionSURF");
- create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionCLAS");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "RegionEnvCoordinates");
-
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceXe");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceNASC");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASC");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedMeanXe");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nesdu");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nhauls");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASCWeightedBiomassDensity");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationVariance");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationCV");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanBiomassDensity");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationVariance");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationCV");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalEstimationVariance");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalNASCWeightedEstimationVariance");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfTotalEstimationVariance");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfNASCWeightedTotalEstimationVariance");
- //create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Biomass");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedBiomass");
-
addMissingEsduCells("esdu.name",
conf.getVoyageId(),
conf.getRegionAssociationFile());
@@ -112,9 +85,9 @@
assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083);
assertCsvImportResult(result, 0, Data.class, 238);
assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083);
- assertCsvImportResult(result,2, Result.class, 1873);
- assertCsvImportResult(result,2, Category.class, 27);
- assertCsvImportResult(result,2, SpeciesCategory.class, 1,0,458);
+ assertCsvImportResult(result, 2, Result.class, 1873);
+ assertCsvImportResult(result, 2, Category.class, 27);
+ assertCsvImportResult(result, 2, SpeciesCategory.class, 1, 0, 458);
}
}
\ No newline at end of file
1
0
r431 - trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 19:49:29 +0200 (Wed, 28 Mar 2012)
New Revision: 431
Url: http://forge.codelutin.com/repositories/revision/echobase/431
Log:
add useFillValue in ResultValueParser
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ResultValueParser.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-28 17:44:08 UTC (rev 430)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-28 17:49:29 UTC (rev 431)
@@ -131,7 +131,6 @@
return new CellValueParser(voyage, cellDAO);
}
-
public static interface ResultAble {
void addResult(Result value);
}
@@ -148,8 +147,9 @@
}
}
- public static ValueParser<Result> newResultValueParser(DataMetadata metadata) {
- return new ResultValueParser(metadata);
+ public static ValueParser<Result> newResultValueParser(
+ DataMetadata metadata, boolean useFillValue) {
+ return new ResultValueParser(metadata, useFillValue);
}
}
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ResultValueParser.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ResultValueParser.java 2012-03-28 17:44:08 UTC (rev 430)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ResultValueParser.java 2012-03-28 17:49:29 UTC (rev 431)
@@ -40,15 +40,24 @@
final DataMetadata metadata;
- public ResultValueParser(DataMetadata metadata) {
+ final boolean useFillValue;
+
+ public ResultValueParser(DataMetadata metadata, boolean useFillValue) {
this.metadata = metadata;
+ this.useFillValue = useFillValue;
}
@Override
public Result parse(String value) throws ParseException {
+
Result result = new ResultImpl();
result.setDataMetadata(metadata);
result.setResultValue(value);
+ if ("NA".equals(value) && useFillValue) {
+
+ // use metadata fillValue
+ result.setResultValue(String.valueOf(metadata.getFillValue()));
+ }
return result;
}
}
1
0
r430 - in trunk/echobase-services/src/test/resources: . import-data import-data/result/map
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 19:44:08 +0200 (Wed, 28 Mar 2012)
New Revision: 430
Url: http://forge.codelutin.com/repositories/revision/echobase/430
Log:
update import datas
Added:
trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
Modified:
trunk/echobase-services/src/test/resources/echobase-0.3-importDb-referentiel.zip
trunk/echobase-services/src/test/resources/import-data/echobase-0.3-catches-and-voyage-result.h2.db.gz
trunk/echobase-services/src/test/resources/import-data/echobase-0.3-catches.h2.db.gz
trunk/echobase-services/src/test/resources/import-data/echobase-0.3-commonData.h2.db.gz
trunk/echobase-services/src/test/resources/import-data/echobase-0.3-nodata.h2.db.gz
trunk/echobase-services/src/test/resources/import-data/echobase-0.3-operation.h2.db.gz
Modified: trunk/echobase-services/src/test/resources/echobase-0.3-importDb-referentiel.zip
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-catches-and-voyage-result.h2.db.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-catches.h2.db.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-commonData.h2.db.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-nodata.h2.db.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/echobase-0.3-operation.h2.db.gz
===================================================================
(Binary files differ)
Added: trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
===================================================================
(Binary files differ)
Property changes on: trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
Author: tchemit
Date: 2012-03-28 19:43:02 +0200 (Wed, 28 Mar 2012)
New Revision: 429
Url: http://forge.codelutin.com/repositories/revision/echobase/429
Log:
add new reunion doc
Added:
trunk/src/doc/reunions/reunion-2012-03-29.txt
Added: trunk/src/doc/reunions/reunion-2012-03-29.txt
===================================================================
--- trunk/src/doc/reunions/reunion-2012-03-29.txt (rev 0)
+++ trunk/src/doc/reunions/reunion-2012-03-29.txt 2012-03-28 17:43:02 UTC (rev 429)
@@ -0,0 +1,61 @@
+projet echobase
+---------------
+
+Jeudi 28 mars 2012 (Ifremer)
+
+Présents : Mathieu et Tony
+
+Planning
+--------
+
+- valider tous les imports
+- lancer la phase de tests
+
+Référentiels
+------------
+
+Il manque encore
+
+CellType RegionCLAS
+CellType RegionSURF
+DataMetadata RegionEnvCoordinates
+
+DataMetadata BiomMass dupliqué
+
+Imports
+-------
+
+Import résultats de regions (utilisation de NASCVariance au lieu de VarianceNASC)
+
+On a pas utiliser les dataProcessing.id ?
+
+J'ai renommé les colonne des datas dans Map (minuscule sur première lettre)
+
+Suppression des résultats
+-------------------------
+
+Chiffrer la fonctionnalité
+
+Modèle
+------
+
+- Ajouter les clef naturels si possible
+
+Divers
+------
+
+- i18n
+- finir le style
+- dbeditor (revoir la fenêtre de filtre)
+- doc
+
+Action
+------
+
+- Tony :
+
+- Mathieu :
+
+Prochaine réunion :
+
+ - ?
\ No newline at end of file
1
0
r428 - in trunk/echobase-tools/src/test: java/fr/ifremer/echobase/tools/loaders resources/csv/new
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 19:40:16 +0200 (Wed, 28 Mar 2012)
New Revision: 428
Url: http://forge.codelutin.com/repositories/revision/echobase/428
Log:
update referentiel
Modified:
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java
trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java 2012-03-28 16:06:49 UTC (rev 427)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java 2012-03-28 17:40:16 UTC (rev 428)
@@ -35,7 +35,7 @@
public class DataMetadataLoaderIT extends AbstractLoaderIT<DataMetadata, DataMetadataLoader> {
public DataMetadataLoaderIT() {
- super(DataMetadataLoader.class, 58, 28);
+ super(DataMetadataLoader.class, 67, 28);
}
@Test
Modified: trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv
===================================================================
--- trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv 2012-03-28 16:06:49 UTC (rev 427)
+++ trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv 2012-03-28 17:40:16 UTC (rev 428)
@@ -57,3 +57,12 @@
"ProportionOfTotalEstimationVariance";;"ProportionOfTotalEstimationVariance in area";;"%";;;;;0;1;1;0;1;;"Proportion in an area of the fish biomass density total estimation variance"
"ProportionOfNASCWeightedTotalEstimationVariance";;"ProportionOfNASCWeightedTotalEstimationVariance";;"%";;;;;0;1;1;0;1;;"Proportion in an area of the fish biomass density total estimation variance, weighted by fish NASC per echotype around hauls"
"NASCWeightedBiomass";;"NASCWeighted fish Biomass in area";;"tons";;;;;0;999999999;1;0;999999;;"Fish biomass in area, weighted by fish NASC per echotype around hauls"
+"RegionEnvCoordinates";;"Region envelop coordinates";;;;;;;;;;;;;
+"GridCellLongitude";;"GridCellLongitude";;"decimal_degrees_east";;"east";;;-180;180;1;0;;;"Longitude of grid cells: longitude of westermost and southernmost cell point"
+"GridCellLatitude";;"GridCellLatitude";;"decimal_degrees_north";;"north";;;-90;90;1;0;;;"Latitude of grid cells: latitude of westermost and southernmost cell point"
+"GridLongitudeLag";;"GridLongitudeLag";;"decimal_degrees_east";;"east";;;-180;180;1;0;;;"Grid cells longitude lag"
+"GridLatitudeLag";;"GridLatitudeLag";;"decimal_degrees_north";;"north";;;-90;90;1;0;;;"Grid cells latitude lag"
+"GridCellDepth";;"GridCellDepth";;"m";;"Down";;;0;12000;1;0;;;"Grid cells uppermost point depth"
+"GridDepthLag";;"GridDepthLag";;"m";;"Down";;;0;12000;1;0;;;"Grid cells depth lag (thickness)"
+"KrigedXe";;"KriggedXe";;"kg/m²";;;;;0;10;1;0;;;"Xe value interpolated by Kriging "
+"KrigedNASC";;"KriggedNASC";;"m²/nmi²";;;;;0;999999999;1;0;;;"NASC value interpolated by Kriging "
1
0
r427 - in trunk/echobase-services/src: main/java/fr/ifremer/echobase/services/importdata main/java/fr/ifremer/echobase/services/importdata/csv test/java/fr/ifremer/echobase/services/importdata test/resources/import-data/result/region
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 18:06:49 +0200 (Wed, 28 Mar 2012)
New Revision: 427
Url: http://forge.codelutin.com/repositories/revision/echobase/427
Log:
region result import is done :)
Added:
trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz
Modified:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -25,6 +25,7 @@
import com.google.common.base.Charsets;
import com.google.common.base.Function;
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.InputFile;
@@ -36,6 +37,7 @@
import fr.ifremer.echobase.entities.data.CategoryDAO;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.references.AgeCategory;
+import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SexCategory;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
@@ -46,6 +48,7 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.util.csv.ImportRuntimeException;
import java.io.BufferedReader;
import java.io.FileInputStream;
@@ -54,9 +57,14 @@
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import static org.nuiton.i18n.I18n.l_;
+
/**
* Abstract data import service.
*
@@ -65,6 +73,9 @@
*/
public abstract class AbstractImportDataService<M extends AbstractImportConfiguration> extends EchoBaseServiceSupport {
+ public static final Pattern REMOVE_DOUBLE_QUOTES_PATTERN =
+ Pattern.compile("\"(.+)\"");
+
public final List<CsvFileImportResult> doImport(M configuration,
EchoBaseUser user) throws ImportException {
@@ -304,4 +315,36 @@
return category;
}
+
+ protected List<DataMetadata> getMetas(String[] columnNamesToExclude,
+ Map<String, DataMetadata> dataMetadataMap,
+ String... headers) {
+
+ List<String> metadataNames = Lists.newArrayList(headers);
+ for (String columnToExclude : columnNamesToExclude) {
+ metadataNames.remove(columnToExclude);
+ metadataNames.remove("\"" + columnToExclude + "\"");
+ }
+
+ List<DataMetadata> result = Lists.newArrayList();
+
+ Locale locale = getLocale();
+
+ for (String metadataName : metadataNames) {
+
+ Matcher matcher = REMOVE_DOUBLE_QUOTES_PATTERN.matcher(metadataName);
+ if (matcher.matches()) {
+ metadataName = matcher.group(1);
+ }
+ DataMetadata dataMetadata = dataMetadataMap.get(metadataName);
+ if (dataMetadata == null) {
+ throw new ImportRuntimeException(
+ l_(locale, "echobase.importError.dataMetadata.notFound",
+ metadataName,
+ dataMetadataMap.keySet()));
+ }
+ result.add(dataMetadata);
+ }
+ return result;
+ }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -38,6 +38,7 @@
import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.AgeCategoryDAO;
@@ -66,10 +67,7 @@
import java.io.Reader;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import static org.nuiton.i18n.I18n.l_;
@@ -85,9 +83,6 @@
private static final Log log =
LogFactory.getLog(ResultsEsduCellImportService.class);
- public static final Pattern REMOVE_DOUBLE_QUOTES_PATTERN =
- Pattern.compile("\"(.+)\"");
-
@Override
protected String getImportLabel() {
return l_(getLocale(), ImportDataMode.Results.getI18nKey());
@@ -322,11 +317,15 @@
dataMetadataMap,
header);
- CellDAO cellDAO = (CellDAO) getDAO(Cell.class);
+ CellDAO cellDAO = getDAO(Cell.class, CellDAO.class);
SpeciesCategoryDAO speciesCategoryDAO =
getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
+ CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
+
+ ResultDAO dao = getDAO(Result.class, ResultDAO.class);
+
EsduResultByEchotypeAndSpeciesCategoryImportModel csvModel = new EsduResultByEchotypeAndSpeciesCategoryImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
echotypeMap,
@@ -336,8 +335,8 @@
cellDAO,
metas);
- CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class);
+
DecoratorService decoratorService = getService(DecoratorService.class);
Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null);
@@ -376,8 +375,6 @@
List<Result> results = row.getResult();
- TopiaDAO<Result> dao = getDAO(Result.class);
-
for (Result result : results) {
result.setCategory(category);
@@ -646,37 +643,4 @@
closeReader(reader, inputFile);
}
}
-
- protected List<DataMetadata> getMetas(String[] columnNamesToExclude,
- Map<String, DataMetadata> dataMetadataMap,
- String... headers) {
-
- List<String> metadataNames = Lists.newArrayList(headers);
- for (String columnToExclude : columnNamesToExclude) {
- metadataNames.remove(columnToExclude);
- metadataNames.remove("\"" + columnToExclude + "\"");
- }
-
- List<DataMetadata> result = Lists.newArrayList();
-
- Locale locale = getLocale();
-
- for (String metadataName : metadataNames) {
-
- Matcher matcher = REMOVE_DOUBLE_QUOTES_PATTERN.matcher(metadataName);
- if (matcher.matches()) {
- metadataName = matcher.group(1);
- }
- DataMetadata dataMetadata = dataMetadataMap.get(metadataName);
- if (dataMetadata == null) {
- throw new ImportRuntimeException(
- l_(locale, "echobase.importError.dataMetadata.notFound",
- metadataName,
- dataMetadataMap.keySet()));
- }
- result.add(dataMetadata);
- }
- return result;
- }
-
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -32,13 +32,22 @@
import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Category;
+import fr.ifremer.echobase.entities.data.CategoryDAO;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataDAO;
+import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
+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.services.ImportException;
import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportModel;
import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportRow;
@@ -81,15 +90,15 @@
List<CsvFileImportResult> result = Lists.newLinkedList();
// get selected voyage
- Voyage voyage = getEntityById(Voyage.class, configuration.getVoyageId());
+ Voyage voyage = getEntityById(Voyage.class,
+ configuration.getVoyageId());
InputFile inputFile = configuration.getRegionsFile();
CsvFileImportResult importResult = importRegionFile(
configuration,
inputFile, voyage);
- addResultAndLog(result, inputFile,
- importResult, user);
+ addResultAndLog(result, inputFile, importResult, user);
inputFile = configuration.getRegionAssociationFile();
importResult = importRegionAssociationFile(
@@ -99,13 +108,11 @@
addResultAndLog(result, inputFile, importResult, user);
inputFile = configuration.getRegionResultFile();
- if (inputFile.hasFile()) {
- importResult = importRegionResultFile(
- configuration,
- inputFile, voyage);
+ importResult = importRegionResultFile(
+ configuration,
+ inputFile, voyage);
- addResultAndLog(result, inputFile, importResult, user);
- }
+ addResultAndLog(result, inputFile, importResult, user);
return result;
}
@@ -268,20 +275,65 @@
protected CsvFileImportResult importRegionResultFile(ResultsImportConfiguration configuration,
InputFile inputFile,
Voyage voyage) throws ImportException {
- RegionCellResultImportModel csvModel = new RegionCellResultImportModel(
- serviceContext.getConfiguration().getCsvSeparator());
if (log.isInfoEnabled()) {
log.info("Starts import of Map cell results from file " +
inputFile.getFileName());
}
+
+ // authorize only the selected voyage to be imported
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
+ voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ // index regions of the voyage
+ Map<String, Cell> regionsMap = Maps.uniqueIndex(
+ voyage.getRegionCells(), EchoBaseFunctions.CELL_BY_NAME);
+
+ // index all echotypes of thi voyage
+ Map<String, Echotype> echotypeMap = Maps.uniqueIndex(
+ voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME);
+
+ Map<String, Species> speciesMap = getEntitiesMap(
+ Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE);
+
+ Map<String, SizeCategory> sizeCategoryMap = Maps.newTreeMap();
+ sizeCategoryMap.putAll(getEntitiesMap(
+ SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME));
+
+ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
+ DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
+
+ // first get header of file to detect which results to import
+ String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
+ getCsvSeparator());
+
+
+ List<DataMetadata> metas = getMetas(
+ RegionCellResultImportModel.COLUMN_NAMES_TO_EXCLUDE,
+ dataMetadataMap,
+ header);
+
+ RegionCellResultImportModel csvModel = new RegionCellResultImportModel(
+ serviceContext.getConfiguration().getCsvSeparator(),
+ voyageMap,
+ regionsMap,
+ echotypeMap,
+ speciesMap,
+ sizeCategoryMap,
+ metas);
+
String resultLabel = configuration.getResultLabel();
CsvFileImportResult importResult = new CsvFileImportResult(
inputFile.getFileName());
- CellDAO dao = getDAO(Cell.class, CellDAO.class);
+ SpeciesCategoryDAO speciesCategoryDAO =
+ getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
+ CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
+
+ ResultDAO dao = getDAO(Result.class, ResultDAO.class);
+
Reader reader = getInputFileReader(inputFile);
try {
EchoBaseImport<RegionCellResultImportRow> importer =
@@ -292,9 +344,29 @@
configuration.incrementsProgression();
- //TODO Do me
+ Cell cell = row.getCell();
- importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell);
+ Category category = getResultCategory(categoryDAO,
+ speciesCategoryDAO,
+ row.getEchotype(),
+ row.getSpecies(),
+ row.getSizeCategory(),
+ null,
+ importResult);
+
+ List<Result> results = row.getResult();
+
+ for (Result result : results) {
+
+ result.setCategory(category);
+ result.setResultLabel(resultLabel);
+
+ Result resultCreated = create(dao, result);
+
+ cell.addResult(resultCreated);
+
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
+ }
}
return importResult;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -24,7 +24,17 @@
package fr.ifremer.echobase.services.importdata.csv;
import fr.ifremer.echobase.csv.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+import java.util.List;
+import java.util.Map;
+
/**
* Model to import results of cell of type 'Region'.
*
@@ -33,8 +43,37 @@
*/
public class RegionCellResultImportModel extends AbstractImportModel<RegionCellResultImportRow> {
- public RegionCellResultImportModel(char separator) {
+ public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
+ "name",
+ "baracoudaCode",
+ RegionCellResultImportRow.PROPERTY_VOYAGE,
+ RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY,
+ RegionCellResultImportRow.PROPERTY_ECHOTYPE
+ };
+
+ public RegionCellResultImportModel(
+ char separator,
+ Map<String, Voyage> voyageMap,
+ Map<String, Cell> regionCellMap,
+ Map<String, Echotype> echotypeMap,
+ Map<String, Species> speciesMap,
+ Map<String, SizeCategory> sizeCategoryMap,
+ List<DataMetadata> dataMetadatas) {
super(separator);
+
+ newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
+ newForeignKeyColumn("name", RegionCellResultImportRow.PROPERTY_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap);
+ newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
+ newForeignKeyColumn("baracoudaCode", RegionCellResultImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
+ newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
+
+ for (DataMetadata metadata : dataMetadatas) {
+ String name = metadata.getName();
+ newMandatoryColumn(
+ name,
+ EchobaseCsvUtil.newResultValueParser(metadata),
+ EchobaseCsvUtil.<RegionCellResultImportRow>newResultValueSetter());
+ }
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -23,11 +23,95 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
+import com.google.common.collect.Lists;
+import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+
+import java.util.List;
+
/**
* Bean used as a row for import of {@link RegionCellResultImportModel}.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class RegionCellResultImportRow {
+public class RegionCellResultImportRow implements EchobaseCsvUtil.ResultAble {
+
+ public static final String PROPERTY_NAME = "name";
+
+ public static final String PROPERTY_VOYAGE = "voyage";
+
+ public static final String PROPERTY_ECHOTYPE = "echotype";
+
+ public static final String PROPERTY_CELL = "cell";
+
+ public static final String PROPERTY_SPECIES = "species";
+
+ public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory";
+
+ protected Voyage voyage;
+
+ protected Echotype echotype;
+
+ protected Cell cell;
+
+ protected List<Result> result = Lists.newArrayList();
+
+ protected Species species;
+
+ protected SizeCategory sizeCategory;
+
+ public Echotype getEchotype() {
+ return echotype;
+ }
+
+ public void setEchotype(Echotype echotype) {
+ this.echotype = echotype;
+ }
+
+ public Cell getCell() {
+ return cell;
+ }
+
+ public void setCell(Cell cell) {
+ this.cell = cell;
+ }
+
+ public List<Result> getResult() {
+ return result;
+ }
+
+ @Override
+ public void addResult(Result result) {
+ this.result.add(result);
+ }
+
+ public Species getSpecies() {
+ return species;
+ }
+
+ public void setSpecies(Species species) {
+ this.species = species;
+ }
+
+ public SizeCategory getSizeCategory() {
+ return sizeCategory;
+ }
+
+ public void setSizeCategory(SizeCategory sizeCategory) {
+ this.sizeCategory = sizeCategory;
+ }
+
+ public Voyage getVoyage() {
+ return voyage;
+ }
+
+ public void setVoyage(Voyage voyage) {
+ this.voyage = voyage;
+ }
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -319,7 +319,7 @@
if (!esduColumnName.equals(columnHeader) &&
!("\"" + esduColumnName + "\"").equals(columnHeader)) {
- Matcher matcher = ResultsEsduCellImportService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader);
+ Matcher matcher = AbstractImportDataService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader);
if (matcher.matches()) {
newIgnoredColumn(matcher.group(1));
} else {
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 16:06:23 UTC (rev 426)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 16:06:49 UTC (rev 427)
@@ -25,11 +25,13 @@
import fr.ifremer.echobase.csv.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.SpeciesCategory;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
import org.junit.Test;
@@ -71,28 +73,48 @@
prepareInputFile(conf.getRegionsFile(),
getImportPath("regions.csv.gz"));
- //TODO Use this
prepareInputFile(conf.getRegionAssociationFile(),
getImportPath("regionAssociations.csv.gz"));
-// prepareInputFile(conf.getRegionsFile(),
-// getImportPath("regionResults.csv.gz"));
+ prepareInputFile(conf.getRegionResultFile(),
+ getImportPath("regionResults.csv.gz"));
//TODO Remove this when referentiel is ok
create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionSURF");
create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionCLAS");
create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "RegionEnvCoordinates");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceXe");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceNASC");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASC");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedMeanXe");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nesdu");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nhauls");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASCWeightedBiomassDensity");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationVariance");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationCV");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanBiomassDensity");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationVariance");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationCV");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalEstimationVariance");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalNASCWeightedEstimationVariance");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfTotalEstimationVariance");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfNASCWeightedTotalEstimationVariance");
+ //create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Biomass");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedBiomass");
+
addMissingEsduCells("esdu.name",
conf.getVoyageId(),
conf.getRegionAssociationFile());
List<CsvFileImportResult> result;
- result = doImport(conf, ResultsRegionCellImportService.class, 2);
+ result = doImport(conf, ResultsRegionCellImportService.class, 3);
assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083);
assertCsvImportResult(result, 0, Data.class, 238);
assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083);
- //assertCsvImportResult(result,2, Result.class, 0);
+ assertCsvImportResult(result,2, Result.class, 1873);
+ assertCsvImportResult(result,2, Category.class, 27);
+ assertCsvImportResult(result,2, SpeciesCategory.class, 1,0,458);
}
}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz
===================================================================
(Binary files differ)
Property changes on: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
r426 - in trunk/echobase-tools/src/test: java/fr/ifremer/echobase/tools/loaders resources/csv/new
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 18:06:23 +0200 (Wed, 28 Mar 2012)
New Revision: 426
Url: http://forge.codelutin.com/repositories/revision/echobase/426
Log:
update referentiels
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/DataMetadataLoaderIT.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataTypeLoaderIT.java
trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv
trunk/echobase-tools/src/test/resources/csv/new/input-DataType.csv
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-03-28 12:18:31 UTC (rev 425)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellTypeLoaderIT.java 2012-03-28 16:06:23 UTC (rev 426)
@@ -35,7 +35,7 @@
public class CellTypeLoaderIT extends AbstractLoaderIT<CellType, CellTypeLoader> {
public CellTypeLoaderIT() {
- super(CellTypeLoader.class, 7, 0);
+ super(CellTypeLoader.class, 8, 0);
}
@Test
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java 2012-03-28 12:18:31 UTC (rev 425)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoaderIT.java 2012-03-28 16:06:23 UTC (rev 426)
@@ -35,7 +35,7 @@
public class DataMetadataLoaderIT extends AbstractLoaderIT<DataMetadata, DataMetadataLoader> {
public DataMetadataLoaderIT() {
- super(DataMetadataLoader.class, 41, 28);
+ super(DataMetadataLoader.class, 58, 28);
}
@Test
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataTypeLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataTypeLoaderIT.java 2012-03-28 12:18:31 UTC (rev 425)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/DataTypeLoaderIT.java 2012-03-28 16:06:23 UTC (rev 426)
@@ -35,7 +35,7 @@
public class DataTypeLoaderIT extends AbstractLoaderIT<DataType, DataTypeLoader> {
public DataTypeLoaderIT() {
- super(DataTypeLoader.class, 17, 0);
+ super(DataTypeLoader.class, 21, 0);
}
@Test
Modified: trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv
===================================================================
--- trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv 2012-03-28 12:18:31 UTC (rev 425)
+++ trunk/echobase-tools/src/test/resources/csv/new/input-DataMetadata.csv 2012-03-28 16:06:23 UTC (rev 426)
@@ -40,3 +40,20 @@
"SigmaSp";;"Species mean backscattering cross-section";;"m²";;;;;0;999999999;1;0;999999;;
"pondBiomass";;"Biomass estimate (in weight) extrapolated to the inter-transect width";;"tons";;;;;0;999999999;1;0;9999999;;
"pondAbundance";;"Abundance estimate (in number of fish) extrapolated to the inter-transect width";;"no. of fish";;;;;0;999999999;1;0;9999999999;;
+"VarianceXe";;"XeRegionVariance";;;;;;;0;999999999;1;0;999999;;"Variance of acoustic scaling factors in (region) cells"
+"VarianceNASC";;"ArealNASCVariance";;;;;;;0;999999999;1;0;999999;;"Variance of acoustic densities in (region) cells"
+"MeanNASC";;"ArealNASCMean";;"m²/nmi²";;;;;0;999999999;1;0;999999;;"Average of acoustic densities in (region) cells"
+"NASCWeightedMeanXe";;"ArealNASCWeightedMeanXe";;;;;;;0;999999999;1;0;999999;;"Average of acoustic scaling factors in area, weighted by fish NASC per echotype around hauls"
+"Nesdu";;"NesduInArea";;;;;;;1;999;1;0;999999;;"Number of acoustic esdus in area"
+"Nhauls";;"NhaulsInArea";;;;;;;1;999;1;0;999999;;"Number of trawl hauls in area"
+"MeanNASCWeightedBiomassDensity";;"MeanWeightedBiomassDensity";;"t/nmi²";;;;;0;999999999;1;0;999999;;"Mean Weighted Biomass Density in area, weighted by fish NASC per echotype around hauls"
+"NASCWeightedEstimationVariance";;"NASCWeightedEstimationVariance in area";;;;;;;0;999999999;1;0;999999;;"Fish biomass density estimation variance, weighted by fish NASC per echotype around hauls"
+"NASCWeightedEstimationCV";;"NASCWeightedEstimationCV in area";;"%";;;;;0;1;1;0;1;;"Fish biomass density estimation error, weighted by fish NASC per echotype around hauls"
+"MeanBiomassDensity";;"MeanBiomassDensity";;"tons/nmi²";;;;;0;999999999;1;0;999999;;"Mean Biomass Density in area"
+"EstimationVariance";;"EstimationVariance in area";;;;;;;0;999999999;1;0;999999;;"Fish biomass density estimation variance"
+"EstimationCV";;"EstimationCV in area";;"%";;;;;0;1;1;0;1;;"Fish biomass density estimation error"
+"TotalEstimationVariance";;"TotalEstimationVariance";;;;;;;0;999999999;1;0;999999;;"Fish biomass density total estimation variance, in the whole sample area"
+"TotalNASCWeightedEstimationVariance";;"TotalNASCWeightedEstimationVariance";;;;;;;0;999999999;1;0;999999;;"Fish biomass density total estimation variance, in the whole sample area, weighted by fish NASC per echotype around hauls"
+"ProportionOfTotalEstimationVariance";;"ProportionOfTotalEstimationVariance in area";;"%";;;;;0;1;1;0;1;;"Proportion in an area of the fish biomass density total estimation variance"
+"ProportionOfNASCWeightedTotalEstimationVariance";;"ProportionOfNASCWeightedTotalEstimationVariance";;"%";;;;;0;1;1;0;1;;"Proportion in an area of the fish biomass density total estimation variance, weighted by fish NASC per echotype around hauls"
+"NASCWeightedBiomass";;"NASCWeighted fish Biomass in area";;"tons";;;;;0;999999999;1;0;999999;;"Fish biomass in area, weighted by fish NASC per echotype around hauls"
Modified: trunk/echobase-tools/src/test/resources/csv/new/input-DataType.csv
===================================================================
--- trunk/echobase-tools/src/test/resources/csv/new/input-DataType.csv 2012-03-28 12:18:31 UTC (rev 425)
+++ trunk/echobase-tools/src/test/resources/csv/new/input-DataType.csv 2012-03-28 16:06:23 UTC (rev 426)
@@ -15,4 +15,8 @@
Formula;String;
MeanXe;Double;
EsduFlag;String;
-NumberOfSamples;Integer;
\ No newline at end of file
+NumberOfSamples;Integer;
+EstimationVariance;Double;
+Density;Double;
+NumberOfEsdus;Integer;
+NumberOfHauls;Integer;
1
0
r425 - trunk/echobase-services/src/test/resources/import-data/result/region
by tchemit@users.forge.codelutin.com 28 Mar '12
by tchemit@users.forge.codelutin.com 28 Mar '12
28 Mar '12
Author: tchemit
Date: 2012-03-28 14:18:31 +0200 (Wed, 28 Mar 2012)
New Revision: 425
Url: http://forge.codelutin.com/repositories/revision/echobase/425
Log:
add region association test import file
Added:
trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz
Added: trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz
===================================================================
(Binary files differ)
Property changes on: trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
28 Mar '12
Author: tchemit
Date: 2012-03-28 14:00:42 +0200 (Wed, 28 Mar 2012)
New Revision: 424
Url: http://forge.codelutin.com/repositories/revision/echobase/424
Log:
add region association import + fix esdu echotype + species cateogry import
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBasePredicates.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/VoyageImpl.java
trunk/echobase-entities/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategory.csv.gz
trunk/echobase-services/src/test/resources/import-data/result/region/regions.csv.gz
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBasePredicates.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBasePredicates.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBasePredicates.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -24,10 +24,15 @@
package fr.ifremer.echobase;
import com.google.common.base.Predicate;
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.references.AcousticInstrument;
+import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.SizeCategory;
+import java.util.Set;
+
/**
* Keep usefull precidates on model.
*
@@ -50,6 +55,52 @@
}
};
+ public static final Predicate<CellType> IS_REGION_CELL_TYPE = new Predicate<CellType>() {
+
+ public final Set<String> acceptedNames = Sets.newHashSet(
+ "RegionCLAS", "RegionSURF"
+ );
+
+ @Override
+ public boolean apply(CellType input) {
+ boolean result = acceptedNames.contains(input.getId());
+ return result;
+ }
+ };
+
+ public static final Predicate<CellType> IS_MAP_CELL_TYPE = new Predicate<CellType>() {
+
+ public final Set<String> acceptedNames = Sets.newHashSet(
+ "Map"
+ );
+
+ @Override
+ public boolean apply(CellType input) {
+ boolean result = acceptedNames.contains(input.getId());
+ return result;
+ }
+ };
+
+ public static final Predicate<Cell> IS_REGION_CELL = new Predicate<Cell>() {
+ @Override
+ public boolean apply(Cell input) {
+ CellType cellType = input.getCellType();
+ boolean result = cellType != null &&
+ IS_REGION_CELL_TYPE.apply(cellType);
+ return result;
+ }
+ };
+
+ public static final Predicate<Cell> IS_MAP_CELL = new Predicate<Cell>() {
+ @Override
+ public boolean apply(Cell input) {
+ CellType cellType = input.getCellType();
+ boolean result = cellType != null &&
+ IS_MAP_CELL_TYPE.apply(cellType);
+ return result;
+ }
+ };
+
public static Predicate<Echotype> newEchotypeByNamePredicate(String name) {
return new EchotypeByNamePredicate(name);
}
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/VoyageImpl.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/VoyageImpl.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/VoyageImpl.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -28,6 +28,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseFunctions;
+import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.entities.references.Vessel;
import java.util.Collection;
@@ -146,4 +147,28 @@
}
return result;
}
+
+ @Override
+ public Collection<Cell> getRegionCells() {
+ Collection<Cell> result;
+ if (isPostCellEmpty()) {
+ result = Lists.newArrayList();
+ } else {
+ result = Collections2.filter(getPostCell(),
+ EchoBasePredicates.IS_REGION_CELL);
+ }
+ return result;
+ }
+
+ @Override
+ public Collection<Cell> getMapCells() {
+ Collection<Cell> result;
+ if (isPostCellEmpty()) {
+ result = Lists.newArrayList();
+ } else {
+ result = Collections2.filter(getPostCell(),
+ EchoBasePredicates.IS_MAP_CELL);
+ }
+ return result;
+ }
}
Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -39,7 +39,6 @@
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
-import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.services.ImportException;
import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportModel;
import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportRow;
@@ -93,13 +92,11 @@
importResult, user);
inputFile = configuration.getRegionAssociationFile();
- if (inputFile.hasFile()) {
- importResult = importRegionAssociationFile(
- configuration,
- inputFile,
- voyage);
- addResultAndLog(result, inputFile, importResult, user);
- }
+ importResult = importRegionAssociationFile(
+ configuration,
+ inputFile,
+ voyage);
+ addResultAndLog(result, inputFile, importResult, user);
inputFile = configuration.getRegionResultFile();
if (inputFile.hasFile()) {
@@ -125,9 +122,10 @@
CellType.class, CellType.PROPERTY_ID, "RegionCLAS");
Preconditions.checkNotNull(cellBottomType);
- DataMetadata dataXMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "Coordinate");
- Preconditions.checkNotNull(dataXMeta);
+ DataMetadata dataCoordinateMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME,
+ "RegionEnvCoordinates");
+ Preconditions.checkNotNull(dataCoordinateMeta);
DataMetadata dataSurfaceMeta = getEntityByProperty(
DataMetadata.class, DataMetadata.PROPERTY_NAME, "Surface");
@@ -137,14 +135,15 @@
Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
voyage), EchoBaseFunctions.VOYAGE_NAME);
- Map<String, DepthStratum> depthStratumMap = getEntitiesMap(
- DepthStratum.class,
- EchoBaseFunctions.DEPTH_STRATUM_ID);
+ // authorize only to use region* cell types
+ Map<String, CellType> cellTypeMap = Maps.uniqueIndex(
+ Arrays.asList(cellSurfaceType, cellBottomType),
+ EchoBaseFunctions.CELL_TYPE_ID);
RegionCellImportModel csvModel = new RegionCellImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
voyageMap,
- depthStratumMap
+ cellTypeMap
);
if (log.isInfoEnabled()) {
@@ -162,38 +161,19 @@
try {
EchoBaseImport<RegionCellImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
Cell cell = null;
configuration.incrementsProgression();
for (RegionCellImportRow row : importer) {
-
- rowNumber++;
configuration.incrementsProgression();
if (cell == null || !row.getName().equals(cell.getName())) {
- // new cell to create
- String depthStratumId = row.getDepthStratum().getId();
- CellType cellType;
- if ("SURF".equals(depthStratumId)) {
-
- cellType = cellSurfaceType;
- } else if ("CLAS".equals(depthStratumId)) {
- cellType = cellBottomType;
-
- } else {
- throw new ImportException(
- "[Line " + rowNumber +
- "] Depth stratum should be 'SURF' or 'CLAS', " +
- "but was " + depthStratumId);
- }
-
cell = create(dao);
cell.setName(row.getName());
- cell.setCellType(cellType);
+ cell.setCellType(row.getCellType());
voyage.addPostCell(cell);
importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell);
@@ -209,7 +189,7 @@
// add coordinate data
createCellData(dataDao,
cell,
- dataXMeta,
+ dataCoordinateMeta,
row.getDataCoordinate(),
importResult
);
@@ -223,48 +203,57 @@
}
}
- private void createCellData(DataDAO dao,
- Cell cell,
- DataMetadata dataMetaData,
- String dataValue,
- CsvFileImportResult importResult) {
-
- Data data = create(dao);
- data.setDataMetadata(dataMetaData);
- data.setDataValue(dataValue);
- cell.addData(data);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
- }
-
protected CsvFileImportResult importRegionAssociationFile(ResultsImportConfiguration configuration,
InputFile inputFile,
Voyage voyage) throws ImportException {
- RegionCellAssociationImportModel csvModel = new RegionCellAssociationImportModel(
- serviceContext.getConfiguration().getCsvSeparator());
if (log.isInfoEnabled()) {
- log.info("Starts import of Map cells from file " +
+ log.info("Starts import of Region cells association from file " +
inputFile.getFileName());
}
+ // authorize only the selected voyage to be imported
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
+ voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ Map<String, Cell> regionsMap = Maps.uniqueIndex(
+ voyage.getRegionCells(), EchoBaseFunctions.CELL_BY_NAME);
+
+ RegionCellAssociationImportModel csvModel = new RegionCellAssociationImportModel(
+ serviceContext.getConfiguration().getCsvSeparator(),
+ voyage,
+ voyageMap,
+ regionsMap,
+ getDAO(Cell.class, CellDAO.class));
+
CsvFileImportResult importResult = new CsvFileImportResult(
inputFile.getFileName());
- CellDAO dao = getDAO(Cell.class, CellDAO.class);
-
Reader reader = getInputFileReader(inputFile);
try {
EchoBaseImport<RegionCellAssociationImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
+ int rowNumber = 0;
+
configuration.incrementsProgression();
for (RegionCellAssociationImportRow row : importer) {
+ rowNumber++;
configuration.incrementsProgression();
- //TODO Do me
+ Cell regionCell = row.getRegionCell();
+ Cell esduCell = row.getEsduCell();
+ regionCell.addChilds(esduCell);
+ if (rowNumber % 100 == 0) {
+ if (log.isInfoEnabled()) {
+ log.info("Treat row " + rowNumber + " for esdu cell " +
+ esduCell.getName());
+ }
+ }
+
+
importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell);
}
@@ -316,5 +305,19 @@
}
}
+ private void createCellData(DataDAO dao,
+ Cell cell,
+ DataMetadata dataMetaData,
+ String dataValue,
+ CsvFileImportResult importResult) {
+ Data data = create(dao);
+ data.setDataMetadata(dataMetaData);
+ data.setDataValue(dataValue);
+ cell.addData(data);
+
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
+ }
+
+
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -24,7 +24,13 @@
package fr.ifremer.echobase.services.importdata.csv;
import fr.ifremer.echobase.csv.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Voyage;
+import java.util.Map;
+
/**
* Model to import cells associations from region cells and esdu cells.
*
@@ -33,8 +39,16 @@
*/
public class RegionCellAssociationImportModel extends AbstractImportModel<RegionCellAssociationImportRow> {
- public RegionCellAssociationImportModel(char separator) {
+ public RegionCellAssociationImportModel(char separator,
+ Voyage voyage,
+ Map<String, Voyage> voyageMap,
+ Map<String, Cell> regionCellMap,
+ CellDAO cellDAO) {
super(separator);
+ newForeignKeyColumn(RegionCellAssociationImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
+ newForeignKeyColumn("region.name", RegionCellAssociationImportRow.PROPERTY_REGION_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap);
+ newMandatoryColumn("esdu.name", RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportRow.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportRow.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -24,6 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Voyage;
/**
* Bean used as a row for import of {@link RegionCellAssociationImportModel}.
@@ -33,36 +34,42 @@
*/
public class RegionCellAssociationImportRow {
+ public static final String PROPERTY_VOYAGE = "voyage";
+
+ public static final String PROPERTY_ESDU_CELL = "esduCell";
+
+ public static final String PROPERTY_REGION_CELL = "regionCell";
+
+ protected Voyage voyage;
+
protected Cell esduCell;
- protected Cell regionSurfaceCell;
+ protected Cell regionCell;
- protected Cell regionBottomCell;
-
public RegionCellAssociationImportRow() {
}
- public Cell getEsduCell() {
- return esduCell;
+ public Voyage getVoyage() {
+ return voyage;
}
- public void setEsduCell(Cell esduCell) {
- this.esduCell = esduCell;
+ public Cell getRegionCell() {
+ return regionCell;
}
- public Cell getRegionSurfaceCell() {
- return regionSurfaceCell;
+ public Cell getEsduCell() {
+ return esduCell;
}
- public void setRegionSurfaceCell(Cell regionSurfaceCell) {
- this.regionSurfaceCell = regionSurfaceCell;
+ public void setVoyage(Voyage voyage) {
+ this.voyage = voyage;
}
- public Cell getRegionBottomCell() {
- return regionBottomCell;
+ public void setRegionCell(Cell regionCell) {
+ this.regionCell = regionCell;
}
- public void setRegionBottomCell(Cell regionBottomCell) {
- this.regionBottomCell = regionBottomCell;
+ public void setEsduCell(Cell esduCell) {
+ this.esduCell = esduCell;
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.DepthStratum;
+import fr.ifremer.echobase.entities.references.CellType;
import java.util.Map;
@@ -40,16 +40,14 @@
public RegionCellImportModel(char separator,
Map<String, Voyage> voyageMap,
- Map<String, DepthStratum> depthStramMap) {
+ Map<String, CellType> cellTypeMap) {
super(separator);
newForeignKeyColumn(RegionCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newForeignKeyColumn(RegionCellImportRow.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStramMap);
+ newForeignKeyColumn(RegionCellImportRow.PROPERTY_CELL_TYPE, CellType.class, CellType.PROPERTY_ID, cellTypeMap);
newMandatoryColumn(RegionCellImportRow.PROPERTY_NAME);
- newMandatoryColumn("x", RegionCellImportRow.PROPERTY_DATA_X, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("y", RegionCellImportRow.PROPERTY_DATA_Y, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("z", RegionCellImportRow.PROPERTY_DATA_Z, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn("regionEnvCoordinates", RegionCellImportRow.PROPERTY_DATA_COORDINATE);
newMandatoryColumn("surface", RegionCellImportRow.PROPERTY_DATA_SURFACE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.DepthStratum;
+import fr.ifremer.echobase.entities.references.CellType;
/**
* Bean used as a row for import of {@link RegionCellImportModel}.
@@ -38,28 +38,20 @@
public static final String PROPERTY_VOYAGE = "voyage";
- public static final String PROPERTY_DEPTH_STRATUM = "depthStratum";
+ public static final String PROPERTY_CELL_TYPE = "cellType";
- public static final String PROPERTY_DATA_X = "dataX";
+ public static final String PROPERTY_DATA_COORDINATE = "dataCoordinate";
- public static final String PROPERTY_DATA_Y = "dataY";
-
- public static final String PROPERTY_DATA_Z = "dataZ";
-
public static final String PROPERTY_DATA_SURFACE = "dataSurface";
protected Voyage voyage;
- protected DepthStratum depthStratum;
+ protected CellType cellType;
protected String name;
- protected float dataX;
+ protected String dataCoordinate;
- protected float dataY;
-
- protected float dataZ;
-
protected float dataSurface;
public RegionCellImportRow() {
@@ -69,8 +61,8 @@
return voyage;
}
- public DepthStratum getDepthStratum() {
- return depthStratum;
+ public CellType getCellType() {
+ return cellType;
}
public String getName() {
@@ -78,7 +70,7 @@
}
public String getDataCoordinate() {
- return dataX + "," + dataY + "," + dataZ;
+ return dataCoordinate;
}
public float getDataSurface() {
@@ -93,22 +85,14 @@
this.voyage = voyage;
}
- public void setDepthStratum(DepthStratum depthStratum) {
- this.depthStratum = depthStratum;
+ public void setCellType(CellType cellType) {
+ this.cellType = cellType;
}
- public void setDataX(float dataX) {
- this.dataX = dataX;
+ public void setDataCoordinate(String dataCoordinate) {
+ this.dataCoordinate = dataCoordinate;
}
- public void setDataY(float dataY) {
- this.dataY = dataY;
- }
-
- public void setDataZ(float dataZ) {
- this.dataZ = dataZ;
- }
-
public void setDataSurface(float dataSurface) {
this.dataSurface = dataSurface;
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -23,10 +23,17 @@
*/
package fr.ifremer.echobase.services.importdata;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.InputFile;
+import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataAcquisition;
import fr.ifremer.echobase.entities.data.DataProcessing;
@@ -51,7 +58,11 @@
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.util.TimeLog;
+import java.io.File;
+import java.io.Reader;
import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
/**
* Abstrac import data test.
@@ -198,4 +209,142 @@
throw new EchoBaseTechnicalException("Could not create entity", e);
}
}
+
+ protected void addMissingEsduCells(String esduColumnName,
+ String voyageId,
+ InputFile inputFile) throws TopiaException {
+
+ ResultsImportService service =
+ getService(ResultsImportService.class);
+ Voyage voyage = getEntityById(Voyage.class, voyageId);
+ Transit transit;
+ Transect transect;
+ DataAcquisition dataAcquisition;
+ DataProcessing dataProcessing;
+
+ if (voyage.isTransitEmpty()) {
+
+ // create a fake transit
+ transit = create(getDAO(Transit.class));
+ voyage.addTransit(transit);
+ } else {
+ transit = voyage.getTransit().get(0);
+ }
+
+ if (transit.isTransectEmpty()) {
+
+ // create a fake transect
+ transect = create(getDAO(Transect.class));
+ transit.addTransect(transect);
+ } else {
+ transect = transit.getTransect().get(0);
+ }
+
+ if (transect.isDataAcquisitionEmpty()) {
+
+ // create a fake dataAcquisition
+ dataAcquisition = create(getDAO(DataAcquisition.class));
+ transect.addDataAcquisition(dataAcquisition);
+ } else {
+ dataAcquisition = transect.getDataAcquisition().iterator().next();
+ }
+
+ if (dataAcquisition.isDataProcessingEmpty()) {
+
+ // creates a fake dataProcessing
+ dataProcessing = create(getDAO(DataProcessing.class));
+ dataAcquisition.addDataProcessing(dataProcessing);
+ } else {
+ dataProcessing = dataAcquisition.getDataProcessing().iterator().next();
+ }
+
+ CellDAO dao = (CellDAO) getDAO(Cell.class);
+
+ Set<String> cellsNames;
+
+ if (dataProcessing.isCellEmpty()) {
+ cellsNames = Sets.newHashSet();
+ } else {
+ cellsNames = Sets.newHashSet(Collections2.transform(
+ dataProcessing.getCell(), EchoBaseFunctions.CELL_BY_NAME));
+ }
+
+ ResultEdsuImportMockImportModel csvModel = new ResultEdsuImportMockImportModel(
+ serviceContext.getConfiguration().getCsvSeparator(),
+ esduColumnName,
+ inputFile.getFile());
+
+ Reader reader = service.getInputFileReader(inputFile);
+ try {
+ EchoBaseImport<ResultEdsuImportMockImportModelRow> importer =
+ EchoBaseImport.newImport(csvModel, reader);
+
+ for (ResultEdsuImportMockImportModelRow row : importer) {
+
+ String esduCellId = row.getName();
+
+ if (!cellsNames.contains(esduCellId)) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Adding missing esdu cell with name " +
+ esduCellId);
+ }
+
+ Cell cell = dao.create(Cell.PROPERTY_NAME, esduCellId);
+ dataProcessing.addCell(cell);
+ cellsNames.add(esduCellId);
+ }
+ }
+
+ flushTransaction();
+ } finally {
+
+
+ service.closeReader(reader, inputFile);
+ }
+ }
+
+ public static class ResultEdsuImportMockImportModel extends AbstractImportModel<ResultEdsuImportMockImportModelRow> {
+
+ public ResultEdsuImportMockImportModel(char separator,
+ String esduColumnName,
+ File file) {
+ super(separator);
+
+ newMandatoryColumn(esduColumnName, "name");
+
+ String[] header = EchoBaseImport.getHeader(file, separator);
+
+ for (String columnHeader : header) {
+
+ if (!esduColumnName.equals(columnHeader) &&
+ !("\"" + esduColumnName + "\"").equals(columnHeader)) {
+ Matcher matcher = ResultsEsduCellImportService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader);
+ if (matcher.matches()) {
+ newIgnoredColumn(matcher.group(1));
+ } else {
+ newIgnoredColumn(columnHeader);
+ }
+ }
+ }
+ }
+
+ @Override
+ public ResultEdsuImportMockImportModelRow newEmptyInstance() {
+ return new ResultEdsuImportMockImportModelRow();
+ }
+ }
+
+ public static class ResultEdsuImportMockImportModelRow {
+
+ protected String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+ }
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -23,23 +23,11 @@
*/
package fr.ifremer.echobase.services.importdata;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Sets;
-import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
-import fr.ifremer.echobase.entities.data.DataAcquisition;
-import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.Transect;
-import fr.ifremer.echobase.entities.data.Transit;
-import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SizeCategory;
@@ -48,13 +36,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
-import java.io.File;
-import java.io.Reader;
import java.util.List;
-import java.util.Set;
-import java.util.regex.Matcher;
/**
* Test import of esdu results.
@@ -78,7 +61,7 @@
}
@Test
- public void doImportEsduResultByEchotype() throws Exception {
+ public void doImportByEchotype() throws Exception {
assertImportCommonData();
assertImportOperations();
@@ -97,7 +80,7 @@
InputFile inputFile = conf.getEsduByEchotypeFile();
prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz"));
- addMissingEsduCells(conf.getVoyageId(), inputFile);
+ addMissingEsduCells("name", conf.getVoyageId(), inputFile);
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
@@ -108,7 +91,7 @@
}
@Test
- public void doImportEsduResultByEchotypeAndSpecies() throws Exception {
+ public void doImportByEchotypeAndSpecies() throws Exception {
assertImportCommonData();
assertImportOperations();
@@ -128,7 +111,7 @@
prepareInputFile(inputFile,
getImportPath("byEchotypeAndSpeciesCategory.csv.gz"));
- addMissingEsduCells(conf.getVoyageId(), inputFile);
+ addMissingEsduCells("name", conf.getVoyageId(), inputFile);
//TODO Remove this when referentiel is ok
create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "SigmaSp");
@@ -143,7 +126,7 @@
}
@Test
- public void doImportEsduResultBySpeciesAndSizeCategory() throws Exception {
+ public void doImportBySpeciesAndSizeCategory() throws Exception {
assertImportCommonData();
assertImportOperations();
@@ -163,7 +146,7 @@
prepareInputFile(intputFile,
getImportPath("bySpeciesAndSizeCategory.csv.gz"));
- addMissingEsduCells(conf.getVoyageId(), intputFile);
+ addMissingEsduCells("name", conf.getVoyageId(), intputFile);
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
@@ -175,7 +158,7 @@
}
@Test
- public void doImportEsduResultBySpeciesAndAgeCategory() throws Exception {
+ public void doImportBySpeciesAndAgeCategory() throws Exception {
assertImportCommonData();
assertImportOperations();
@@ -195,7 +178,7 @@
prepareInputFile(inputFile,
getImportPath("bySpeciesAndAgeCategory.csv.gz"));
- addMissingEsduCells(conf.getVoyageId(), inputFile);
+ addMissingEsduCells("name", conf.getVoyageId(), inputFile);
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
@@ -206,138 +189,5 @@
assertCsvImportResult(result, 0, SpeciesCategory.class, 14, 0, 471);
}
- protected void addMissingEsduCells(String voyageId,
- InputFile inputFile) throws TopiaException {
- ResultsImportService service =
- getService(ResultsImportService.class);
- Voyage voyage = getEntityById(Voyage.class, voyageId);
- Transit transit;
- Transect transect;
- DataAcquisition dataAcquisition;
- DataProcessing dataProcessing;
-
- if (voyage.isTransitEmpty()) {
-
- // create a fake transit
- transit = create(getDAO(Transit.class));
- voyage.addTransit(transit);
- } else {
- transit = voyage.getTransit().get(0);
- }
-
- if (transit.isTransectEmpty()) {
-
- // create a fake transect
- transect = create(getDAO(Transect.class));
- transit.addTransect(transect);
- } else {
- transect = transit.getTransect().get(0);
- }
-
- if (transect.isDataAcquisitionEmpty()) {
-
- // create a fake dataAcquisition
- dataAcquisition = create(getDAO(DataAcquisition.class));
- transect.addDataAcquisition(dataAcquisition);
- } else {
- dataAcquisition = transect.getDataAcquisition().iterator().next();
- }
-
- if (dataAcquisition.isDataProcessingEmpty()) {
-
- // creates a fake dataProcessing
- dataProcessing = create(getDAO(DataProcessing.class));
- dataAcquisition.addDataProcessing(dataProcessing);
- } else {
- dataProcessing = dataAcquisition.getDataProcessing().iterator().next();
- }
-
- CellDAO dao = (CellDAO) getDAO(Cell.class);
-
- Set<String> cellsNames;
-
- if (dataProcessing.isCellEmpty()) {
- cellsNames = Sets.newHashSet();
- } else {
- cellsNames = Sets.newHashSet(Collections2.transform(
- dataProcessing.getCell(), EchoBaseFunctions.CELL_BY_NAME));
- }
-
- ResultEdsuImportMockImportModel csvModel = new ResultEdsuImportMockImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
- inputFile.getFile());
-
- Reader reader = service.getInputFileReader(inputFile);
- try {
- EchoBaseImport<ResultEdsuImportMockImportModelRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
-
- for (ResultEdsuImportMockImportModelRow row : importer) {
-
- String esduCellId = row.getName();
-
- if (!cellsNames.contains(esduCellId)) {
-
- if (log.isDebugEnabled()) {
- log.debug("Adding missing esdu cell with name " +
- esduCellId);
- }
-
- Cell cell = dao.create(Cell.PROPERTY_NAME, esduCellId);
- dataProcessing.addCell(cell);
- cellsNames.add(esduCellId);
- }
- }
-
- flushTransaction();
- } finally {
-
-
- service.closeReader(reader, inputFile);
- }
- }
-
- public static class ResultEdsuImportMockImportModel extends AbstractImportModel<ResultEdsuImportMockImportModelRow> {
-
- public ResultEdsuImportMockImportModel(char separator, File file) {
- super(separator);
-
- newMandatoryColumn("name");
-
- String[] header = EchoBaseImport.getHeader(file, separator);
-
- for (String columnHeader : header) {
-
- if (!"name".equals(columnHeader) &&
- !"\"name\"".equals(columnHeader)) {
- Matcher matcher = ResultsEsduCellImportService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader);
- if (matcher.matches()) {
- newIgnoredColumn(matcher.group(1));
- } else {
- newIgnoredColumn(columnHeader);
- }
- }
- }
- }
-
- @Override
- public ResultEdsuImportMockImportModelRow newEmptyInstance() {
- return new ResultEdsuImportMockImportModelRow();
- }
-
- }
-
- public static class ResultEdsuImportMockImportModelRow {
-
- protected String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
- }
}
\ No newline at end of file
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 12:00:42 UTC (rev 424)
@@ -72,22 +72,26 @@
prepareInputFile(conf.getRegionsFile(),
getImportPath("regions.csv.gz"));
//TODO Use this
-// prepareInputFile(conf.getRegionAssociationFile(),
-// getImportPath("regionAssociations.csv.gz"));
+ prepareInputFile(conf.getRegionAssociationFile(),
+ getImportPath("regionAssociations.csv.gz"));
// prepareInputFile(conf.getRegionsFile(),
// getImportPath("regionResults.csv.gz"));
//TODO Remove this when referentiel is ok
create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionSURF");
create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionCLAS");
- create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Coordinate");
+ create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "RegionEnvCoordinates");
+ addMissingEsduCells("esdu.name",
+ conf.getVoyageId(),
+ conf.getRegionAssociationFile());
+
List<CsvFileImportResult> result;
- result = doImport(conf, ResultsRegionCellImportService.class, 1);
+ result = doImport(conf, ResultsRegionCellImportService.class, 2);
- assertCsvImportResult(result, 0, Cell.class, 10);
+ assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083);
assertCsvImportResult(result, 0, Data.class, 238);
- //assertCsvImportResult(result,1, Result.class, 0);
+ assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083);
//assertCsvImportResult(result,2, Result.class, 0);
}
Modified: trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategory.csv.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/test/resources/import-data/result/region/regions.csv.gz
===================================================================
(Binary files differ)
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-03-28 10:15:53 UTC (rev 423)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-03-28 12:00:42 UTC (rev 424)
@@ -1,258 +1,25 @@
-echobase.action.applySqlQuery=Appliquer la requête
-echobase.action.backToUserList=Retour à la liste des utilisateurs
-echobase.action.cancel=Annuler
-echobase.action.cloneSqlQuery=Cloner
-echobase.action.configureImport=Configurer l'import
-echobase.action.create=Créer
-echobase.action.createEmbeddedApplication=Créer l'application
-echobase.action.createMission=Créer la mission
-echobase.action.createNewMission=Créer une nouvelle mission
-echobase.action.createSqlQuery=Enregistrer
-echobase.action.delete=Suppression
-echobase.action.deleteSqlQuery=Supprimer
-echobase.action.downloadEmbeddedApplicationFile=Télécharger l'application embarquée
-echobase.action.downloadExportDbFile=Télécharger le fichier d'export de la base complête
-echobase.action.export=Exporter
-echobase.action.exportSqlData=Exporter les données
-echobase.action.exportTable=Exporter
-echobase.action.generateSqlQuery=Générer la requète
-echobase.action.import=Importer
-echobase.action.importTable=Importer
-echobase.action.locale.english=Anglais
-echobase.action.locale.french=Français
-echobase.action.login=Connection
-echobase.action.logout=Déconnexion
-echobase.action.newLibreOfficeQuery=Nouvelle requète Libre office
-echobase.action.newQuery=Nouvelle requète
-echobase.action.reloadSqlQuery=Recharger
-echobase.action.reset=Annuler
-echobase.action.return=Retour
-echobase.action.save=Sauvegarder
-echobase.action.saveSqlQuery=Mettre à jour
-echobase.action.toEnglish=Utiliser la version anglaise
-echobase.action.toFrench=Utiliser la version française
-echobase.action.usingEnglish=Version anglaise utilisé
-echobase.action.usingFrench=Version française utilisé
-echobase.common.acousticDensityUnit=acousticDensityUnit
-echobase.common.acquisitionSoftwareVersionER60=acquisitionSoftwareVersion (ER60 instrument)
-echobase.common.acquisitionSoftwareVersionME70=acquisitionSoftwareVersion (ME70 instrument)
-echobase.common.addDataAcquisition=Toujours créer des DataAcqusitions
-echobase.common.admin=Administrateur
-echobase.common.cellPositionReference=cellPositionReference
-echobase.common.digitThreshold=digitThreshold
-echobase.common.echosounderSoundSpeed=echosounderSoundSpeed
-echobase.common.email=Email
-echobase.common.entityType=Type d'entité
-echobase.common.importDataMode=Type d'import
-echobase.common.importError=Message d'erreur
-echobase.common.importFileName=Nom du fichier importé
-echobase.common.importMode=Type d'import
-echobase.common.importResult=Résultat de l'import
-echobase.common.inProgress=en cours...
-echobase.common.jdbcLogin=Login de connexion
-echobase.common.jdbcPassword=Mot de passe
-echobase.common.jdbcUrl=Url de connexion
-echobase.common.loggedDataDatatype=loggedDataDatatype
-echobase.common.loggedDataFormat=loggedDataFormat
-echobase.common.nbCreatedObjects=Nombre d'objets crées
-echobase.common.notes=notes
-echobase.common.password=Mot de passe
-echobase.common.pingDutyCycle=pingDutyCycle
-echobase.common.processingDescription=processingDescription
-echobase.common.processingTemplate=processingTemplate
-echobase.common.resultLabel=Result label
-echobase.common.soundSpeedCalculationsER60=soundSpeedCalculations (ER60 instrument)
-echobase.common.soundSpeedCalculationsME70=soundSpeedCalculations (ME70 instrument)
-echobase.common.sounderConstant=sounderConstant
-echobase.common.transceiverAcquisitionAbsorptionDescription=transceiverAcquisitionAbsorptionDescription
-echobase.common.transectBinUnitsPingAxis=BinUnitsPingAxis (transect)
-echobase.common.transectGeospatialVerticalPositive=GeospatialVerticalPositive (transect)
-echobase.common.transectLicence=Licence (transect)
-echobase.common.transitRelatedActivity=RelatedActivity (transit)
-echobase.common.user=Utilisateur
-echobase.common.voyageDescription=Description
-echobase.confirm.delete.query=Confirmer la suppression de la requète suivante
-echobase.error.bad.password=Mot de passe incorrrect
-echobase.error.email.already.used=Nom d'utilisateur déjà pris
-echobase.error.export.description.requiredstring=La description de l'export est obligatoire
-echobase.error.export.name.requiredstring=Le nom de l'export est obligatoire
-echobase.error.export.sqlQuery.forbidden.alter.word=La requète contient le mot 'ALTER', ce qui est interdit
-echobase.error.export.sqlQuery.forbidden.delete.word=La requète contient le mot 'DELETE', ce qui est interdit
-echobase.error.export.sqlQuery.forbidden.drop.word=La requète contient le mot 'DROP', ce qui est interdit
-echobase.error.export.sqlQuery.forbidden.insert.word=La requète contient le mot 'INSERT', ce qui est interdit
-echobase.error.export.sqlQuery.forbidden.update.word=La requète contient le mot 'UPDATE', ce qui est interdit
-echobase.error.export.sqlQuery.requiredstring=La requête de l'export est obligatoire
-echobase.error.export.sqlQuery.wrongformat=La requêtes n'est pas valide
-echobase.error.import.acousticDensityUnit.required=acousticDensityUnit non renseigné
-echobase.error.import.acquisitionSoftwareVersionER60.required=acquisitionSoftwareVersionER60 non renseigné
-echobase.error.import.acquisitionSoftwareVersionME70.required=acquisitionSoftwareVersionME70 non renseigné
-echobase.error.import.areaOfOperation.required=La sélection d'une zone d'opération est obligatoire
-echobase.error.import.biometrySampleFile.required=La sélection d'un fichier BiometrySample est obligatoire
-echobase.error.import.cellPositionReference.required=La sélection d'un cellPositionReference est obligatoire
-echobase.error.import.datum.required=Datum de la campagne non rengeigné
-echobase.error.import.digitThreshold.required=digitThreshold non renseigné
-echobase.error.import.echosounderSoundSpeed.required=echosounderSoundSpeed non renseigné
-echobase.error.import.echotypeFile.required=La sélection d'un fichier Echotype est obligatoire
-echobase.error.import.esduByEchotypeAndSpeciesCategoryFile.required=La sélection d'un fichier d'import est obligatoire
-echobase.error.import.esduByEchotypeFile.required=La sélection d'un fichier d'import est obligatoire
-echobase.error.import.esduBySpeciesAndAgeCategoryFile.required=La sélection d'un fichier d'import est obligatoire
-echobase.error.import.esduBySpeciesAndSizeCategoryFile.required=La sélection d'un fichier d'import est obligatoire
-echobase.error.import.gearMetadataFile.required=La sélection d'un fichier GearMetadata est obligatoire
-echobase.error.import.importMode.required=Le mode d'import est obligatoire
-echobase.error.import.lengthWeightKeyFile.required=La sélection d'un fichier lengthWeightKey est obligatoire
-echobase.error.import.loggedDataDatatype.required=loggedDataDatatype non renseigné
-echobase.error.import.loggedDataFormat.required=loggedDataFormat non renseigné
-echobase.error.import.mapResultFile.required=La sélection d'un fichier de résultats de Carte est obligatoire
-echobase.error.import.mapsFile.required=La sélection d'un fichier Carte est obligatoire
-echobase.error.import.mission.required=La sélection d'une mission est obligatoire
-echobase.error.import.missionAbstract.required=Le résumé de la mission est obligatoire
-echobase.error.import.missionName.required=Le nom de la mission est obligatoire
-echobase.error.import.moviesFile.required=La sélection d'un fichier Movies est obligatoire
-echobase.error.import.notes.required=Note des DataProcessing non renseigné
-echobase.error.import.operationFile.required=La sélection d'un fichier Operation est obligatoire
-echobase.error.import.operationMetadataFile.required=La sélection d'un fichier OperationMetadata est obligatoire
-echobase.error.import.pingDutyCycle.required=pingDutyCycle non renseigné
-echobase.error.import.processingDescription.required=processingDescription non renseigné
-echobase.error.import.processingTemplate.required=processingTemplate non renseigné
-echobase.error.import.regionAssociationFile.required=La sélection d'un fichier d'association de Région est obligatoire
-echobase.error.import.regionResultFile.required=La sélection d'un fichier de résultats de Région est obligatoire
-echobase.error.import.regionsFile.required=La sélection d'un fichier Region est obligatoire
-echobase.error.import.resultImportFile.required=Veuillez sélectionner au moins un fichier à importer
-echobase.error.import.resultLabel.required=Le champs ResultLabel est obligatoire
-echobase.error.import.soundSpeedCalculationsER60.required=soundSpeedCalculationsER60 non renseigné
-echobase.error.import.soundSpeedCalculationsME70.required=soundSpeedCalculationsME70 non renseigné
-echobase.error.import.sounderConstant.required=sounderConstant non renseigné
-echobase.error.import.subSampleFile.required=La sélection d'un fichier SubSample est obligatoire
-echobase.error.import.totalSampleFile.required=La sélection d'un fichier Sample est obligatoire
-echobase.error.import.transceiverAcquisitionAbsorptionDescription.required=transceiverAcquisitionAbsorptionDescription non renseigné
-echobase.error.import.transectBinUnitsPingAxis.required=BinUnitsPingAxis des transtects non rengeigné
-echobase.error.import.transectFile.required=La sélection d'un fichier Transect est obligatoire
-echobase.error.import.transectGeospatialVerticalPositive.required=GeospatialVerticalPositive des transtects non rengeigné
-echobase.error.import.transectLicence.required=Licence des transtects non rengeigné
-echobase.error.import.transit.required=La sélection d'un transit est obligatoire
-echobase.error.import.transitFile.required=La sélection d'un fichier Transit est obligatoire
-echobase.error.import.transitRelatedActivity.required=RelatedActivity des transits non rengeigné
-echobase.error.import.vessel.required=La sélection d'un navire est obligatoire
-echobase.error.import.voyage.required=La sélection d'une campagne est obligatoire
-echobase.error.import.voyageDescription.required=Description de la campagne non rengeigné
-echobase.error.import.voyageFile.required=La sélection d'un fichier Voyage est obligatoire
-echobase.error.importFile.required=Fichier d'import obligatoire
-echobase.error.importHistorical.input.required=Le fichier d'import est obligatoire
-echobase.error.invalid.sql=Requète non valide \: %s
-echobase.error.login.unknown=Utilisateur inconnu
-echobase.error.login.wrongLogin=Le login est déjà utilisé
-echobase.error.mission.name.already.exist=Nom de mission déjà utilisé
-echobase.error.no.embeddedApplication.configurationFound=La configuration de création d'application embarquée non trouvée
-echobase.error.no.embeddedApplication.exportFileFound=L'application embarquée générée non trouvée
-echobase.error.no.exportDb.configurationFound=La configuration de l'export de la base non trouvée
-echobase.error.no.exportDb.exportFileFound=L'archive d'export de la base non trouvée
-echobase.error.query.name.already.exists=Nom de requète déjà utilisé
-echobase.error.required.email=L'email est obligatoire
-echobase.error.required.password=Le mot de passe est obligatoire
-echobase.error.warlocation.notFound=L'application n'a pas été trouvé à l'emplacement suivant %s
-echobase.header.request.result=Résultat de la requête sql
-echobase.header.user.gridTitle=Liste des utilisateurs
-echobase.info.dbeditor.propertyDiffsResult=Résultat d'import de données
-echobase.info.import.failed=L'import a échoué.
-echobase.info.import.succeded=L'import a réussi.
-echobase.info.new.sqlQuery.inprogress=Nouvelle requète en cours de création
-echobase.info.no.sqlQuery.saved=Aucune requête d'export sql enregistrée
-echobase.info.no.sqlQuery.selected=Aucune requête d'export sql sélectionnée
-echobase.info.no.table.selected=Aucune table sélectionnée
-echobase.info.no.voyagee.found=Aucune campagne à exporter
-echobase.info.sqlQuery.not.modifiable=Vous ne pouvez pas modifier la requète sélectionnée
-echobase.info.user.create=L'utilisateur '%s' a été créée
-echobase.info.user.delete=L'utilisateur '%s' a été supprimé
-echobase.info.user.update=L'utilisateur '%s' a été mis à jour
-echobase.information.create.mission=Si la mission n'existe, suivez le lien pour en créer une nouvelle.
-echobase.information.mission.created=La mission %s a été créée
-echobase.label.admin.user.create=Création d'un utilisateur
-echobase.label.admin.user.delete=Suppression d'un utilisateur
-echobase.label.admin.user.edit=Mise à jour d'un utilisateur
-echobase.label.createIfNotFound=Créer les entités non trouvées en base
-echobase.label.embeddedApplicationFileName=Nom de l'archive à télécharger
-echobase.label.embeddedWarFileName=Nom du war à utiliser
-echobase.label.exportAsSeen=Exporter "comme à l'écran"
-echobase.label.exportDbFileName=Nom du fichier d'export
-echobase.label.exportFileName=Nom du fichier d'export
-echobase.label.import.accoustique=Fichier accoustique
-echobase.label.import.events=Fichier evenements
-echobase.label.import.lectureAgeGen=Fichier lecture age
-echobase.label.import.pecherie=Fichier pecherie
-echobase.label.import.typeEchoSpecies=Fichier espèces
-echobase.label.importFile=Fichier à importer
-echobase.label.info.changePassword=Changement du mot de passe
-echobase.label.language=Language
-echobase.label.locale.english=Anglais
-echobase.label.locale.french=Français
-echobase.label.login=Connexion
-echobase.label.numberOfCreatedEntities=Nombre d'entitiés créées
-echobase.label.numberOfUpdatedEntities=Nombre d'entitiés mises à jour
-echobase.label.query.description=Description
-echobase.label.query.name=Nom
-echobase.label.query.sql=SQL
-echobase.label.sqlQueries=Requêtes enregistrées
-echobase.label.user.login=Utilisateur \: %s
-echobase.label.voyageToSelect=Voyage à exporter
-echobase.legend.connectionToDb.detail=Détail de la connection à la base de données
-echobase.legend.dbeditor.edit=Edition de '%s'
-echobase.legend.dbeditor.show=Visualisation de '%s'
-echobase.legend.embeddedApplication.configuration=Configuration de l'application embarquée
-echobase.legend.exportDb.configuration.files=Configuration de l'export
-echobase.legend.importData.configuration.files=Choix des fichiers d'import
-echobase.legend.importData.configuration.mission=Configurer la mission
-echobase.legend.importData.configuration.mission.resume=Résumé de la mission à utiliser
-echobase.legend.importData.configuration.resume=Résumé de la configuration d'import
-echobase.legend.importData.configuration.selectImportType=Sélection du type d'import
-echobase.legend.importData.configure=Configurer l'import
-echobase.legend.importData.configure.CommonData.selectMission=Sélection de la mission
-echobase.legend.importData.createMission=Caractéristiques de la nouvelle mission
-echobase.legend.importData.result.resume=Résultat
-echobase.legend.importDb.configuration.files=Choix du fichier d'import de la base complête (fichier zip)
-echobase.legend.importFileResult=Résultat de l'import %s
-echobase.legend.libreOfficeQuery=Requète "libre office"
-echobase.legend.sqlQuery.configuration=Configuration de la requête
-echobase.legend.sqlQuery.result=Résultats de la requête
-echobase.menu.connectToDbInformations=Informations de connection à la base de données
-echobase.menu.createEmbeddedApplication=Créer une application embarquée
-echobase.menu.editData=Modifier les données
-echobase.menu.export=Exporter des données
-echobase.menu.exportDb=Exporter une base complête
-echobase.menu.importData=Importer des données
-echobase.menu.importDb=Importer une base complête
-echobase.menu.logs=Journal des modifications
-echobase.menu.users=Gérer les utilisateurs
-echobase.menu.viewData=Visualiser les données
-echobase.message.askAdministratorPassword=Demander à un administrateur le mot de passe pour l'utilisateur donné
-echobase.message.no.row.selected=Aucune donnée sélectionnée
-echobase.message.noEntrySelection=Aucune entrée sélectionnée
-echobase.message.warnEmbeddedApplicationInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de la création de l'application embarquée.
-echobase.message.warnExportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'export.
-echobase.message.warnImportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'import.
-echobase.title.confirm.deleteQuery=Supprimer une requète
-echobase.title.connectToDbInformations=Informations de connection à la base de données
-echobase.title.createEmbeddedApplication=Création de l'application embarquée
-echobase.title.createMission=Créer une mission
-echobase.title.dbEditor=Modification de la base
-echobase.title.embeddedApplicationProgress=Création de l'application embarquée en cours
-echobase.title.embeddedApplicationResult=Résultat de la création de l'application embarquée
-echobase.title.entityModificationLogs=Journal des modifications
-echobase.title.export=Export Sql
-echobase.title.exportDb=Export complet de la base
-echobase.title.exportDbProgress=Export complêt de la base de données en cours
-echobase.title.exportDbResult=Résultat de l'export complêt de la base de données
-echobase.title.exportTable=Exporter une table
-echobase.title.importData=Import de données
-echobase.title.importData.configuration=Configuration d'un import de données
-echobase.title.importData.selectImportType=Sélection du type d'import
-echobase.title.importDataProgress=Import de données en cours
-echobase.title.importDataResult=Résultats de l'import de données
-echobase.title.importDb=Import de données historiques
-echobase.title.importDbProgress=Import de données en cours
-echobase.title.importDbResult=Résultats de l'import de données
-echobase.title.importTable=Importer une table
-echobase.title.login=Connexion
-echobase.title.modification.detail=Détail de la modification
-echobase.title.newLibreOfficeQuery=Importer une requète Libre-office
-echobase.title.users=Adminitration des utilisateurs
-echobase.title.welcome=Bienvenue dans EchoBase
+echobase.error.bad.password=
+echobase.error.email.already.used=
+echobase.error.invalid.sql=
+echobase.error.login.unknown=
+echobase.error.mission.name.already.exist=
+echobase.error.no.embeddedApplication.configurationFound=
+echobase.error.no.embeddedApplication.exportFileFound=
+echobase.error.no.exportDb.configurationFound=
+echobase.error.no.exportDb.exportFileFound=
+echobase.error.query.name.already.exists=
+echobase.error.required.email=
+echobase.error.required.password=
+echobase.error.warlocation.notFound=
+echobase.info.import.failed=
+echobase.info.import.succeded=
+echobase.info.new.sqlQuery.inprogress=
+echobase.info.no.sqlQuery.saved=
+echobase.info.no.sqlQuery.selected=
+echobase.info.no.table.selected=
+echobase.info.no.voyagee.found=
+echobase.info.sqlQuery.not.modifiable=
+echobase.info.user.create=
+echobase.info.user.delete=
+echobase.info.user.update=
+echobase.information.mission.created=
1
0