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
August 2012
- 1 participants
- 38 discussions
r556 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta echobase-services/src/main/java/fr/ifremer/echobase/services
by tchemit@users.forge.codelutin.com 18 Aug '12
by tchemit@users.forge.codelutin.com 18 Aug '12
18 Aug '12
Author: tchemit
Date: 2012-08-18 12:03:41 +0200 (Sat, 18 Aug 2012)
New Revision: 556
Url: http://forge.codelutin.com/repositories/revision/echobase/556
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA (use export improved api)
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-17 08:21:22 UTC (rev 555)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-18 10:03:41 UTC (rev 556)
@@ -30,9 +30,9 @@
) {
return DbMeta.newDbMeta(
+ new EchoBaseTopiaEntityEnumProvider(),
EchoBaseEntityEnum.values(),
- nonEditableTypes,
- new EchoBaseTopiaEntityEnumProvider()
+ nonEditableTypes
);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-17 08:21:22 UTC (rev 555)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-18 10:03:41 UTC (rev 556)
@@ -35,12 +35,13 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.out.AbstractExportEntityVisitor;
+import org.nuiton.topia.persistence.csv.out.ExportEntityVisitor;
import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
@@ -186,8 +187,8 @@
visitor.export(voyage);
}
} finally {
- // clear visitor will close export files
- visitor.clear();
+ // close visitor to close export files
+ visitor.close();
}
}
@@ -201,10 +202,11 @@
Preconditions.checkNotNull(modelFactory);
- Map<Class<?>, TopiaCsvExports.EntityExportContext> contexts = TopiaCsvExports.createReplicateEntityVisitorContexts(
+ Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> contexts = TopiaCsvExports.createReplicateEntityVisitorContexts(
modelFactory, entityMetas, associations, container);
- ReplicateEntityVisitor result = new ReplicateEntityVisitor(contexts);
+ ReplicateEntityVisitor result = new ReplicateEntityVisitor(
+ getDbMeta().getEntityEnumProvider(), contexts);
return result;
}
@@ -214,7 +216,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
- public static class ReplicateEntityVisitor extends AbstractExportEntityVisitor<EchoBaseEntityEnum> {
+ public static class ReplicateEntityVisitor extends ExportEntityVisitor<EchoBaseEntityEnum> {
protected final Set<String> categoryIds;
@@ -224,8 +226,9 @@
entity instanceof Result;
}
- public ReplicateEntityVisitor(Map<Class<?>, TopiaCsvExports.EntityExportContext> entityExporters) {
- super(entityExporters);
+ public ReplicateEntityVisitor(TopiaEntityEnumProvider<EchoBaseEntityEnum> typeProvider,
+ Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> entityExporters) {
+ super(typeProvider, entityExporters);
categoryIds = Sets.newHashSet();
}
@@ -252,11 +255,9 @@
}
@Override
- public void clear() {
-
+ public void close() throws IOException {
categoryIds.clear();
-
- super.clear();
+ super.close();
}
}
}
1
0
Author: tchemit
Date: 2012-08-17 10:21:22 +0200 (Fri, 17 Aug 2012)
New Revision: 555
Url: http://forge.codelutin.com/repositories/revision/echobase/555
Log:
refs #1404: updates libs (updates to eugene-m-p 2.5)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-16 22:44:13 UTC (rev 554)
+++ trunk/pom.xml 2012-08-17 08:21:22 UTC (rev 555)
@@ -136,7 +136,7 @@
<!-- libraries version -->
- <eugenePluginVersion>2.5-SNAPSHOT</eugenePluginVersion>
+ <eugenePluginVersion>2.5</eugenePluginVersion>
<topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
<nuitonUtilsVersion>2.6-SNAPSHOT</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
1
0
r554 - in trunk: echobase-entities/src/main/xmi echobase-services/src/main/java/fr/ifremer/echobase/services echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders
by tchemit@users.forge.codelutin.com 16 Aug '12
by tchemit@users.forge.codelutin.com 16 Aug '12
16 Aug '12
Author: tchemit
Date: 2012-08-17 00:44:13 +0200 (Fri, 17 Aug 2012)
New Revision: 554
Url: http://forge.codelutin.com/repositories/revision/echobase/554
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA (export API should be nearly stable)
Modified:
trunk/echobase-entities/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java
Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-16 16:21:10 UTC (rev 553)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-16 22:44:13 UTC (rev 554)
@@ -35,11 +35,12 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.csv.out.AbstractExportEntityVisitor;
+import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
+import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.topia.persistence.csv.out.AbstractExportEntityVisitor;
-import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
@@ -97,10 +98,10 @@
File entryFile = new File(dir, entry.getFilename());
if (entry instanceof AssociationMeta) {
AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
- exportService.exportDatas(associationMeta, entryFile);
+ exportService.exportData(associationMeta, entryFile);
} else {
TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
- exportService.exportDatas(meta, entryFile);
+ exportService.exportData(meta, entryFile);
}
}
if (log.isInfoEnabled()) {
@@ -156,10 +157,10 @@
File entryFile = new File(dir, entry.getFilename());
if (entry instanceof AssociationMeta) {
AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
- exportService.exportDatas(associationMeta, entryFile);
+ exportService.exportData(associationMeta, entryFile);
} else {
TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
- exportService.exportDatas(meta, entryFile);
+ exportService.exportData(meta, entryFile);
}
}
@@ -170,7 +171,7 @@
EchoBaseMetadatas.getDataAssociationsEntries(getDbMeta());
ReplicateEntityVisitor visitor = createVisitor(
- exportService,
+ exportService.getModelFactory(false),
dataEntries,
dataAssociationEntries,
dir
@@ -193,15 +194,15 @@
EchoBaseIOUtil.compressZipFile(zipFile, dir);
}
- public ReplicateEntityVisitor createVisitor(ExportService service,
+ public ReplicateEntityVisitor createVisitor(ExportModelFactory<EchoBaseEntityEnum> modelFactory,
MetaFilenameAware<EchoBaseEntityEnum>[] entityMetas,
Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associations,
File container) {
- Preconditions.checkNotNull(service);
+ Preconditions.checkNotNull(modelFactory);
Map<Class<?>, TopiaCsvExports.EntityExportContext> contexts = TopiaCsvExports.createReplicateEntityVisitorContexts(
- service, entityMetas, associations, container);
+ modelFactory, entityMetas, associations, container);
ReplicateEntityVisitor result = new ReplicateEntityVisitor(contexts);
return result;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-08-16 16:21:10 UTC (rev 553)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-08-16 22:44:13 UTC (rev 554)
@@ -23,20 +23,16 @@
*/
package fr.ifremer.echobase.services;
-import com.google.common.base.Charsets;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.out.EntityAssociationExportModel;
+import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
+import org.nuiton.topia.persistence.csv.out.PrepareDataForExport;
+import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.topia.persistence.csv.EntityCsvModel;
-import org.nuiton.topia.persistence.csv.out.EntityAssociationExportModel;
-import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
-import org.nuiton.util.TimeLog;
-import org.nuiton.util.csv.Export;
import org.nuiton.util.csv.ExportModel;
import org.nuiton.util.decorator.Decorator;
@@ -49,133 +45,271 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-public class ExportService extends EchoBaseServiceSupport implements ExportModelFactory<EchoBaseEntityEnum> {
+public class ExportService extends EchoBaseServiceSupport {
+//
+// /** Logger. */
+// private static final Log log = LogFactory.getLog(ExportService.class);
+//
+// public static final TimeLog TIME_LOG = new TimeLog(ExportService.class);
- /** Logger. */
- private static final Log log = LogFactory.getLog(ExportService.class);
+// public ExportModelFactory<EchoBaseEntityEnum> getDefaultExportFactory() {
+// return defaultExportFactory;
+// }
- public static final TimeLog TIME_LOG = new TimeLog(ExportService.class);
+// public ExportModelFactory<EchoBaseEntityEnum> getAsSeenExportFactory() {
+// return asSeenExportFactory;
+// }
- @Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+// @Override
+// public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+//
+// ExportModel<E> model = EntityAssociationExportModel.newExportModel(
+// getConfiguration().getCsvSeparator(),
+// associationMeta
+// );
+// return model;
+// }
+//
+// @Override
+// public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta, boolean asSeen) {
+//
+// EntityCsvModel<EchoBaseEntityEnum, E> model;
+//
+// if (asSeen) {
+//
+// // no need to have topiaId as first column
+// model = EntityCsvModel.newModel(
+// getConfiguration().getCsvSeparator(),
+// meta
+// );
+// } else {
+//
+// // normla export add topiaId column
+// model = EntityCsvModel.newModel(
+// getConfiguration().getCsvSeparator(),
+// meta,
+// TopiaEntity.TOPIA_ID
+// );
+// }
+//
+// DecoratorService service = getService(DecoratorService.class);
+//
+// for (ColumnMeta columnMeta : meta) {
+// String propertyName = columnMeta.getName();
+// Class<?> type = columnMeta.getType();
+// if (columnMeta.isFK()) {
+//
+// Class<TopiaEntity> entityType = (Class<TopiaEntity>) type;
+// if (asSeen) {
+//
+// // export decorated foreign key value
+// Decorator<TopiaEntity> decorator =
+// service.getDecorator(getLocale(), entityType, null);
+// model.addDecoratedForeignKeyForExport(propertyName, propertyName, decorator);
+// } else {
+//
+// // export foreign key value as his topiaId
+// model.addForeignKeyForExport(propertyName, entityType);
+// }
+// } else {
+// model.addDefaultColumn(propertyName, type);
+// }
+// }
+// return model;
+// }
- ExportModel<E> model = EntityAssociationExportModel.newExportModel(
- getConfiguration().getCsvSeparator(),
- associationMeta
- );
- return model;
+ public String exportDatas(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
+
+ String result = TopiaCsvExports.exportData(tableMeta,
+ getModelFactory(asSeen),
+ defaultPrepareDataForExport);
+ return result;
+//
+// Export<TopiaEntity> export = prepareExport(tableMeta, asSeen);
+//
+// try {
+// return export.toString(Charsets.UTF_8);
+// } catch (Exception eee) {
+// throw new EchoBaseTechnicalException("Can not export datas", eee);
+// }
}
- @Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta, boolean asSeen) {
+ public void exportData(TableMeta<EchoBaseEntityEnum> tableMeta, File file) {
- EntityCsvModel<EchoBaseEntityEnum, E> model;
+ TopiaCsvExports.exportData(tableMeta,
+ defaultExportFactory,
+ defaultPrepareDataForExport,
+ file);
+// if (log.isInfoEnabled()) {
+// log.info("Export table " + tableMeta + " to " + file);
+// }
+// long s1 = TimeLog.getTime();
+// Export<TopiaEntity> export = prepareExport(tableMeta, false);
+// TIME_LOG.log(s1, "exportData::prepareExport");
+// long s2 = TimeLog.getTime();
+// try {
+// export.write(file, Charsets.UTF_8);
+// } catch (Exception eee) {
+// throw new EchoBaseTechnicalException("Can not export datas", eee);
+// }
+// TIME_LOG.log(s2, "exportData::exportToFile");
+ }
+
+ public void exportData(AssociationMeta<EchoBaseEntityEnum> associationMeta, File file) {
+
+ TopiaCsvExports.exportData(associationMeta,
+ defaultExportFactory,
+ defaultPrepareDataForExport,
+ file);
+// if (log.isInfoEnabled()) {
+// log.info("Export association " + associationMeta + " to " + file);
+// }
+// long s1 = TimeLog.getTime();
+// Export<TopiaEntity> export = prepareExport(associationMeta);
+// TIME_LOG.log(s1, "exportData::prepareExport");
+//
+// long s2 = TimeLog.getTime();
+// try {
+// export.write(file, Charsets.UTF_8);
+// } catch (Exception eee) {
+// throw new EchoBaseTechnicalException("Can not export datas", eee);
+// }
+// TIME_LOG.log(s2, "exportData::exportToFile");
+ }
+
+ public ExportModelFactory<EchoBaseEntityEnum> getModelFactory(boolean asSeen) {
+ ExportModelFactory<EchoBaseEntityEnum> result;
if (asSeen) {
-
- // no need to have topiaId as first column
- model = EntityCsvModel.newModel(
- getConfiguration().getCsvSeparator(),
- meta
- );
+ result = asSeenExportFactory;
} else {
+ result = defaultExportFactory;
+ }
+ return result;
+ }
- // normla export add topiaId column
- model = EntityCsvModel.newModel(
+// protected Export<TopiaEntity> prepareExport(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
+//
+// List<TopiaEntity> datas = defaultPrepareDataForExport.prepareData(tableMeta);
+//
+// ExportModel<TopiaEntity> model;
+// if (asSeen) {
+// model = asSeenExportFactory.buildForExport(tableMeta);
+// } else {
+// model = defaultExportFactory.buildForExport(tableMeta);
+//
+// }
+// return Export.newExport(model, datas);
+// }
+
+// protected Export<TopiaEntity> prepareExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+//
+// List<TopiaEntity> datas = defaultPrepareDataForExport.prepareExport(associationMeta);
+// ExportModel<TopiaEntity> model = defaultExportFactory.buildForExport(associationMeta);
+// return Export.newExport(model, datas);
+// }
+
+ private ExportModelFactory<EchoBaseEntityEnum> defaultExportFactory = new ExportModelFactory<EchoBaseEntityEnum>() {
+
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta) {
+
+ // normal export add topiaId column
+ EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.TOPIA_ID
);
- }
- DecoratorService service = getService(DecoratorService.class);
+ for (ColumnMeta columnMeta : meta) {
+ String propertyName = columnMeta.getName();
+ Class<?> type = columnMeta.getType();
+ if (columnMeta.isFK()) {
- for (ColumnMeta columnMeta : meta) {
- String propertyName = columnMeta.getName();
- Class<?> type = columnMeta.getType();
- if (columnMeta.isFK()) {
+ Class<TopiaEntity> entityType = (Class<TopiaEntity>) type;
- Class<TopiaEntity> entityType = (Class<TopiaEntity>) type;
- if (asSeen) {
- // export decorated foreign key value
- Decorator<TopiaEntity> decorator =
- service.getDecorator(getLocale(), entityType, null);
- model.addDecoratedForeignKeyForExport(propertyName, propertyName, decorator);
- } else {
-
// export foreign key value as his topiaId
model.addForeignKeyForExport(propertyName, entityType);
+
+ } else {
+ model.addDefaultColumn(propertyName, type);
}
- } else {
- model.addDefaultColumn(propertyName, type);
}
+ return model;
}
- return model;
- }
- public String exportDatas(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ ExportModel<E> model = EntityAssociationExportModel.newExportModel(
+ getConfiguration().getCsvSeparator(),
+ associationMeta
+ );
+ return model;
+ }
+ };
- Export<TopiaEntity> export = prepareExport(tableMeta, asSeen);
+ private ExportModelFactory<EchoBaseEntityEnum> asSeenExportFactory = new ExportModelFactory<EchoBaseEntityEnum>() {
- try {
- return export.toString(Charsets.UTF_8);
- } catch (Exception eee) {
- throw new EchoBaseTechnicalException("Can not export datas", eee);
- }
- }
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta) {
- public void exportDatas(TableMeta<EchoBaseEntityEnum> tableMeta, File file) {
- if (log.isInfoEnabled()) {
- log.info("Export table " + tableMeta + " to " + file);
- }
- long s1 = TimeLog.getTime();
- Export<TopiaEntity> export = prepareExport(tableMeta, false);
- TIME_LOG.log(s1, "exportDatas::prepareExport");
- long s2 = TimeLog.getTime();
- try {
- export.write(file, Charsets.UTF_8);
- } catch (Exception eee) {
- throw new EchoBaseTechnicalException("Can not export datas", eee);
- }
- TIME_LOG.log(s2, "exportDatas::exportToFile");
- }
+ // no need to have topiaId as first column
+ EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ getConfiguration().getCsvSeparator(),
+ meta
+ );
- public void exportDatas(AssociationMeta<EchoBaseEntityEnum> associationMeta, File file) {
- if (log.isInfoEnabled()) {
- log.info("Export association " + associationMeta + " to " + file);
+ DecoratorService service = getService(DecoratorService.class);
+
+ for (ColumnMeta columnMeta : meta) {
+ String propertyName = columnMeta.getName();
+ Class<?> type = columnMeta.getType();
+ if (columnMeta.isFK()) {
+
+ Class<TopiaEntity> entityType = (Class<TopiaEntity>) type;
+
+ // export decorated foreign key value
+ Decorator<TopiaEntity> decorator =
+ service.getDecorator(getLocale(), entityType, null);
+ model.addDecoratedForeignKeyForExport(propertyName, propertyName, decorator);
+
+ } else {
+ model.addDefaultColumn(propertyName, type);
+ }
+ }
+ return model;
}
- long s1 = TimeLog.getTime();
- Export<TopiaEntity> export = prepareExport(associationMeta);
- TIME_LOG.log(s1, "exportDatas::prepareExport");
- long s2 = TimeLog.getTime();
- try {
- export.write(file, Charsets.UTF_8);
- } catch (Exception eee) {
- throw new EchoBaseTechnicalException("Can not export datas", eee);
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ ExportModel<E> model = EntityAssociationExportModel.newExportModel(
+ getConfiguration().getCsvSeparator(),
+ associationMeta
+ );
+ return model;
}
- TIME_LOG.log(s2, "exportDatas::exportToFile");
- }
+ };
- protected Export<TopiaEntity> prepareExport(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
- DbEditorService service = getService(DbEditorService.class);
+ private PrepareDataForExport<EchoBaseEntityEnum> defaultPrepareDataForExport = new PrepareDataForExport<EchoBaseEntityEnum>() {
- List<TopiaEntity> datas = service.getEntities(tableMeta, null, null, null, null);
- ExportModel<TopiaEntity> model = buildForExport(tableMeta, asSeen);
- return Export.newExport(model, datas);
- }
+ @Override
+ public <E extends TopiaEntity> List<E> prepareData(TableMeta<EchoBaseEntityEnum> tableMeta) {
+ DbEditorService service = getService(DbEditorService.class);
- protected Export<TopiaEntity> prepareExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ List<E> data = service.getEntities(tableMeta, null, null, null, null);
+ return data;
+ }
- DbEditorService service = getService(DbEditorService.class);
+ @Override
+ public <E extends TopiaEntity> List<E> prepareData(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ DbEditorService service = getService(DbEditorService.class);
- TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(associationMeta.getSource());
- List<TopiaEntity> datas = service.getEntities(tableMeta, null, null, null, "size(e." + associationMeta.getName() + ") > 0");
- ExportModel<TopiaEntity> model = buildForExport(associationMeta);
- return Export.newExport(model, datas);
- }
-
+ TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(associationMeta.getSource());
+ List<E> data = service.getEntities(tableMeta, null, null, null, "size(e." + associationMeta.getName() + ") > 0");
+ return data;
+ }
+ };
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-16 16:21:10 UTC (rev 553)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-16 22:44:13 UTC (rev 554)
@@ -297,7 +297,7 @@
File out = getTableFile(outputDir, meta, targetType);
- getExportService().exportDatas(meta, out);
+ getExportService().exportData(meta, out);
}
protected void copyAndLoad(File outputDir) throws IOException, TopiaException {
@@ -401,7 +401,7 @@
FileType targetType,
AssociationMeta<EchoBaseEntityEnum> associationMeta) throws IOException {
File out = getTableFile(outputDir, associationMeta, targetType);
- getExportService().exportDatas(associationMeta, out);
+ getExportService().exportData(associationMeta, out);
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-08-16 16:21:10 UTC (rev 553)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-08-16 22:44:13 UTC (rev 554)
@@ -215,16 +215,16 @@
// Export echotypes
out = getTableFile(outputDir, echotypeMeta, FileType.NEW);
- getExportService().exportDatas(echotypeMeta, out);
+ getExportService().exportData(echotypeMeta, out);
// Export echotype - species association
out = getTableFile(outputDir, echotypeSpeciesAssociationMeta, FileType.ASSOCIATION);
- getExportService().exportDatas(echotypeSpeciesAssociationMeta, out);
+ getExportService().exportData(echotypeSpeciesAssociationMeta, out);
// Export voyage - echotype association
out = getTableFile(outputDir, voyageEchotypeAssociationMeta, FileType.ASSOCIATION);
- getExportService().exportDatas(voyageEchotypeAssociationMeta, out);
+ getExportService().exportData(voyageEchotypeAssociationMeta, out);
} finally {
1
0
16 Aug '12
Author: tchemit
Date: 2012-08-16 18:21:10 +0200 (Thu, 16 Aug 2012)
New Revision: 553
Url: http://forge.codelutin.com/repositories/revision/echobase/553
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA
Added:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
Removed:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractExportModel.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportExportModel.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportModel.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationExportContext.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParser.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParserFormatter.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvImportResult.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseExport.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseImport.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityCsvModel.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityExportContext.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValue.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValueForAssociation.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/AssociationMeta.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/ColumnMeta.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/DbMeta.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/MetaFilenameAware.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/TableMeta.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ReplicateEntityVisitor.java
Modified:
trunk/echobase-entities/pom.xml
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java
trunk/echobase-entities/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.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/ResultsMapCellImportService.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/ResultsVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.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-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.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/RegionCellImportModel.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/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.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/AcousticImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/Common2ImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.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/ResultsMapCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/TSParametersLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellLoaderIT.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VoyageLoaderIT.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java
Modified: trunk/echobase-entities/pom.xml
===================================================================
--- trunk/echobase-entities/pom.xml 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/pom.xml 2012-08-16 16:21:10 UTC (rev 553)
@@ -62,11 +62,6 @@
</dependency>
<dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
-
- <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,14 +24,12 @@
package fr.ifremer.echobase;
import com.google.common.base.Function;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
import fr.ifremer.echobase.entities.references.AcousticInstrument;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.AreaOfOperation;
@@ -183,14 +181,6 @@
}
};
- public static final Function<TopiaEntity, String> TO_TOPIAID = new Function<TopiaEntity, String>() {
-
- @Override
- public String apply(TopiaEntity input) {
- return input.getTopiaId();
- }
- };
-
public static final Function<File, String> FILE_NAME = new Function<File, String>() {
@Override
public String apply(File input) {
@@ -306,13 +296,6 @@
}
};
- public static final Function<MetaFilenameAware, EchoBaseEntityEnum> META_BY_SOURCE = new Function<MetaFilenameAware, EchoBaseEntityEnum>() {
- @Override
- public EchoBaseEntityEnum apply(MetaFilenameAware input) {
- return input.getSource();
- }
- };
-
public static final Function<Cell, String> CELL_BY_NAME = new Function<Cell, String>() {
@Override
public String apply(Cell input) {
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractExportModel.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractExportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractExportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,76 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import org.nuiton.util.csv.ExportModel;
-import org.nuiton.util.csv.ExportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
-import org.nuiton.util.csv.ValueFormatter;
-import org.nuiton.util.csv.ValueGetter;
-
-public abstract class AbstractExportModel<E> implements ExportModel<E> {
-
- private final char separator;
-
- protected final ModelBuilder<E> modelBuilder;
-
- public AbstractExportModel(char separator) {
- this.separator = separator;
- modelBuilder = new ModelBuilder<E>();
- }
-
- @Override
- public final char getSeparator() {
- return separator;
- }
-
- @Override
- public final Iterable<ExportableColumn<E, Object>> getColumnsForExport() {
- return (Iterable) modelBuilder.getColumnsForExport();
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName) {
- return modelBuilder.newColumnForExport(headerName, headerName);
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName, String propertyName) {
- return modelBuilder.newColumnForExport(headerName, propertyName);
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName, ValueGetter<E, String> eStringValueGetter) {
- return modelBuilder.newColumnForExport(headerName, eStringValueGetter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, headerName, valueFormatter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, String propertyName, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, propertyName, valueFormatter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, ValueGetter<E, T> etValueGetter, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, etValueGetter, valueFormatter);
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportExportModel.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportExportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportExportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,155 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ExportableColumn;
-import org.nuiton.util.csv.ImportExportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ImportableExportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
-import org.nuiton.util.csv.ValueFormatter;
-import org.nuiton.util.csv.ValueGetter;
-import org.nuiton.util.csv.ValueGetterSetter;
-import org.nuiton.util.csv.ValueParser;
-import org.nuiton.util.csv.ValueParserFormatter;
-import org.nuiton.util.csv.ValueSetter;
-
-import java.util.List;
-import java.util.Map;
-
-public abstract class AbstractImportExportModel<E> implements ImportExportModel<E> {
-
- private final char separator;
-
- protected final ModelBuilder<E> modelBuilder;
-
- public AbstractImportExportModel(char separator) {
- this.separator = separator;
- modelBuilder = new ModelBuilder<E>();
- }
-
- @Override
- public final char getSeparator() {
- return separator;
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> headerNames) {
- }
-
- @Override
- public final Iterable<ExportableColumn<E, Object>> getColumnsForExport() {
- return (Iterable) modelBuilder.getColumnsForExport();
- }
-
- @Override
- public final Iterable<ImportableColumn<E, Object>> getColumnsForImport() {
- return (Iterable) modelBuilder.getColumnsForImport();
- }
-
- public <T> ImportableColumn<E, T> newIgnoredColumn(String headerName) {
- return modelBuilder.newIgnoredColumn(headerName);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName) {
- return modelBuilder.newMandatoryColumn(headerName, headerName);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName, String propertyName) {
- return modelBuilder.newMandatoryColumn(headerName, propertyName);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser) {
- return modelBuilder.newMandatoryColumn(headerName, headerName, valueParser);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, String propertyName, ValueParser<T> valueParser) {
- return modelBuilder.newMandatoryColumn(headerName, propertyName, valueParser);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName, ValueSetter<E, String> eStringValueSetter) {
- return modelBuilder.newMandatoryColumn(headerName, eStringValueSetter);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> etValueSetter) {
- return modelBuilder.newMandatoryColumn(headerName, valueParser, etValueSetter);
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName) {
- return modelBuilder.newColumnForExport(headerName, headerName);
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName, String propertyName) {
- return modelBuilder.newColumnForExport(headerName, propertyName);
- }
-
- public ExportableColumn<E, String> newColumnForExport(String headerName, ValueGetter<E, String> eStringValueGetter) {
- return modelBuilder.newColumnForExport(headerName, eStringValueGetter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, headerName, valueFormatter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, String propertyName, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, propertyName, valueFormatter);
- }
-
- public <T> ExportableColumn<E, T> newColumnForExport(String headerName, ValueGetter<E, T> etValueGetter, ValueFormatter<T> valueFormatter) {
- return modelBuilder.newColumnForExport(headerName, etValueGetter, valueFormatter);
- }
-
- public ImportableExportableColumn<E, String> newColumnForImportExport(String headerName) {
- return modelBuilder.newColumnForImportExport(headerName, headerName);
- }
-
- public ImportableExportableColumn<E, String> newColumnForImportExport(String headerName, String propertyName) {
- return modelBuilder.newColumnForImportExport(headerName, propertyName);
- }
-
- public ImportableExportableColumn<E, String> newColumnForImportExport(String headerName, ValueGetterSetter<E, String> eStringValueGetterSetter) {
- return modelBuilder.newColumnForImportExport(headerName, eStringValueGetterSetter);
- }
-
- public <T> ImportableExportableColumn<E, T> newColumnForImportExport(String headerName, ValueParserFormatter<T> valueParserFormatter) {
- return modelBuilder.newColumnForImportExport(headerName, headerName, valueParserFormatter);
- }
-
- public <T> ImportableExportableColumn<E, T> newColumnForImportExport(String headerName, String propertyName, ValueParserFormatter<T> valueParserFormatter) {
- return modelBuilder.newColumnForImportExport(headerName, propertyName, valueParserFormatter);
- }
-
- public <T> ImportableExportableColumn<E, T> newColumnForImportExport(String headerName, ValueGetterSetter<E, T> etValueGetterSetter, ValueParserFormatter<T> valueParserFormatter) {
- return modelBuilder.newColumnForImportExport(headerName, etValueGetterSetter, valueParserFormatter);
- }
-
- protected <E extends TopiaEntity> void newForeignKeyColumn(String headerName, String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) {
- newMandatoryColumn(headerName, propertyName, EchobaseCsvUtil.newForeignKeyValue(entityType, foreignKeyName, universe));
- }
-
- protected <E extends TopiaEntity> void newForeignKeyColumn(String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) {
- newMandatoryColumn(propertyName, propertyName, EchobaseCsvUtil.newForeignKeyValue(entityType, foreignKeyName, universe));
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportModel.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AbstractImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,106 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportableColumn;
-import org.nuiton.util.csv.ModelBuilder;
-import org.nuiton.util.csv.ValueParser;
-import org.nuiton.util.csv.ValueSetter;
-
-import java.util.List;
-import java.util.Map;
-
-public abstract class AbstractImportModel<E> implements ImportModel<E> {
-
- public static final String CELL_NAME = "name";
-
- public static final String OPERATION_ID = "operationId";
-
- public static final String VESSEL_NAME = "vesselName";
-
- public static final String GEAR_CODE = "gearCode";
-
- public static final String DEPTH_STRATUM_ID = "depthStratumId";
-
- private final char separator;
-
- protected final ModelBuilder<E> modelBuilder;
-
- public AbstractImportModel(char separator) {
- this.separator = separator;
- modelBuilder = new ModelBuilder<E>();
- }
-
- @Override
- public final char getSeparator() {
- return separator;
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> headerNames) {
- }
-
- @Override
- public final Iterable<ImportableColumn<E, Object>> getColumnsForImport() {
- return (Iterable) modelBuilder.getColumnsForImport();
- }
-
- public <T> ImportableColumn<E, T> newIgnoredColumn(String headerName) {
- return modelBuilder.newIgnoredColumn(headerName);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName) {
- return modelBuilder.newMandatoryColumn(headerName, headerName);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName, String propertyName) {
- return modelBuilder.newMandatoryColumn(headerName, propertyName);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser) {
- return modelBuilder.newMandatoryColumn(headerName, headerName, valueParser);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, String propertyName, ValueParser<T> valueParser) {
- return modelBuilder.newMandatoryColumn(headerName, propertyName, valueParser);
- }
-
- public ImportableColumn<E, String> newMandatoryColumn(String headerName, ValueSetter<E, String> eStringValueSetter) {
- return modelBuilder.newMandatoryColumn(headerName, eStringValueSetter);
- }
-
- public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, ValueParser<T> valueParser, ValueSetter<E, T> etValueSetter) {
- return modelBuilder.newMandatoryColumn(headerName, valueParser, etValueSetter);
- }
-
- protected <E extends TopiaEntity> void newForeignKeyColumn(String headerName, String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) {
- newMandatoryColumn(headerName, propertyName, EchobaseCsvUtil.newForeignKeyValue(entityType, foreignKeyName, universe));
- }
-
- protected <E extends TopiaEntity> void newForeignKeyColumn(String propertyName, Class<E> entityType, String foreignKeyName, Map<String, E> universe) {
- newMandatoryColumn(propertyName, propertyName, EchobaseCsvUtil.newForeignKeyValue(entityType, foreignKeyName, universe));
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationExportContext.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationExportContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationExportContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,106 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.base.Preconditions;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ExportModel;
-
-import java.io.Closeable;
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.List;
-
-/**
- * To export associations as csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class AssociationExportContext implements Closeable {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(AssociationExportContext.class);
-
- /** association meta to export. */
- protected final AssociationMeta meta;
-
- /** Exporter object. */
- protected final EchoBaseExport export;
-
- /** Where to export datas. */
- protected final Writer writer;
-
- protected final File entryFile;
-
- public AssociationExportContext(ExportModel<TopiaEntity> model,
- AssociationMeta meta,
- File container,
- List<TopiaEntity> data) {
- Preconditions.checkNotNull(model);
- Preconditions.checkNotNull(meta);
- Preconditions.checkNotNull(container);
- Preconditions.checkNotNull(data);
- this.meta = meta;
-
- export = EchoBaseExport.newExport(model, data, true);
-
- entryFile = meta.newFile(container);
- if (log.isDebugEnabled()) {
- log.debug("Creates AssociationExportContext::" + meta +
- " - " + entryFile.getName());
- }
- writer = meta.newWriter(container);
- }
-
- @Override
- public void close() throws IOException {
- try {
- if (export.isHeaderWritten()) {
-
- if (log.isInfoEnabled()) {
- log.info("Export association " + meta + " to " + entryFile);
- }
- writer.flush();
- } else {
-
- // this file was not used, delete it
- FileUtils.deleteQuietly(entryFile);
- }
- } finally {
- IOUtils.closeQuietly(writer);
- }
- }
-
- public void write() throws Exception {
- export.write(writer);
- }
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParser.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParser.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParser.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,37 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import org.nuiton.util.csv.ValueParser;
-
-import java.text.ParseException;
-
-public class AssociationValueParser implements ValueParser<String[]> {
-
- @Override
- public String[] parse(String value) throws ParseException {
- String[] ids = value.split("\\|");
- return ids;
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParserFormatter.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParserFormatter.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/AssociationValueParserFormatter.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,80 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.collect.Lists;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.StringUtil;
-import org.nuiton.util.csv.ValueParserFormatter;
-
-import java.text.ParseException;
-import java.util.Collection;
-import java.util.Map;
-
-public class AssociationValueParserFormatter<E extends TopiaEntity> implements ValueParserFormatter<Collection<E>> {
-
- protected final Class<E> entityType;
-
- protected final Map<String, E> universe;
-
- public AssociationValueParserFormatter(
- Class<E> entityType,
- Map<String, E> universe) {
- this.entityType = entityType;
- this.universe = universe;
- }
-
- @Override
- public Collection<E> parse(String value) throws ParseException {
- Collection<E> result = Lists.newArrayList();
- if (StringUtils.isNotBlank(value)) {
-
- String[] ids = value.split("\\|");
- for (String id : ids) {
- E association = universe.get(id);
- association.setTopiaId(id);
- result.add(association);
- }
- }
- return result;
- }
-
- @Override
- public String format(Collection<E> e) {
-
- String value;
- if (CollectionUtils.isEmpty(e)) {
- value = "";
- } else {
- Collection<String> ids = Lists.newArrayList();
- for (E e1 : e) {
- ids.add(e1.getTopiaId());
- }
- value = StringUtil.join(ids, "|", true);
- }
- return value;
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,103 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * To keep result of the import of a file.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class CsvFileImportResult implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /** Name of the csv file to import. */
- protected final String importFileName;
-
- /** type of entity to import csv datas. */
- protected final Set<EchoBaseEntityEnum> entityTypes;
-
- /** Count of created entities. */
- protected final Map<EchoBaseEntityEnum, Integer> numberCreated;
-
- /** Count of updated entities. */
- protected final Map<EchoBaseEntityEnum, Integer> numberUpdated;
-
- public CsvFileImportResult(String importFileName) {
- this.importFileName = importFileName;
- entityTypes = Sets.newHashSet();
- numberCreated = Maps.newEnumMap(EchoBaseEntityEnum.class);
- numberUpdated = Maps.newEnumMap(EchoBaseEntityEnum.class);
- }
-
- public Set<EchoBaseEntityEnum> getEntityTypes() {
- return Sets.immutableEnumSet(entityTypes);
- }
-
- public int getNumberCreated(EchoBaseEntityEnum entityType) {
- return getInteger(numberCreated, entityType);
- }
-
- public int getNumberUpdated(EchoBaseEntityEnum entityType) {
- return getInteger(numberUpdated, entityType);
- }
-
- public String getImportFileName() {
- return importFileName;
- }
-
- public void incrementsNumberCreated(EchoBaseEntityEnum entityType) {
- increments(numberCreated, entityType);
- }
-
- public void incrementsNumberUpdated(EchoBaseEntityEnum entityType) {
- increments(numberUpdated, entityType);
- }
-
- protected int getInteger(Map<EchoBaseEntityEnum, Integer> map,
- EchoBaseEntityEnum entityType) {
- Integer result = map.get(entityType);
- return result == null ? 0 : result;
- }
-
- protected void increments(Map<EchoBaseEntityEnum, Integer> map,
- EchoBaseEntityEnum entityType) {
- Integer result = map.get(entityType);
- if (result == null) {
-
- entityTypes.add(entityType);
- result = 0;
- }
- map.put(entityType, ++result);
- }
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvImportResult.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvImportResult.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvImportResult.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,101 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-
-import java.io.Serializable;
-
-/**
- * A simple csv result bean just to keep the number of created or
- * updated entities.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class CsvImportResult implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /** type of entity to import csv datas. */
- protected final EchoBaseEntityEnum entityType;
-
- /** Name of the csv file to import. */
- protected final String importFileName;
-
- /** Flag to authorize to create entities not found in db. */
- protected final boolean createIfNotFound;
-
- /** Count of created entities. */
- protected int numberCreated;
-
- /** Count of updated entities. */
- protected int numberUpdated;
-
- public static CsvImportResult newResult(EchoBaseEntityEnum entityType,
- String importFileName,
- boolean createIfNotFound) {
- CsvImportResult result = new CsvImportResult(entityType, importFileName,
- createIfNotFound);
- return result;
- }
-
- protected CsvImportResult(EchoBaseEntityEnum entityType,
- String importFileName,
- boolean createIfNotFound) {
- this.entityType = entityType;
- this.importFileName = importFileName;
- this.createIfNotFound = createIfNotFound;
- }
-
- public EchoBaseEntityEnum getEntityType() {
- return entityType;
- }
-
-
- public String getImportFileName() {
- return importFileName;
- }
-
- public int getNumberCreated() {
- return numberCreated;
- }
-
- public int getNumberUpdated() {
- return numberUpdated;
- }
-
- public boolean isCreateIfNotFound() {
- return createIfNotFound;
- }
-
- public void incrementsNumberCreated() {
- numberCreated++;
- }
-
- public void incrementsNumberUpdated() {
- numberUpdated++;
- }
-
-}
Copied: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java (from rev 551, trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java)
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java (rev 0)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -0,0 +1,159 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.csv;
+
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.DataQuality;
+import org.nuiton.topia.persistence.csv.TopiaCsvCommons;
+import org.nuiton.util.csv.ValueParser;
+import org.nuiton.util.csv.ValueParserFormatter;
+import org.nuiton.util.csv.ValueSetter;
+
+import java.sql.Timestamp;
+import java.text.ParseException;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Usefull class to build csv import-export models.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.2
+ */
+public class EchoBaseCsvUtil extends TopiaCsvCommons {
+
+ public static final ValueParserFormatter<Date> DAY_TIME_SECOND_WITH_TIMESTAMP =
+ new DateValue("dd/MM/yyyy HH:mm:ss") {
+
+ @Override
+ public Date parse(String value) throws ParseException {
+
+ Date parse = super.parse(value);
+ if (parse != null) {
+ parse = new Timestamp(parse.getTime());
+ }
+ return parse;
+ }
+ };
+
+ public static final String CELLULE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSSS";
+
+ public static final ValueParser<Date> IMPORT_DAY_TIME_ECHOBASE = new DateValue(CELLULE_DATE_FORMAT);
+
+ public static final ValueParser<Boolean> INT_TO_BOOLEAN_PARSER = new ValueParser<Boolean>() {
+
+ @Override
+ public Boolean parse(String value) {
+ return "1".equals(value);
+ }
+ };
+
+ public static final ValueParser<Float> NA_TO_FLOAT_PARSER = new FloatParserFormatter(null, true) {
+
+ @Override
+ protected Float parseNoneEmptyValue(String value) {
+ Float result = null;
+ if (!"NA".equals(value)) {
+ result = super.parseNoneEmptyValue(value);
+ }
+ return result;
+ }
+
+ };
+
+ public static final ValueParser<Integer> NA_TO_INTEGER_PARSER = new IntegerParserFormatter(null, true) {
+
+ @Override
+ protected Integer parseNoneEmptyValue(String value) {
+ Integer result = null;
+ if (!"NA".equals(value)) {
+ result = super.parseNoneEmptyValue(value);
+ }
+ return result;
+ }
+
+ };
+
+ public static final String CELL_NAME = "name";
+
+ public static final String OPERATION_ID = "operationId";
+
+ public static final String VESSEL_NAME = "vesselName";
+
+ public static final String GEAR_CODE = "gearCode";
+
+ public static final String DEPTH_STRATUM_ID = "depthStratumId";
+
+// public static <E extends TopiaEntity> ForeignKeyValue<E> create(Class<E> type, String propertyName, Map<String, E> universe) {
+// return new ForeignKeyValue<E>(type, propertyName, universe);
+// }
+
+ protected EchoBaseCsvUtil() {
+ // avoid instanciation on helper class
+ }
+
+ public static ValueParser<Cell> newCellValueParser(Voyage voyage, CellDAO cellDAO) {
+ return new CellValueParser(voyage, cellDAO);
+ }
+
+ public static ValueParser<Cell> newCellValueParser(Voyage voyage,
+ Map<String, Cell> esduCellMap) {
+ return new CellValueParser(voyage, esduCellMap);
+ }
+
+ public static interface ResultAble {
+
+ void addResult(Result value);
+
+ List<Result> getResult();
+
+ DataQuality getDataQuality();
+
+ void setDataQuality(DataQuality dataQuality);
+
+ }
+
+ public static <B extends ResultAble> ValueSetter<B, Result> newResultValueSetter() {
+ return new ResultValueSetter<B>();
+ }
+
+ private static class ResultValueSetter<B extends ResultAble> implements ValueSetter<B, Result> {
+
+ @Override
+ public void set(B object, Result value) throws Exception {
+ object.addResult(value);
+ }
+ }
+
+ public static ValueParser<Result> newResultValueParser(
+ DataMetadata metadata, boolean useFillValue) {
+ return new ResultValueParser(metadata, useFillValue);
+ }
+
+}
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseExport.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseExport.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseExport.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,101 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import org.nuiton.util.csv.Export;
-import org.nuiton.util.csv.ExportModel;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.nio.charset.Charset;
-
-/**
- * Extends the {@link Export} classes to be able to generate only once
- * the header.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class EchoBaseExport<E> extends Export<E> {
-
- public static <E> EchoBaseExport<E> newExport(ExportModel<E> model,
- Iterable<E> data,
- boolean writeOnceHeader) {
- return new EchoBaseExport<E>(model, data, writeOnceHeader);
- }
-
- public static <E> void exportToWriter(ExportModel<E> model,
- Iterable<E> data,
- Writer writer,
- boolean writeOnceHeader) throws Exception {
- Export<E> exporter = newExport(model, data, writeOnceHeader);
- exporter.write(writer);
- }
-
- public static <E> void exportToFile(ExportModel<E> model,
- Iterable<E> data,
- File file,
- Charset charset,
- boolean writeOnceHeader) throws Exception {
- Export<E> exporter = newExport(model, data, writeOnceHeader);
- exporter.write(file, charset);
- }
-
- public static <E> String exportToString(ExportModel<E> model,
- Iterable<E> data,
- Charset charset,
- boolean writeOnceHeader) throws Exception {
- Export<E> exporter = newExport(model, data, writeOnceHeader);
- return exporter.toString(charset);
- }
-
- protected final boolean writeOnceHeader;
-
- protected boolean headerWritten;
-
- public boolean isHeaderWritten() {
- return headerWritten;
- }
-
- protected EchoBaseExport(ExportModel<E> model,
- Iterable<E> data,
- boolean writeOnceHeader) {
- super(model, data);
- this.writeOnceHeader = writeOnceHeader;
- }
-
- @Override
- protected void writeHeader(Writer writer) throws IOException {
- if (!writeOnceHeader || !headerWritten) {
-
- // no header generated, let's do it!
-
- super.writeHeader(writer);
-
- // mark it as written
- headerWritten = true;
- }
- }
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseImport.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseImport.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseImport.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,71 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.base.Charsets;
-import org.nuiton.util.csv.Import;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportRuntimeException;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-/**
- * This extends of the {@link Import} offers to allow case on header names.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class EchoBaseImport<E> extends Import<E> {
-
- public static String[] getHeader(File file, char charSeprator) {
-
- try {
- BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charsets.UTF_8.name()));
- try {
- String header = reader.readLine();
- String[] result = header.split(charSeprator + "");
- return result;
- } finally {
- reader.close();
- }
- } catch (IOException e) {
- throw new ImportRuntimeException("Could not obtain header of file " + file, e);
- }
- }
-
- public static <E> EchoBaseImport<E> newImport(ImportModel<E> model,
- Reader reader) {
- return new EchoBaseImport<E>(model, reader);
- }
-
- public EchoBaseImport(ImportModel<E> importModel, Reader reader) {
- super(importModel, reader);
- }
-
-}
Deleted: 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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,166 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
-import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.DataMetadata;
-import fr.ifremer.echobase.entities.references.DataQuality;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.Common;
-import org.nuiton.util.csv.ValueFormatter;
-import org.nuiton.util.csv.ValueParser;
-import org.nuiton.util.csv.ValueParserFormatter;
-import org.nuiton.util.csv.ValueSetter;
-
-import java.sql.Timestamp;
-import java.text.ParseException;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Usefull class to build csv import-export models.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class EchobaseCsvUtil extends Common {
-
- public static final ValueParserFormatter<Date> DAY_TIME_SECOND_WITH_TIMESTAMP =
- new DateValue("dd/MM/yyyy HH:mm:ss") {
-
- @Override
- public Date parse(String value) throws ParseException {
-
- Date parse = super.parse(value);
- if (parse != null) {
- parse = new Timestamp(parse.getTime());
- }
- return parse;
- }
- };
-
- public static final String CELLULE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSSS";
-
- public static final ValueParser<Date> IMPORT_DAY_TIME_ECHOBASE = new DateValue(CELLULE_DATE_FORMAT);
-
- public static final ValueParser<Boolean> INT_TO_BOOLEAN_PARSER = new ValueParser<Boolean>() {
-
- @Override
- public Boolean parse(String value) {
- return "1".equals(value);
- }
- };
-
- public static final ValueParser<Float> NA_TO_FLOAT_PARSER = new FloatParserFormatter(null, true) {
-
- @Override
- protected Float parseNoneEmptyValue(String value) {
- Float result = null;
- if (!"NA".equals(value)) {
- result = super.parseNoneEmptyValue(value);
- }
- return result;
- }
-
- };
-
- public static final ValueParser<Integer> NA_TO_INTEGER_PARSER = new IntegerParserFormatter(null, true) {
-
- @Override
- protected Integer parseNoneEmptyValue(String value) {
- Integer result = null;
- if (!"NA".equals(value)) {
- result = super.parseNoneEmptyValue(value);
- }
- return result;
- }
-
- };
-
- public static final AssociationValueParser ASSOCIATION_VALUE_PARSER = new AssociationValueParser();
-
- public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, String propertyName, Map<String, E> universe) {
- return new ForeignKeyValue<E>(type, propertyName, universe);
- }
-
- public static <E extends TopiaEntity> ForeignKeyValue<E> create(Class<E> type, String propertyName, Map<String, E> universe) {
- return new ForeignKeyValue<E>(type, propertyName, universe);
- }
-
- public static <E extends TopiaEntity> ForeignKeyValueForAssociation<E> newForeignKeyValueAssociation(Class<E> type, String propertyName, Map<String, E> universe) {
- return new ForeignKeyValueForAssociation<E>(type, propertyName, universe);
- }
-
- public static <E extends TopiaEntity> ValueFormatter<Collection<E>> newAssociationValueFormatter() {
- return new AssociationValueParserFormatter<E>(null, null);
- }
-
- protected EchobaseCsvUtil() {
- // avoid instanciation on helper class
- }
-
- public static ValueParser<Cell> newCellValueParser(Voyage voyage, CellDAO cellDAO) {
- return new CellValueParser(voyage, cellDAO);
- }
-
- public static ValueParser<Cell> newCellValueParser(Voyage voyage,
- Map<String, Cell> esduCellMap) {
- return new CellValueParser(voyage, esduCellMap);
- }
-
- public static interface ResultAble {
-
- void addResult(Result value);
-
- List<Result> getResult();
-
- DataQuality getDataQuality();
-
- void setDataQuality(DataQuality dataQuality);
-
- }
-
- public static <B extends ResultAble> ValueSetter<B, Result> newResultValueSetter() {
- return new ResultValueSetter<B>();
- }
-
- private static class ResultValueSetter<B extends ResultAble> implements ValueSetter<B, Result> {
-
- @Override
- public void set(B object, Result value) throws Exception {
- object.addResult(value);
- }
- }
-
- public static ValueParser<Result> newResultValueParser(
- DataMetadata metadata, boolean useFillValue) {
- return new ResultValueParser(metadata, useFillValue);
- }
-
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityCsvModel.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityCsvModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityCsvModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,254 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.meta.TableMeta;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ValueFormatter;
-import org.nuiton.util.decorator.Decorator;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Map;
-
-/**
- * A model to import / export entities into csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class EntityCsvModel<E extends TopiaEntity> extends AbstractImportExportModel<E> {
-
- protected final TableMeta tableMeta;
-
- public static <E extends TopiaEntity> EntityCsvModel<E> newModel(
- char separator,
- TableMeta tableMeta
- ) {
- return new EntityCsvModel<E>(separator, tableMeta);
- }
-
- public static <E extends TopiaEntity> EntityCsvModel<E> newModel(
- char separator,
- TableMeta tableMeta,
- String idHeader
- ) {
- return new EntityCsvModel<E>(separator, tableMeta, idHeader);
- }
-
- @Override
- public E newEmptyInstance() {
- return (E) tableMeta.newEntity();
- }
-
- public void addForeignKeyForExport(String propertyName,
- Class<TopiaEntity> entityType) {
-
- Map<String, TopiaEntity> universe = Collections.emptyMap();
-
- newColumnForExport(
- propertyName,
- EchobaseCsvUtil.newForeignKeyValue(entityType,
- propertyName,
- universe)
- );
- }
-
- public <T> void addDecoratedForeignKeyForExport(String headerName, String propertyName, Decorator<T> decorator) {
- modelBuilder.newColumnForExport(headerName, propertyName,
- new ForeignKeyDecoratedValue<T>(decorator));
- }
-
- public <E extends TopiaEntity> void addForeignKeyForImport(String headerName,
- String propertyName,
- Class<E> entityType,
- Collection<E> entities,
- Function<E, String> transform) {
-
- Map<String, E> universe = Maps.uniqueIndex(entities, transform);
-
- newMandatoryColumn(
- headerName,
- propertyName,
- EchobaseCsvUtil.newForeignKeyValue(entityType,
- propertyName,
- universe)
- );
- }
-
- public <E extends TopiaEntity> void addForeignKeyForAssociationForImport(String headerName,
- String propertyName,
- Class<E> entityType,
- Collection<E> entities,
- Function<E, String> transform) {
-
- Map<String, E> universe = Maps.uniqueIndex(entities, transform);
-
- newMandatoryColumn(
- headerName,
- propertyName,
- EchobaseCsvUtil.newForeignKeyValueAssociation(entityType,
- propertyName,
- universe)
- );
- }
-
- public <E extends TopiaEntity> void addForeignKeyForImport(String propertyName,
- Class<E> entityType,
- Collection<E> entities) {
-
- Map<String, E> universe = Maps.uniqueIndex(
- entities, EchoBaseFunctions.TO_TOPIAID);
-
- newMandatoryColumn(
- propertyName,
- EchobaseCsvUtil.newForeignKeyValue(entityType,
- propertyName,
- universe)
- );
- }
-
- public void addDefaultColumn(String propertyName,
- Class<?> type) {
- addDefaultColumn(propertyName, propertyName, type);
- }
-
- public void addDefaultColumn(String headerName,
- String propertyName,
- Class<?> type) {
-
- if (Date.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.DAY_TIME_SECOND_WITH_TIMESTAMP
- );
- } else if (double.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.DOUBLE_PRIMITIVE
- );
- } else if (Double.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.DOUBLE
- );
- } else if (long.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.PRIMITIVE_LONG
- );
- } else if (Long.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.LONG
- );
- } else if (float.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.PRIMITIVE_FLOAT
- );
- } else if (Float.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.FLOAT
- );
- } else if (int.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.PRIMITIVE_INTEGER
- );
- } else if (Integer.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.INTEGER
- );
- } else if (boolean.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.PRIMITIVE_BOOLEAN
- );
- } else if (Boolean.class.equals(type)) {
- newColumnForImportExport(
- headerName,
- propertyName,
- EchobaseCsvUtil.BOOLEAN
- );
- } else {
-
- // string
- newColumnForImportExport(
- headerName,
- propertyName
- );
- }
- }
-
- public static class ForeignKeyDecoratedValue<E> implements ValueFormatter<E> {
-
- protected final Decorator<E> decorator;
-
- public ForeignKeyDecoratedValue(Decorator<E> decorator) {
- this.decorator = decorator;
- }
-
- @Override
- public String format(E e) {
- String value = "";
- if (e != null) {
- value = decorator.toString(e);
- }
- return value;
- }
- }
-
- protected EntityCsvModel(char separator,
- TableMeta tableMeta) {
- super(separator);
- this.tableMeta = tableMeta;
- }
-
- protected EntityCsvModel(char separator,
- TableMeta tableMeta,
- String idHeader) {
- this(separator, tableMeta);
- newColumnForImportExport(
- idHeader,
- TopiaEntity.TOPIA_ID
- );
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityExportContext.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityExportContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EntityExportContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,150 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ExportModel;
-
-import java.io.Closeable;
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * to export entity as csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class EntityExportContext implements Closeable {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(EntityExportContext.class);
-
- /** meta to export. */
- protected final TableMeta meta;
-
- /** Exporter object. */
- protected final EchoBaseExport export;
-
- /** Where to export datas. */
- protected final Writer writer;
-
- /**
- * Unique list to store data to export. (will be shared with
- * association export contexts.)
- */
- private final List<TopiaEntity> data;
-
- /** Association export context for this type of entity. */
- protected final Collection<AssociationExportContext> associationExportContexts;
-
- protected final File entryFile;
-
- public EntityExportContext(ExportModel<TopiaEntity> model,
- TableMeta meta,
- File container) {
- Preconditions.checkNotNull(model);
- Preconditions.checkNotNull(meta);
- Preconditions.checkNotNull(container);
-
- this.meta = meta;
- data = Lists.newArrayList();
- export = EchoBaseExport.newExport(model, data, true);
- entryFile = meta.newFile(container);
- if (log.isDebugEnabled()) {
- log.debug("Creates EntityExportContext::" + meta + " - " +
- entryFile.getName());
- }
- writer = meta.newWriter(container);
- associationExportContexts = Lists.newArrayList();
- }
-
- public void addAssociationExportContext(AssociationMeta meta,
- ExportModel<TopiaEntity> model,
- File container) {
- associationExportContexts.add(
- new AssociationExportContext(model,
- meta,
- container,
- data)
- );
- }
-
- @Override
- public void close() throws IOException {
-
- try {
- if (export.isHeaderWritten()) {
-
- if (log.isInfoEnabled()) {
- log.info("Export table " + meta + " to " + entryFile);
- }
- writer.flush();
- } else {
- // this file was not used, delete it
- FileUtils.deleteQuietly(entryFile);
- }
- } finally {
- IOUtils.closeQuietly(writer);
- for (AssociationExportContext c : associationExportContexts) {
- c.close();
- }
- }
- }
-
- public void write(TopiaEntity data) throws Exception {
- this.data.add(data);
- try {
- export.write(writer);
- } finally {
- this.data.clear();
- }
- }
-
- public void writeAssociations(TopiaEntity data) throws Exception {
- this.data.add(data);
- try {
- for (AssociationExportContext c : associationExportContexts) {
- AssociationMeta cMeta = c.meta;
- boolean emptyChild = cMeta.isChildEmpty(data);
- if (!emptyChild) {
- c.write();
- }
- }
- } finally {
- this.data.clear();
- }
- }
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValue.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValue.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValue.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,77 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ValueParserFormatter;
-
-import java.text.ParseException;
-import java.util.Map;
-
-public class ForeignKeyValue<E extends TopiaEntity> implements ValueParserFormatter<E> {
-
- protected final String propertyName;
-
- protected final Class<E> entityType;
-
- protected final Map<String, E> universe;
-
- public ForeignKeyValue(Class<E> entityType,
- String propertyName,
- Map<String, E> universe) {
- this.entityType = entityType;
- this.propertyName = propertyName;
- this.universe = universe;
- }
-
-
- @Override
- public E parse(String value) throws ParseException {
- E result = null;
- if (StringUtils.isNotBlank(value)) {
-
- // get entity from universe
- result = universe.get(value);
-
- if (result == null) {
-
- // can not find entity this is a big problem for us...
- throw new EchoBaseTechnicalException(
- "Could not find entity of type " + entityType.getSimpleName() + " with '" + propertyName + "' = " + value);
- }
- }
- return result;
- }
-
- @Override
- public String format(E e) {
- String value = "";
- if (e != null) {
- value = e.getTopiaId();
- }
- return value;
- }
-}
\ No newline at end of file
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValueForAssociation.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValueForAssociation.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/ForeignKeyValueForAssociation.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,69 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.csv;
-
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.apache.commons.lang3.StringUtils;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.csv.ValueParser;
-
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Map;
-
-public class ForeignKeyValueForAssociation<E extends TopiaEntity> implements ValueParser<Collection<E>> {
-
- protected final String propertyName;
-
- protected final Class<E> entityType;
-
- protected final Map<String, E> universe;
-
- public ForeignKeyValueForAssociation(Class<E> entityType,
- String propertyName,
- Map<String, E> universe) {
- this.entityType = entityType;
- this.propertyName = propertyName;
- this.universe = universe;
- }
-
- @Override
- public Collection<E> parse(String value) throws ParseException {
- E result = null;
- if (StringUtils.isNotBlank(value)) {
-
- // get entity from universe
- result = universe.get(value);
-
- if (result == null) {
-
- // can not find entity this is a big problem for us...
- throw new EchoBaseTechnicalException(
- "Could not find entity with '" + propertyName + "' = " + value);
- }
- }
- return Arrays.asList(result);
- }
-}
\ No newline at end of file
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,11 +25,9 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import com.google.common.collect.Multimaps;
-import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.meta.DbMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.Metadatas;
import java.util.List;
@@ -128,68 +126,6 @@
return result.toArray(new EchoBaseEntityEnum[result.size()]);
}
- public static MetaFilenameAware[] getEntries(DbMeta dbMeta) {
-
- List<MetaFilenameAware> entities = Lists.newArrayList();
- List<MetaFilenameAware> associations = Lists.newArrayList();
-
- addEntries(dbMeta, entities, associations, getReferenceTypes());
- addEntries(dbMeta, entities, associations, getDataTypes());
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware[] getReferenceEntries(DbMeta dbMeta) {
-
- List<MetaFilenameAware> entities = Lists.newArrayList();
- List<MetaFilenameAware> associations = Lists.newArrayList();
-
- addEntries(dbMeta, entities, associations, getReferenceTypes());
-
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware[] getDataEntries(DbMeta dbMeta) {
-
- List<MetaFilenameAware> entities = Lists.newArrayList();
-
- addEntries(dbMeta, entities, null, getDataTypes());
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static Multimap<EchoBaseEntityEnum, MetaFilenameAware> getDataAssociationsEntries(DbMeta dbMeta) {
-
- List<MetaFilenameAware> associations = Lists.newArrayList();
-
- addEntries(dbMeta, null, associations, getDataTypes());
-
- Multimap<EchoBaseEntityEnum, MetaFilenameAware> associationsBySource = Multimaps.index(associations, EchoBaseFunctions.META_BY_SOURCE);
- return associationsBySource;
- }
-
- protected static void addEntries(DbMeta dbMeta,
- List<MetaFilenameAware> entities,
- List<MetaFilenameAware> associations,
- EchoBaseEntityEnum[] types) {
- for (EchoBaseEntityEnum type : types) {
-
- TableMeta tableMeta = getTableMeta(dbMeta, type);
- if (entities != null) {
- entities.add(tableMeta);
- }
- if (associations != null) {
- associations.addAll(tableMeta.getAssociations());
- }
- }
- }
-
- protected static TableMeta getTableMeta(DbMeta dbMeta,
- EchoBaseEntityEnum tableName) {
- TableMeta result = dbMeta.getTable(tableName);
- return result;
- }
-
protected EntitiesUtil() {
// avoid to instanciate helper class
}
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -51,7 +51,7 @@
}
@Override
- public void acceptWithNoChilds(EntityVisitor visitor) {
+ public void accept2(EntityVisitor visitor) {
visitor.start(this);
visitor.visit(this, PROPERTY_NAME, String.class, name);
visitor.visit(this, PROPERTY_DATA, Collection.class, Data.class, data);
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/AssociationMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/AssociationMeta.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/AssociationMeta.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,151 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities.meta;
-
-import com.google.common.base.Charsets;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.util.EntityOperator;
-import org.nuiton.util.ObjectUtil;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Serializable;
-import java.io.Writer;
-import java.util.Collection;
-
-/**
- * Define the meta data of a entity association field.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class AssociationMeta implements Serializable, MetaFilenameAware {
-
- private static final long serialVersionUID = 1L;
-
-
- /** Association source entity type. */
- protected EchoBaseEntityEnum source;
-
- /** Association target entity type. */
- protected EchoBaseEntityEnum target;
-
- /** Name fo the association. */
- protected String name;
-
- /** Operator of the source entity used to get / set associations. */
- protected transient EntityOperator<TopiaEntity> operator;
-
- protected static AssociationMeta newMeta(EchoBaseEntityEnum source,
- EchoBaseEntityEnum target,
- String name) {
- return new AssociationMeta(source, target, name);
- }
-
- public AssociationMeta(EchoBaseEntityEnum source,
- EchoBaseEntityEnum target,
- String name) {
- this.source = source;
- this.target = target;
- this.name = name;
- }
-
- @Override
- public EchoBaseEntityEnum getSource() {
- return source;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public String getFilename() {
- return source.name() + "_" + name + CSV_EXTENSION;
- }
-
- @Override
- public File newFile(File container) {
- return new File(container, getFilename());
- }
-
- @Override
- public Writer newWriter(File container) {
- File file = newFile(container);
- try {
- return new OutputStreamWriter(new FileOutputStream(file),
- Charsets.UTF_8);
- } catch (FileNotFoundException e) {
- throw new EchoBaseTechnicalException("Could not find file " + file);
- }
- }
-
- public EchoBaseEntityEnum getTarget() {
- return target;
- }
-
- public TopiaEntity newEntity() {
- return ObjectUtil.newInstance(source.getImplementation());
- }
-
- public Object newAssociation() {
- return ObjectUtil.newInstance(target.getImplementation());
- }
-
- public Collection<TopiaEntity> getChilds(TopiaEntity entity) {
- Object o = getOperator().get(name, entity);
- return (Collection<TopiaEntity>) o;
- }
-
- public void setChilds(TopiaEntity entity, Collection<TopiaEntity> childs) {
- getOperator().addAllChild(name, entity, childs);
- }
-
- public boolean isChildEmpty(TopiaEntity entity) {
- boolean result = getOperator().isChildEmpty(name, entity);
- return result;
- }
-
- public EntityOperator<TopiaEntity> getOperator() {
- if (operator == null) {
- operator =
- (EntityOperator<TopiaEntity>)
- EchoBaseDAOHelper.getOperator(
- source.getContract());
- }
-
- return operator;
- }
-
- @Override
- public String toString() {
- return "<" + source + ":" + name + " " + target + ">";
- }
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/ColumnMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/ColumnMeta.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/ColumnMeta.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,94 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities.meta;
-
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Define the meta data of a entity field.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public class ColumnMeta implements Serializable {
-
- protected static ColumnMeta newMeta(String name, Class<?> type) {
- return new ColumnMeta(name, type);
- }
-
- private static final long serialVersionUID = 1L;
-
- /** Name of the column. */
- protected String name;
-
- /** Type of the column. */
- protected Class<?> type;
-
- public String getName() {
- return name;
- }
-
- public Class<?> getType() {
- return type;
- }
-
- public String getTypeSimpleName() {
- return type.getSimpleName();
- }
-
- public String getColumnType() {
- String result = "string";
- if (boolean.class.equals(type)) {
- result = "boolean";
- } else if (Date.class.equals(type)) {
- result = "date";
- }
- return result;
- }
-
- public boolean isFK() {
- return TopiaEntity.class.isAssignableFrom(type);
- }
-
- public boolean isDate() {
- return Date.class.isAssignableFrom(type);
- }
-
- public boolean isBoolean() {
- return boolean.class.equals(type);
- }
-
- public boolean isNumber() {
- return !isBoolean() && (type.isPrimitive() || Number.class.isAssignableFrom(type));
- }
-
- protected ColumnMeta(String name, Class<?> type) {
- this.name = name;
- this.type = type;
- }
-
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/DbMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/DbMeta.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/DbMeta.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,98 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities.meta;
-
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Define metas about a db.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public class DbMeta implements Iterable<TableMeta> {
-
- /** All metas of the db. */
- protected final List<TableMeta> tables;
-
- /** All types that we do not want to edit. */
- protected final Set<EchoBaseEntityEnum> nonEditableTypes = Sets.immutableEnumSet(
- EchoBaseEntityEnum.EchoBaseUser,
- EchoBaseEntityEnum.EntityModificationLog,
- EchoBaseEntityEnum.ExportQuery
- );
-
- public static DbMeta newDbMeta() {
- return new DbMeta(EchoBaseEntityEnum.values());
- }
-
- public List<String> getTableNames() {
- List<String> result = Lists.newArrayList();
- for (TableMeta tableMeta : getTables()) {
- result.add(tableMeta.getName());
- }
- return result;
- }
-
- public List<TableMeta> getTables() {
- return tables;
- }
-
- public TableMeta getTable(EchoBaseEntityEnum entityType) {
- Preconditions.checkNotNull(entityType);
- TableMeta result = null;
- for (TableMeta tableMeta : getTables()) {
- if (entityType.equals(tableMeta.getSource())) {
- result = tableMeta;
- break;
- }
- }
- return result;
- }
-
- @Override
- public Iterator<TableMeta> iterator() {
- return getTables().iterator();
- }
-
- protected DbMeta(EchoBaseEntityEnum[] entityTypes) {
- tables = Lists.newArrayList();
- for (EchoBaseEntityEnum entityEnum : entityTypes) {
- TableMeta tableMeta = TableMeta.newMeta(entityEnum);
- tables.add(tableMeta);
- }
- }
-
- public boolean isEditable(TableMeta meta) {
- return !nonEditableTypes.contains(meta.getSource());
- }
-}
Added: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java (rev 0)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -0,0 +1,86 @@
+package fr.ifremer.echobase.entities.meta;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EntitiesUtil;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.Metadatas;
+import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
+
+import java.util.List;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since TODO
+ */
+public class EchoBaseMetadatas {
+
+ /** All types that we do not want to edit. */
+ protected static final EchoBaseEntityEnum[] nonEditableTypes = {
+ EchoBaseEntityEnum.EchoBaseUser,
+ EchoBaseEntityEnum.EntityModificationLog,
+ EchoBaseEntityEnum.ExportQuery
+ };
+
+ public static DbMeta<EchoBaseEntityEnum> newDbMeta(
+
+ ) {
+ return DbMeta.newDbMeta(
+ EchoBaseEntityEnum.values(),
+ nonEditableTypes,
+ new EchoBaseTopiaEntityEnumProvider()
+ );
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes());
+ Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getDataTypes());
+ entities.addAll(associations);
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes());
+
+ entities.addAll(associations);
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, null, EntitiesUtil.getDataTypes());
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, null, associations, EntitiesUtil.getDataTypes());
+
+ Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations);
+ return associationsBySource;
+ }
+
+ public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> {
+
+ @Override
+ public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
+ return EchoBaseEntityEnum.valueOf(type);
+ }
+ }
+}
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/MetaFilenameAware.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/MetaFilenameAware.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/MetaFilenameAware.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,51 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities.meta;
-
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-
-import java.io.File;
-import java.io.Writer;
-
-/**
- * Contract for exportable some Meta.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public interface MetaFilenameAware {
-
- String CSV_EXTENSION = ".csv";
-
- EchoBaseEntityEnum getSource();
-
- String getName();
-
- String getFilename();
-
- File newFile(File container);
-
- Writer newWriter(File container);
-
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/TableMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/TableMeta.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/TableMeta.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,270 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities.meta;
-
-import com.google.common.base.Charsets;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.util.EntityOperator;
-import org.nuiton.util.ObjectUtil;
-import org.nuiton.util.beans.Binder;
-import org.nuiton.util.beans.BinderModelBuilder;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Serializable;
-import java.io.Writer;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Define metas of a given db table.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.1
- */
-public class TableMeta implements Serializable, Iterable<ColumnMeta>, MetaFilenameAware {
-
- private static final long serialVersionUID = 1L;
-
- public static TableMeta newMeta(EchoBaseEntityEnum entityEnum) {
- return new TableMeta(entityEnum);
- }
-
- /** Type of the entity. */
- protected final EchoBaseEntityEnum source;
-
- /** List of columns of the entity. */
- protected List<ColumnMeta> columns;
-
- /** List of dependencies (says all property with a topiaentity type) */
- protected final EchoBaseEntityEnum[] dependencies;
-
- /** List of associations of the entity. */
- protected List<AssociationMeta> associations;
-
- /** Binder used to copy entities (lazy loaded). */
- protected Binder<TopiaEntity, TopiaEntity> binder;
-
- /** Entity operator used in generic algorithms. */
- protected transient EntityOperator<TopiaEntity> operator;
-
- protected boolean useNaturalIdsOrNotNulls;
-
- @Override
- public EchoBaseEntityEnum getSource() {
- return source;
- }
-
- @Override
- public String getName() {
- return source.name();
- }
-
- @Override
- public String getFilename() {
- return source.name() + ".csv";
- }
-
- @Override
- public File newFile(File container) {
- return new File(container, getFilename());
- }
-
- @Override
- public Writer newWriter(File container) {
- File file = newFile(container);
- try {
- return new OutputStreamWriter(new FileOutputStream(file),
- Charsets.UTF_8);
- } catch (FileNotFoundException e) {
- throw new EchoBaseTechnicalException("Could not find file " + file);
- }
- }
-
- @Override
- public String toString() {
- return "<" + source + ">";
- }
-
- public Class<? extends TopiaEntity> getEntityType() {
- return source.getContract();
- }
-
- public ColumnMeta getColumns(String columnName) {
- Preconditions.checkNotNull(columnName);
- ColumnMeta result = null;
- for (ColumnMeta columnMeta : getColumns()) {
- if (columnName.equals(columnMeta.getName())) {
- result = columnMeta;
- break;
- }
- }
- return result;
- }
-
- public String[] getColumnNamesAsArray() {
- List<String> columnNames = getColumnNames();
- return columnNames.toArray(new String[columnNames.size()]);
- }
-
- public List<String> getColumnNames() {
- List<String> result = Lists.newLinkedList();
- for (ColumnMeta columnMeta : getColumns()) {
- result.add(columnMeta.getName());
- }
- return result;
- }
-
- public List<ColumnMeta> getColumns() {
- return columns;
- }
-
- public List<AssociationMeta> getAssociations() {
- return associations;
- }
-
- public EchoBaseEntityEnum[] getDependencies() {
- return dependencies;
- }
-
- public AssociationMeta getAssociations(String name) {
- AssociationMeta result = null;
- for (AssociationMeta meta : getAssociations()) {
- if (name.equals(meta.getName())) {
- result = meta;
- break;
- }
- }
- return result;
- }
-
- public void copy(TopiaEntity source, TopiaEntity target) {
- getBinder().copy(source, target);
- }
-
- public Map<String, Object> prepareCreate(TopiaEntity bean,
- String topiaId) {
- Map<String, Object> result = getOperator().getNaturalIsdAndNotNulls(bean);
- if (topiaId != null) {
- result.put(TopiaEntity.TOPIA_ID, topiaId);
- }
- return result;
- }
-
- @Override
- public Iterator<ColumnMeta> iterator() {
- return getColumns().iterator();
- }
-
- public TopiaEntity newEntity() {
- return ObjectUtil.newInstance(source.getImplementation());
- }
-
- protected static <E extends TopiaEntity> Binder<E, E> newbinder(TableMeta meta) {
- BinderModelBuilder<E, E> binderModelBuilder =
- (BinderModelBuilder<E, E>) BinderModelBuilder.newEmptyBuilder(meta.getEntityType());
- for (ColumnMeta columnMeta : meta) {
- binderModelBuilder.addSimpleProperties(
- columnMeta.getName()
- );
- }
- Binder<E, E> binder = binderModelBuilder.toBinder();
- return binder;
- }
-
- protected Binder<TopiaEntity, TopiaEntity> getBinder() {
- if (binder == null) {
- binder = newbinder(this);
- }
- return binder;
- }
-
- protected TableMeta(EchoBaseEntityEnum source) {
- Preconditions.checkNotNull(source);
- this.source = source;
-
- Class<? extends TopiaEntity> contract = source.getContract();
- EntityOperator<? extends TopiaEntity> operator =
- EchoBaseDAOHelper.getOperator(contract);
-
- associations = Lists.newArrayList();
- columns = Lists.newLinkedList();
- Set<EchoBaseEntityEnum> deps = Sets.newHashSet();
-
- // fill associations
- List<String> associationProperties = operator.getAssociationProperties();
- for (String property : associationProperties) {
- Class<?> propertyType = operator.getAssociationPropertyType(property);
- if (TopiaEntity.class.isAssignableFrom(propertyType)) {
-
- // only use it for entity
- EchoBaseEntityEnum targetEnum =
- EchoBaseEntityEnum.valueOf(propertyType);
-
- AssociationMeta meta = AssociationMeta.newMeta(source,
- targetEnum,
- property
- );
- associations.add(meta);
- }
- }
-
- // fill properties (remove all asociations)
- List<String> properties = Lists.newArrayList(operator.getProperties());
- properties.removeAll(associationProperties);
- for (String property : properties) {
- Class<?> propertyType = operator.getPropertyType(property);
- ColumnMeta meta = ColumnMeta.newMeta(property,
- propertyType);
- columns.add(meta);
- if (meta.isFK()) {
- EchoBaseEntityEnum dependency =
- EchoBaseEntityEnum.valueOf(propertyType);
- deps.add(dependency);
- }
- }
- dependencies = deps.toArray(new EchoBaseEntityEnum[deps.size()]);
-
- useNaturalIdsOrNotNulls = source.isUseNotNulls() ||
- source.isUseNaturalIds();
- }
-
- public EntityOperator<TopiaEntity> getOperator() {
- if (operator == null) {
- operator = EchoBaseDAOHelper.getOperator(
- (Class<TopiaEntity>) getEntityType());
- }
- return operator;
- }
-}
Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,13 +27,10 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.meta.ColumnMeta;
-import fr.ifremer.echobase.entities.meta.DbMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -43,6 +40,9 @@
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.PagerUtil;
import org.nuiton.util.beans.BeanMonitor;
import org.nuiton.util.beans.PropertyDiff;
@@ -87,9 +87,9 @@
}
}
- public TableMeta getTableMeta(EchoBaseEntityEnum tableName) {
- DbMeta dbMeta = getDbMeta();
- TableMeta result = dbMeta.getTable(tableName);
+ public TableMeta<EchoBaseEntityEnum> getTableMeta(EchoBaseEntityEnum tableName) {
+ DbMeta<EchoBaseEntityEnum> dbMeta = getDbMeta();
+ TableMeta<EchoBaseEntityEnum> result = dbMeta.getTable(tableName);
return result;
}
@@ -121,7 +121,7 @@
return rows;
}
- public <E extends TopiaEntity> List<E> getEntities(TableMeta tableMeta,
+ public <E extends TopiaEntity> List<E> getEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
TopiaFilterPagerUtil.FilterPagerBean pager,
String sidx,
Boolean ascendantOrder,
@@ -295,7 +295,7 @@
}
}
- public Map<?, ?> getData(TableMeta tableMeta, String topiaId) {
+ public Map<?, ?> getData(TableMeta<EchoBaseEntityEnum> tableMeta, String topiaId) {
EchoBaseEntityEnum entityEnum = tableMeta.getSource();
try {
@@ -343,7 +343,7 @@
commitTransaction("Could not commit transaction");
}
- public boolean saveEntity(TableMeta tableMeta,
+ public boolean saveEntity(TableMeta<EchoBaseEntityEnum> tableMeta,
String messagePrefix,
TopiaEntity entity,
EchoBaseUser user,
@@ -528,9 +528,9 @@
return row;
}
- protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta meta) {
+ protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.TOPIA_ID
@@ -554,11 +554,11 @@
return model;
}
- protected <E extends TopiaEntity> ExportModel<E> buildForLoad(TableMeta meta,
+ protected <E extends TopiaEntity> ExportModel<E> buildForLoad(TableMeta<EchoBaseEntityEnum> meta,
String idName,
boolean addDecorated) {
- EntityCsvModel<E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
idName
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,8 +25,9 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Locale;
@@ -46,7 +47,7 @@
protected Locale locale;
- protected DbMeta dbMeta;
+ protected DbMeta<EchoBaseEntityEnum> dbMeta;
public static EchoBaseServiceContext newContext(
EchoBaseServiceContext serviceContext,
@@ -111,7 +112,7 @@
}
@Override
- public DbMeta getDbMeta() {
+ public DbMeta<EchoBaseEntityEnum> getDbMeta() {
return dbMeta;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,8 +25,9 @@
package fr.ifremer.echobase.services;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Locale;
@@ -48,7 +49,7 @@
EchoBaseConfiguration getConfiguration();
- DbMeta getDbMeta();
+ DbMeta<EchoBaseEntityEnum> getDbMeta();
EchoBaseServiceFactory getServiceFactory();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,7 +29,6 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.DbMeta;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.nuiton.topia.TopiaContext;
@@ -37,6 +36,7 @@
import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Date;
import java.util.List;
@@ -121,7 +121,7 @@
return serviceContext.getLocale();
}
- protected final DbMeta getDbMeta() {
+ protected final DbMeta<EchoBaseEntityEnum> getDbMeta() {
return serviceContext.getDbMeta();
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,8 +29,8 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.EntitiesUtil;
import fr.ifremer.echobase.entities.ExportQuery;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
import fr.ifremer.echobase.services.exceptions.ExportQueryNameAlreadyExistException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -157,7 +157,7 @@
protected void rollbackTransaction(TopiaContext tx, String message) {
try {
- if (tx!=null) {
+ if (tx != null) {
tx.rollbackTransaction();
}
} catch (TopiaException eee) {
@@ -172,13 +172,13 @@
// export db steps
- nbSteps += EntitiesUtil.getReferenceEntries(getDbMeta()).length;
+ nbSteps += EchoBaseMetadatas.getReferenceEntries(getDbMeta()).length;
if (model.getVoyageIds() != null) {
nbSteps += model.getVoyageIds().length;
}
// import db stesp
- nbSteps += EntitiesUtil.getEntries(getDbMeta()).length;
+ nbSteps += EchoBaseMetadatas.getEntries(getDbMeta()).length;
return nbSteps;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,21 +23,30 @@
*/
package fr.ifremer.echobase.services;
+import com.google.common.base.Preconditions;
import com.google.common.collect.Multimap;
+import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseIOUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EntitiesUtil;
+import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.csv.out.AbstractExportEntityVisitor;
+import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
import java.io.File;
import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
/**
* Service to import / export a complete db.
@@ -77,20 +86,20 @@
FileUtil.createDirectoryIfNecessary(dir);
- MetaFilenameAware[] entries = EntitiesUtil.getEntries(getDbMeta());
+ MetaFilenameAware<EchoBaseEntityEnum>[] entries = EchoBaseMetadatas.getEntries(getDbMeta());
model.setNbSteps(entries.length);
- for (MetaFilenameAware entry : entries) {
+ for (MetaFilenameAware<EchoBaseEntityEnum> entry : entries) {
model.incrementsProgression();
File entryFile = new File(dir, entry.getFilename());
if (entry instanceof AssociationMeta) {
- AssociationMeta associationMeta = (AssociationMeta) entry;
+ AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
exportService.exportDatas(associationMeta, entryFile);
} else {
- TableMeta meta = (TableMeta) entry;
+ TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
exportService.exportDatas(meta, entryFile);
}
}
@@ -126,7 +135,7 @@
ExportService exportService = getService(ExportService.class);
// export all referentiel
- MetaFilenameAware[] refEntries = EntitiesUtil.getReferenceEntries(
+ MetaFilenameAware<EchoBaseEntityEnum>[] refEntries = EchoBaseMetadatas.getReferenceEntries(
getDbMeta());
boolean withVoyages = model.getVoyageIds() != null;
@@ -140,27 +149,27 @@
model.setNbSteps(nbstesp);
}
- for (MetaFilenameAware entry : refEntries) {
+ for (MetaFilenameAware<EchoBaseEntityEnum> entry : refEntries) {
model.incrementsProgression();
File entryFile = new File(dir, entry.getFilename());
if (entry instanceof AssociationMeta) {
- AssociationMeta associationMeta = (AssociationMeta) entry;
+ AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
exportService.exportDatas(associationMeta, entryFile);
} else {
- TableMeta meta = (TableMeta) entry;
+ TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
exportService.exportDatas(meta, entryFile);
}
}
if (withVoyages) {
- MetaFilenameAware[] dataEntries =
- EntitiesUtil.getDataEntries(getDbMeta());
- Multimap<EchoBaseEntityEnum, MetaFilenameAware> dataAssociationEntries =
- EntitiesUtil.getDataAssociationsEntries(getDbMeta());
+ MetaFilenameAware<EchoBaseEntityEnum>[] dataEntries =
+ EchoBaseMetadatas.getDataEntries(getDbMeta());
+ Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> dataAssociationEntries =
+ EchoBaseMetadatas.getDataAssociationsEntries(getDbMeta());
- ReplicateEntityVisitor visitor = ReplicateEntityVisitor.createVisitor(
+ ReplicateEntityVisitor visitor = createVisitor(
exportService,
dataEntries,
dataAssociationEntries,
@@ -183,4 +192,70 @@
EchoBaseIOUtil.compressZipFile(zipFile, dir);
}
+
+ public ReplicateEntityVisitor createVisitor(ExportService service,
+ MetaFilenameAware<EchoBaseEntityEnum>[] entityMetas,
+ Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associations,
+ File container) {
+
+ Preconditions.checkNotNull(service);
+
+ Map<Class<?>, TopiaCsvExports.EntityExportContext> contexts = TopiaCsvExports.createReplicateEntityVisitorContexts(
+ service, entityMetas, associations, container);
+
+ ReplicateEntityVisitor result = new ReplicateEntityVisitor(contexts);
+ return result;
+ }
+
+ /**
+ * entity visitor to export data to csv files.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+ public static class ReplicateEntityVisitor extends AbstractExportEntityVisitor<EchoBaseEntityEnum> {
+
+ protected final Set<String> categoryIds;
+
+ @Override
+ protected boolean isNoChildVisit(String propertyName, TopiaEntity entity) {
+ return Result.PROPERTY_CATEGORY.equals(propertyName) &&
+ entity instanceof Result;
+ }
+
+ public ReplicateEntityVisitor(Map<Class<?>, TopiaCsvExports.EntityExportContext> entityExporters) {
+ super(entityExporters);
+ categoryIds = Sets.newHashSet();
+ }
+
+ @Override
+ public void visit(TopiaEntity entity, String propertyName,
+ Class<?> type, Object value) {
+ if (Result.PROPERTY_CATEGORY.equals(propertyName) &&
+ entity instanceof Result) {
+
+ // export category
+ try {
+ TopiaEntity topiaEntity = (TopiaEntity) value;
+ if (categoryIds.add(topiaEntity.getTopiaId())) {
+ // add this new category
+ topiaEntity.accept(this);
+ }
+
+ } catch (TopiaException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can not visit entity " + value, e);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void clear() {
+
+ categoryIds.clear();
+
+ super.clear();
+ }
+ }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,8 +25,8 @@
import com.google.common.base.Charsets;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.AbstractExportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.util.csv.ext.AbstractExportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
import fr.ifremer.echobase.entities.ExportQueryImpl;
@@ -312,7 +312,7 @@
for (String columnHeader : columnHeaders) {
newColumnForExport(
columnHeader,
- EchobaseCsvUtil.TO_STRING_FORMATTER
+ EchoBaseCsvUtil.TO_STRING_FORMATTER
);
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,15 +25,16 @@
import com.google.common.base.Charsets;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.AbstractExportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.ColumnMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.out.EntityAssociationExportModel;
+import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
import org.nuiton.util.TimeLog;
import org.nuiton.util.csv.Export;
import org.nuiton.util.csv.ExportModel;
@@ -48,14 +49,15 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-public class ExportService extends EchoBaseServiceSupport {
+public class ExportService extends EchoBaseServiceSupport implements ExportModelFactory<EchoBaseEntityEnum> {
/** Logger. */
private static final Log log = LogFactory.getLog(ExportService.class);
public static final TimeLog TIME_LOG = new TimeLog(ExportService.class);
- public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta associationMeta) {
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
ExportModel<E> model = EntityAssociationExportModel.newExportModel(
getConfiguration().getCsvSeparator(),
@@ -64,9 +66,10 @@
return model;
}
- public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta meta, boolean asSeen) {
+ @Override
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta, boolean asSeen) {
- EntityCsvModel<E> model;
+ EntityCsvModel<EchoBaseEntityEnum, E> model;
if (asSeen) {
@@ -111,7 +114,7 @@
return model;
}
- public String exportDatas(TableMeta tableMeta, boolean asSeen) {
+ public String exportDatas(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
Export<TopiaEntity> export = prepareExport(tableMeta, asSeen);
@@ -122,7 +125,7 @@
}
}
- public void exportDatas(TableMeta tableMeta, File file) {
+ public void exportDatas(TableMeta<EchoBaseEntityEnum> tableMeta, File file) {
if (log.isInfoEnabled()) {
log.info("Export table " + tableMeta + " to " + file);
@@ -139,7 +142,7 @@
TIME_LOG.log(s2, "exportDatas::exportToFile");
}
- public void exportDatas(AssociationMeta associationMeta, File file) {
+ public void exportDatas(AssociationMeta<EchoBaseEntityEnum> associationMeta, File file) {
if (log.isInfoEnabled()) {
log.info("Export association " + associationMeta + " to " + file);
@@ -157,7 +160,7 @@
TIME_LOG.log(s2, "exportDatas::exportToFile");
}
- protected Export<TopiaEntity> prepareExport(TableMeta tableMeta, boolean asSeen) {
+ protected Export<TopiaEntity> prepareExport(TableMeta<EchoBaseEntityEnum> tableMeta, boolean asSeen) {
DbEditorService service = getService(DbEditorService.class);
List<TopiaEntity> datas = service.getEntities(tableMeta, null, null, null, null);
@@ -165,46 +168,14 @@
return Export.newExport(model, datas);
}
- protected Export<TopiaEntity> prepareExport(AssociationMeta associationMeta) {
+ protected Export<TopiaEntity> prepareExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
DbEditorService service = getService(DbEditorService.class);
- TableMeta tableMeta = service.getTableMeta(associationMeta.getSource());
+ TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(associationMeta.getSource());
List<TopiaEntity> datas = service.getEntities(tableMeta, null, null, null, "size(e." + associationMeta.getName() + ") > 0");
ExportModel<TopiaEntity> model = buildForExport(associationMeta);
return Export.newExport(model, datas);
}
- /**
- * A model to export associations of entities into csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
- public static class EntityAssociationExportModel<E extends TopiaEntity> extends AbstractExportModel<E> {
-
- protected final AssociationMeta meta;
-
- public static <E extends TopiaEntity> ExportModel<E> newExportModel(char separator,
- AssociationMeta meta
- ) {
- EntityAssociationExportModel<E> model = new EntityAssociationExportModel<E>(
- separator,
- meta);
-
- // topiaId <-> topiaId
- model.newColumnForExport(TopiaEntity.TOPIA_ID);
-
- model.newColumnForExport(
- meta.getName(),
- EchobaseCsvUtil.newAssociationValueFormatter()
- );
- return model;
- }
-
- protected EntityAssociationExportModel(char separator, AssociationMeta meta) {
- super(separator);
- this.meta = meta;
- }
- }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,27 +24,21 @@
package fr.ifremer.echobase.services;
import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import fr.ifremer.echobase.csv.CsvImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.EntitiesUtil;
import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
-import org.apache.commons.lang3.StringUtils;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
+import org.nuiton.topia.persistence.csv.in.TopiaCsvImports;
import org.nuiton.util.TimeLog;
-import org.nuiton.util.csv.Import;
-import org.nuiton.util.csv.ImportModel;
-import org.nuiton.util.csv.ImportToMap;
-import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -90,9 +84,13 @@
List<String> missingEntries = Lists.newArrayList();
- Map<MetaFilenameAware, ZipEntry> entriestoConsume = discoverEntries(
- file, zipFile, missingEntries);
+ MetaFilenameAware<EchoBaseEntityEnum>[] entries =
+ EchoBaseMetadatas.getEntries(getDbMeta());
+ Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> entriestoConsume = TopiaCsvImports.discoverEntries(
+ "echobase/", entries,
+ zipFile, missingEntries);
+
if (computeSteps) {
int size = entriestoConsume.size();
model.setNbSteps(size + missingEntries.size());
@@ -109,22 +107,42 @@
}
// consume all found entries
- for (Map.Entry<MetaFilenameAware, ZipEntry> entry :
+ for (Map.Entry<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> entry :
entriestoConsume.entrySet()) {
model.incrementsProgression();
- MetaFilenameAware entryDef = entry.getKey();
+ MetaFilenameAware<EchoBaseEntityEnum> entryDef = entry.getKey();
ZipEntry value = entry.getValue();
- CsvImportResult csvResult = CsvImportResult.newResult(
+ CsvImportResult<EchoBaseEntityEnum> csvResult = CsvImportResult.newResult(
entryDef.getSource(),
value.getName(),
false
);
- Reader reader =
- new BufferedReader(new InputStreamReader(zipFile.getInputStream(value)));
+
+ Reader reader = IOUtils.toBufferedReader(new InputStreamReader(zipFile.getInputStream(value)));
try {
- importFile(entryDef, reader, csvResult);
+ long s0 = TimeLog.getTime();
+
+ if (log.isInfoEnabled()) {
+ log.info("Will import " + entry);
+ }
+
+ ImportService importService = getService(ImportService.class);
+
+ TopiaCsvImports.importFile((TopiaContextImplementor) getTransaction(),
+ importService,
+ entryDef,
+ reader,
+ csvResult);
+
+ TIME_LOG.log(s0, "importFile::done");
+
+ s0 = TimeLog.getTime();
+
+ flushTransaction();
+
+ TIME_LOG.log(s0, "importFile::flushTransaction");
} finally {
reader.close();
@@ -157,172 +175,171 @@
}
}
- protected Map<MetaFilenameAware, ZipEntry> discoverEntries(File file,
- ZipFile zipFile,
- List<String> missingEntries) {
-
- Map<MetaFilenameAware, ZipEntry> result =
- Maps.newLinkedHashMap();
-
- MetaFilenameAware[] entries = EntitiesUtil.getEntries(getDbMeta());
-
- // check that all mandatories
- for (MetaFilenameAware entry : entries) {
- String filename = entry.getFilename();
- ZipEntry zipEntry = zipFile.getEntry("echobase/" + filename);
-
- if (zipEntry == null) {
- missingEntries.add(filename);
- } else {
- result.put(entry, zipEntry);
- }
- }
-// if (!missingEntries.isEmpty() && log.isWarnEnabled()) {
-// log.warn("There is " + missingEntries.size() + " missing files " +
-// " in import " + file + "\n" + StringUtil.join(missingEntries, "\n", false));
+// public void importFile(MetaFilenameAware<EchoBaseEntityEnum> entry,
+// Reader reader,
+// CsvImportResult<EchoBaseEntityEnum> csvResult) throws IOException, TopiaException {
+//
+// long s0 = TimeLog.getTime();
+//
+// if (log.isInfoEnabled()) {
+// log.info("Will import " + entry);
// }
+//
+// ImportService importService = getService(ImportService.class);
+//
+// TopiaCsvImports.importFile((TopiaContextImplementor) getTransaction(),
+// importService,
+// entry,
+// reader,
+// csvResult);
+//
+// if (entry instanceof AssociationMeta) {
+//
+// // load a association input
+// AssociationMeta<EchoBaseEntityEnum> meta = (AssociationMeta<EchoBaseEntityEnum>) entry;
+// ImportModel<Map<String, Object>> model =
+// importService.buildForImport(meta);
+// ImportToMap importer = ImportToMap.newImportToMap(model, reader, false);
+//
+//
+// try {
+// if (isNMAssociationMeta(meta)) {
+// TopiaCsvImports.importNMAssociationFile(getTransaction(), meta, importer, csvResult, 1000);
+// } else {
+// TopiaCsvImports.importAssociationFile(getTransaction(), meta, importer, csvResult, 1000);
+// }
+// } finally {
+// importer.close();
+// }
+//
+// } else {
+//
+// // normal entity table import
+// TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
+// ImportModel<TopiaEntity> model = importService.buildForImport(meta);
+// Import<TopiaEntity> importer = Import.newImport(model, reader);
+//
+// try {
+// TopiaDAO<TopiaEntity> dao = getDAO(meta.getSource());
+// TopiaCsvImports.importEntityFile(dao, meta, importer, csvResult);
+// } finally {
+// importer.close();
+// }
+// }
+//
+// TIME_LOG.log(s0, "importFile::done");
+//
+// s0 = TimeLog.getTime();
+//
+// flushTransaction();
+//
+// TIME_LOG.log(s0, "importFile::flushTransaction");
+// }
+//
+// protected boolean isNMAssociationMeta(AssociationMeta<EchoBaseEntityEnum> meta) {
+// EchoBaseEntityEnum source = meta.getSource();
+// EchoBaseEntityEnum target = meta.getTarget();
+// boolean result = false;
+// if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
+// source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
+// source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
+// result = true;
+// }
+// return result;
+// }
+//
+// public Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> discoverEntries(ZipFile zipFile,
+// List<String> missingEntries) {
+//
+// Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> result =
+// Maps.newLinkedHashMap();
+//
+// MetaFilenameAware<EchoBaseEntityEnum>[] entries =
+// EchoBaseMetadatas.getEntries(getDbMeta());
+//
+// // check that all mandatories
+// for (MetaFilenameAware<EchoBaseEntityEnum> entry : entries) {
+// String filename = entry.getFilename();
+// ZipEntry zipEntry = zipFile.getEntry("echobase/" + filename);
+//
+// if (zipEntry == null) {
+// missingEntries.add(filename);
+// } else {
+// result.put(entry, zipEntry);
+// }
+// }
+//// if (!missingEntries.isEmpty() && log.isWarnEnabled()) {
+//// log.warn("There is " + missingEntries.size() + " missing files " +
+//// " in import " + file + "\n" + StringUtil.join(missingEntries, "\n", false));
+//// }
+//
+// return result;
+// }
+//
+// protected void importEntityFile(TableMeta<EchoBaseEntityEnum> meta,
+// Import<TopiaEntity> importer,
+// CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+//
+// TopiaDAO<TopiaEntity> dao = getDAO(meta.getSource());
+//
+// for (TopiaEntity entity : importer) {
+//
+// Map<String, Object> properties = meta.prepareCreate(
+// entity, entity.getTopiaId());
+// TopiaEntity entityToSave = dao.create(properties);
+//
+// meta.copy(entity, entityToSave);
+//
+// csvResult.incrementsNumberUpdated();
+// }
+// }
+//
+// protected void importAssociationFile(AssociationMeta<EchoBaseEntityEnum> meta,
+// ImportToMap importer,
+// CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+//
+// EchoBaseEntityEnum source = meta.getSource();
+// EchoBaseEntityEnum target = meta.getTarget();
+//
+// StringBuilder builder = new StringBuilder();
+//
+// String updateString;
+// String targetTableName = target.getContract().getSimpleName();
+// String sourceTableName = source.getContract().getSimpleName();
+// String table = targetTableName;
+// if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
+// source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
+// source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
+// // relation *-*
+// table = TopiaEntityHelper.getNormalizedAssociationTableName(sourceTableName, targetTableName);
+// updateString = "INSERT INTO " + table + " (" + sourceTableName + "," + targetTableName + ") VALUES('%s','%s');";
+// } else {
+// updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE topiaId ='%s';";
+// }
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Will apply " + updateString);
+// }
+// int compt = 0;
+// for (Map<String, Object> row : importer) {
+// String topiaId = (String) row.get(TopiaEntity.TOPIA_ID);
+// String[] associations = (String[]) row.get("target");
+// for (String association : associations) {
+// if (StringUtils.isNotEmpty(association)) {
+// builder.append(String.format(updateString, topiaId, association)).append('\n');
+// compt++;
+// if (compt % 1000 == 0) {
+// // flush it
+// getTransaction().executeSQL(builder.toString());
+// builder = new StringBuilder();
+// }
+// }
+// }
+// csvResult.incrementsNumberUpdated();
+// }
+// if (builder.length() > 0) {
+// getTransaction().executeSQL(builder.toString());
+// }
+// }
- return result;
- }
-
- static class MyImportToMap extends ImportToMap {
-
- public static MyImportToMap newImportToMap(ImportModel<Map<String, Object>> model,
- Reader reader) {
- return new MyImportToMap(model, reader);
- }
-
- protected MyImportToMap(ImportModel<Map<String, Object>> model,
- Reader reader) {
- super(model, reader);
- this.reader.setSafetySwitch(false);
- }
-
- }
-
- public void importFile(MetaFilenameAware entry,
- Reader reader,
- CsvImportResult csvResult) throws IOException, TopiaException {
-
- long s0 = TimeLog.getTime();
-
- if (log.isInfoEnabled()) {
- log.info("Will import " + entry);
- }
-
- ImportService importService = getService(ImportService.class);
-
- if (entry instanceof AssociationMeta) {
-
- // load a association input
- AssociationMeta meta = (AssociationMeta) entry;
- ImportModel<Map<String, Object>> model =
- importService.buildForImport(meta);
- ImportToMap importer = MyImportToMap.newImportToMap(model, reader);
-
- try {
- importAssociationfile(meta, importer, csvResult);
- } finally {
- importer.close();
- }
-
- } else {
-
- // normal entity table import
- TableMeta meta = (TableMeta) entry;
- ImportModel<TopiaEntity> model = importService.buildForImport(meta);
- Import<TopiaEntity> importer = Import.newImport(model, reader);
-
- try {
- importEntityFile(meta, importer, csvResult);
- } finally {
- importer.close();
- }
- }
-
- TIME_LOG.log(s0, "importFile::done");
-
- s0 = TimeLog.getTime();
-
- flushTransaction();
-
- TIME_LOG.log(s0, "importFile::flushTransaction");
- }
-
- protected void importEntityFile(TableMeta meta,
- Import<TopiaEntity> importer,
- CsvImportResult csvResult) throws TopiaException {
-
- TopiaDAO<TopiaEntity> dao = getDAO(meta.getSource());
-
- for (TopiaEntity entity : importer) {
-
- Map<String, Object> properties = meta.prepareCreate(
- entity, entity.getTopiaId());
- TopiaEntity entityToSave = dao.create(properties);
-
- meta.copy(entity, entityToSave);
-
- csvResult.incrementsNumberUpdated();
- }
- }
-
- protected String getNormalizedTableName(String table1, String table2) {
- String result;
- if (table1.compareTo(table2) > 0) {
- result = table2 + "_" + table1;
- } else {
- result = table1 + "_" + table2;
- }
- return result;
- }
-
- protected void importAssociationfile(AssociationMeta meta,
- ImportToMap importer,
- CsvImportResult csvResult) throws TopiaException {
-
- EchoBaseEntityEnum source = meta.getSource();
- EchoBaseEntityEnum target = meta.getTarget();
-
- StringBuilder builder = new StringBuilder();
-
- String updateString;
- String targetTableName = target.getContract().getSimpleName();
- String sourceTableName = source.getContract().getSimpleName();
- String table = targetTableName;
- if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
- source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
- source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
- // relation *-*
- table = getNormalizedTableName(sourceTableName, targetTableName);
- updateString = "INSERT INTO " + table + " (" + sourceTableName + "," + targetTableName + ") VALUES('%s','%s');";
- } else {
- updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE topiaId ='%s';";
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Will apply " + updateString);
- }
- int compt = 0;
- for (Map<String, Object> row : importer) {
- String topiaId = (String) row.get(TopiaEntity.TOPIA_ID);
- String[] associations = (String[]) row.get("target");
- for (String association : associations) {
- if (StringUtils.isNotEmpty(association)) {
- builder.append(String.format(updateString, topiaId, association)).append('\n');
- compt++;
- if (compt % 1000 == 0) {
- // flush it
- getTransaction().executeSQL(builder.toString());
- builder = new StringBuilder();
- }
- }
- }
- csvResult.incrementsNumberUpdated();
- }
- if (builder.length() > 0) {
- getTransaction().executeSQL(builder.toString());
- }
- }
-
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,26 +23,26 @@
*/
package fr.ifremer.echobase.services;
+import com.google.common.base.Charsets;
+import com.google.common.io.Files;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.CsvImportResult;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.ColumnMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
+import org.nuiton.topia.persistence.csv.in.EntityAssociationImportModel;
+import org.nuiton.topia.persistence.csv.in.ImportModelFactory;
import org.nuiton.util.csv.Import;
-import org.nuiton.util.csv.ImportExportModel;
import org.nuiton.util.csv.ImportModel;
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
import java.util.Collection;
import java.util.Map;
@@ -53,16 +53,17 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-public class ImportService extends EchoBaseServiceSupport {
+public class ImportService extends EchoBaseServiceSupport implements ImportModelFactory<EchoBaseEntityEnum> {
/** Logger. */
private static final Log log = LogFactory.getLog(ImportService.class);
- public <E extends TopiaEntity> EntityCsvModel<E> buildForImport(TableMeta meta) {
+ @Override
+ public <E extends TopiaEntity> ImportModel<E> buildForImport(TableMeta<EchoBaseEntityEnum> meta) {
DbEditorService service = getService(DbEditorService.class);
- EntityCsvModel<E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.TOPIA_ID
@@ -83,7 +84,8 @@
return model;
}
- public ImportModel<Map<String, Object>> buildForImport(AssociationMeta meta) {
+ @Override
+ public ImportModel<Map<String, Object>> buildForImport(AssociationMeta<EchoBaseEntityEnum> meta) {
ImportModel<Map<String, Object>> model =
EntityAssociationImportModel.newImportModel(
@@ -93,22 +95,35 @@
return model;
}
- public CsvImportResult importDatas(EchoBaseEntityEnum entityType,
- String importFileName,
- File importFile,
- boolean createIfNotFound,
- EchoBaseUser user) throws IOException {
+ @Override
+ public boolean isNMAssociationMeta(AssociationMeta<EchoBaseEntityEnum> meta) {
+ EchoBaseEntityEnum source = meta.getSource();
+ EchoBaseEntityEnum target = meta.getTarget();
+ boolean result = false;
+ if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
+ source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
+ source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
+ result = true;
+ }
+ return result;
+ }
+ public CsvImportResult<EchoBaseEntityEnum> importDatas(EchoBaseEntityEnum entityType,
+ String importFileName,
+ File importFile,
+ boolean createIfNotFound,
+ EchoBaseUser user) throws IOException {
+
DbEditorService service = getService(DbEditorService.class);
- TableMeta meta = service.getTableMeta(entityType);
- ImportExportModel<TopiaEntity> csvModel = buildForImport(meta);
+ TableMeta<EchoBaseEntityEnum> meta = service.getTableMeta(entityType);
+ ImportModel<TopiaEntity> csvModel = buildForImport(meta);
String messagePrefix = "Import du fichier " + importFileName + " le " + newDate();
- CsvImportResult result = CsvImportResult.newResult(entityType,
- importFileName,
- createIfNotFound);
- BufferedReader bf = new BufferedReader(new FileReader(importFile));
+ CsvImportResult<EchoBaseEntityEnum> result = CsvImportResult.newResult(
+ entityType, importFileName, createIfNotFound);
+
+ BufferedReader bf = Files.newReader(importFile, Charsets.UTF_8);
try {
Import<TopiaEntity> importer = Import.newImport(csvModel, bf);
@@ -147,48 +162,4 @@
return result;
}
- /**
- * A model to import associations of entities into csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
- public static class EntityAssociationImportModel extends AbstractImportModel<Map<String, Object>> {
-
- protected final AssociationMeta meta;
-
- public static ImportModel<Map<String, Object>> newImportModel(char separator,
- AssociationMeta meta
- ) {
- EntityAssociationImportModel model = new EntityAssociationImportModel(
- separator, meta);
-
- // topiaId <-> topiaId
- model.newMandatoryColumn(
- TopiaEntity.TOPIA_ID,
- EchobaseCsvUtil.<Map<String, Object>, String>newMapProperty(TopiaEntity.TOPIA_ID)
- );
-
- // add association -> target
- model.newMandatoryColumn(
- meta.getName(),
- EchobaseCsvUtil.ASSOCIATION_VALUE_PARSER,
- EchobaseCsvUtil.<Map<String, Object>, String[]>newMapProperty("target")
- );
-
- return model;
- }
-
- @Override
- public Map<String, Object> newEmptyInstance() {
- return null;
- }
-
- protected EntityAssociationImportModel(char separator,
- AssociationMeta meta) {
- super(separator);
- this.meta = meta;
- }
-
- }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -26,7 +26,7 @@
import java.io.Serializable;
/**
- * Cotnract for a progression model while long service actions.
+ * Contract for a progression model while long service actions.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ReplicateEntityVisitor.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ReplicateEntityVisitor.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ReplicateEntityVisitor.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -1,257 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.services;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.EntityExportContext;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.EntityVisitor;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.TimeLog;
-import org.nuiton.util.csv.ExportModel;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * entity visitor to export data to csv files.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class ReplicateEntityVisitor implements EntityVisitor {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ReplicateEntityVisitor.class);
-
- public static final TimeLog TIME_LOG =
- new TimeLog(ReplicateEntityVisitor.class);
-
- public static ReplicateEntityVisitor createVisitor(ExportService service,
- MetaFilenameAware[] entityMetas,
- Multimap<EchoBaseEntityEnum, MetaFilenameAware> associations,
- File container) {
-
- Preconditions.checkNotNull(service);
- Preconditions.checkNotNull(entityMetas);
- Preconditions.checkNotNull(associations);
- Preconditions.checkNotNull(container);
-
- Map<Class<?>, EntityExportContext> contexts = Maps.newHashMap();
-
- for (MetaFilenameAware entityMeta : entityMetas) {
- TableMeta meta = (TableMeta) entityMeta;
- EchoBaseEntityEnum source = meta.getSource();
-
- Collection<MetaFilenameAware> metaFilenameAwares = associations.get(source);
-
- ExportModel<TopiaEntity> model = service.buildForExport(meta, false);
-
- EntityExportContext exportContext = new EntityExportContext(
- model,
- meta,
- container);
-
- // save both for contract and implementation with same context
- contexts.put(source.getContract(), exportContext);
- contexts.put(source.getImplementation(), exportContext);
-
- for (MetaFilenameAware metaFilenameAware : metaFilenameAwares) {
- AssociationMeta associationMeta = (AssociationMeta) metaFilenameAware;
-
- ExportModel<TopiaEntity> associationModel =
- service.buildForExport(associationMeta);
- exportContext.addAssociationExportContext(associationMeta,
- associationModel,
- container);
- }
- }
-
- ReplicateEntityVisitor result = new ReplicateEntityVisitor(contexts);
- return result;
- }
-
- /** Export for simple entity. */
- protected final Map<Class<?>, EntityExportContext> entityExporters;
-
- protected final Set<String> categoryIds;
-
- public ReplicateEntityVisitor(Map<Class<?>, EntityExportContext> entityExporters) {
- this.entityExporters = entityExporters;
- categoryIds = Sets.newHashSet();
- }
-
- public void export(TopiaEntity entity) {
- Preconditions.checkNotNull(entity);
- long s1 = TimeLog.getTime();
- try {
- entity.accept(this);
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException(
- "Could not export entity " + entity.getTopiaId(), e);
- } finally {
- TIME_LOG.log(s1, "export::" + entity.getTopiaId());
- }
- }
-
- @Override
- public void start(TopiaEntity entity) {
- String topiaId = entity.getTopiaId();
- try {
- if (log.isDebugEnabled()) {
- log.debug("Starts export of entity " + topiaId);
- }
- EntityExportContext entityExporter =
- entityExporters.get(entity.getClass());
- entityExporter.write(entity);
- } catch (Exception e) {
- throw new EchoBaseTechnicalException(
- "Could not export entity " + entity, e);
- } finally {
- if (log.isDebugEnabled()) {
- log.debug("Ends export of entity " + topiaId);
- }
- }
- }
-
- @Override
- public void end(TopiaEntity entity) {
- try {
- if (log.isDebugEnabled()) {
- log.debug("Starts export of association of entity " +
- entity.getTopiaId());
- }
- EntityExportContext entityExporter =
- entityExporters.get(entity.getClass());
- entityExporter.writeAssociations(entity);
- } catch (Exception e) {
- throw new EchoBaseTechnicalException(
- "Could not export associations of entity " + entity, e);
- } finally {
- if (log.isDebugEnabled()) {
- log.debug("Ends export of association of entity " +
- entity.getTopiaId());
- }
- }
- }
-
- @Override
- public void visit(TopiaEntity entity, String propertyName,
- Class<?> type, Object value) {
- if (Result.PROPERTY_CATEGORY.equals(propertyName) &&
- entity instanceof Result) {
-
- // export category
- try {
- TopiaEntity topiaEntity = (TopiaEntity) value;
- if (categoryIds.add(topiaEntity.getTopiaId())) {
- // add this new category
- topiaEntity.accept(this);
- }
-
- } catch (TopiaException e) {
- if (log.isErrorEnabled()) {
- log.error("Can not visit entity " + value, e);
- }
- }
- }
- }
-
- @Override
- public void visit(TopiaEntity entity,
- String propertyName,
- Class<?> collectionType,
- Class<?> type,
- Object value) {
-
- if (TopiaEntity.class.isAssignableFrom(type) &&
- entityExporters.containsKey(type)) {
- Collection<?> cValue = (Collection<?>) value;
-
- if (CollectionUtils.isNotEmpty(cValue)) {
-
- if (Voyage.PROPERTY_POST_CELL.equals(propertyName)
- && entity instanceof Voyage) {
-
- // special case, when visiting cells from Voyage entity,
- // let's not visit cells childs (they will be visited later
- // by the DataProcessing himself)
- for (Object currentValue : cValue) {
- ((Cell) currentValue).acceptWithNoChilds(this);
- }
- } else {
- for (Object currentValue : cValue) {
- try {
- ((TopiaEntity) currentValue).accept(this);
- } catch (TopiaException e) {
- if (log.isErrorEnabled()) {
- log.error("Can not visit entity " + value, e);
- }
- }
- }
- }
- }
- }
- }
-
- @Override
- public void visit(TopiaEntity entity,
- String propertyName,
- Class<?> collectionType, Class<?> type,
- int index,
- Object value) {
-
- // nothing to do
- }
-
- @Override
- public void clear() {
-
- // use at the end of visit (or later)
-
- categoryIds.clear();
-
- for (EntityExportContext exportContext : entityExporters.values()) {
- IOUtils.closeQuietly(exportContext);
- }
- }
-}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -26,9 +26,9 @@
import com.google.common.collect.Lists;
import fr.ifremer.echobase.EchoBaseIOUtil;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import java.io.File;
import java.util.List;
@@ -51,7 +51,7 @@
protected String importNotes;
/** Result stats for each file imported. (mainly kept for testing purpose). */
- protected final List<CsvFileImportResult> importResults =
+ protected final List<CsvFileImportResult<EchoBaseEntityEnum>> importResults =
Lists.newArrayList();
public File getWorkingDirectory() {
@@ -70,7 +70,7 @@
this.importNotes = importNotes;
}
- public List<CsvFileImportResult> getImportResults() {
+ public List<CsvFileImportResult<EchoBaseEntityEnum>> getImportResults() {
return importResults;
}
@@ -92,7 +92,7 @@
return result;
}
- public void addResult(CsvFileImportResult fileResult) {
+ public void addResult(CsvFileImportResult<EchoBaseEntityEnum> fileResult) {
Set<EchoBaseEntityEnum> entityTypes = fileResult.getEntityTypes();
if (!entityTypes.isEmpty()) {
importResults.add(fileResult);
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,8 +29,7 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
@@ -58,6 +57,7 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.StringUtil;
import org.nuiton.util.TimeLog;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -119,8 +119,6 @@
// do commit
commitTransaction("Could not execute import " + getImportLabel());
return result;
- } catch (ImportException e) {
- throw e;
} catch (EchoBaseTechnicalException e) {
throw new ImportException(e.getMessage(), e);
}
@@ -142,7 +140,7 @@
buffer.append("Import réalisé en ");
buffer.append(StringUtil.convertTime(time));
- for (CsvFileImportResult importResult : configuration.getImportResults()) {
+ for (CsvFileImportResult<EchoBaseEntityEnum> importResult : configuration.getImportResults()) {
StringBuilder description = new StringBuilder();
description.append("Depuis Fichier ").append(importResult.getImportFileName());
@@ -291,7 +289,7 @@
SizeCategory sizeCategory,
AgeCategory ageCategory,
SexCategory sexCategory,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
String key = species == null ? "" : species.getBaracoudaCode();
key += "#" + (ageCategory == null ? "" : ageCategory.getName());
@@ -339,7 +337,7 @@
Species species,
SizeCategory sizeCategory,
AgeCategory ageCategory,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
// get species categorie first
@@ -362,7 +360,7 @@
CategoryDAO categoryDAO,
Echotype echotype,
SpeciesCategory speciesCategory,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
String key = speciesCategory == null ? "" : speciesCategory.getTopiaId();
key += "#" + (echotype == null ? "" : echotype.getName());
@@ -434,7 +432,7 @@
DataMetadata dataMetaData,
String dataValue,
DataQuality dataQuality,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
Data data = create(dao,
Data.PROPERTY_DATA_METADATA, dataMetaData,
@@ -445,12 +443,12 @@
importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
}
- protected void addResults(EchobaseCsvUtil.ResultAble row,
+ protected void addResults(EchoBaseCsvUtil.ResultAble row,
Cell cell,
Category category,
String resultLabel,
ResultDAO dao,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
List<Result> results = row.getResult();
for (Result result : results) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -28,9 +28,8 @@
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Cell;
@@ -115,7 +114,7 @@
}
private final DateFormat cellDateFormat = new SimpleDateFormat(
- EchobaseCsvUtil.CELLULE_DATE_FORMAT);
+ EchoBaseCsvUtil.CELLULE_DATE_FORMAT);
private DataAcquisition getDataAcquisition(Transect transect,
AcousticInstrument instrument,
@@ -153,8 +152,8 @@
log.info("Starts " + getImportMessage(inputFile));
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, AcousticInstrument> instrumentsById =
getEntitiesMap(AcousticInstrument.class,
@@ -187,8 +186,8 @@
Locale locale = getLocale();
String dataProcessingId = null;
try {
- Import<AcousticImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<AcousticImportRow> importer = Import.newImport(csvModel,
+ reader);
DataAcquisition dataAcquisition = null;
DataProcessing dataProcessing = null;
@@ -431,7 +430,7 @@
AcousticImportRow row,
DataQuality dataQuality,
DataDAO dao,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
String dataValue;
@@ -711,7 +710,7 @@
String metadataName,
String dataValue,
DataQuality dataQuality,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
createCellData(
dao,
cell,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -28,8 +28,6 @@
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Operation;
@@ -56,6 +54,7 @@
import fr.ifremer.echobase.services.importdata.csv.TotalSampleImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -107,7 +106,7 @@
InputFile inputFile;
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
inputFile = configuration.getTotalSampleFile();
if (inputFile.hasFile()) {
@@ -147,7 +146,7 @@
}
}
- private CsvFileImportResult importTotalSampleFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importTotalSampleFile(
CatchesImportConfiguration configuration,
InputFile inputFile,
Map<String, Operation> operationMap,
@@ -159,8 +158,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
TotalSampleImportModel csvModel = new TotalSampleImportModel(getCsvSeparator(),
operationMap,
@@ -192,9 +191,9 @@
Locale locale = getLocale();
try {
Import<TotalSampleImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
- int rowNumber=0;
+ int rowNumber = 0;
configuration.incrementsProgression();
for (TotalSampleImportRow row : importer) {
@@ -311,7 +310,7 @@
}
}
- private CsvFileImportResult importSubSampleFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importSubSampleFile(
CatchesImportConfiguration configuration,
InputFile inputFile,
Map<String, Operation> operationMap,
@@ -329,8 +328,8 @@
EchoBaseFunctions.SEX_CATEGORY_NAME);
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
SubSampleImportModel csvModel = new SubSampleImportModel(
getCsvSeparator(),
@@ -360,10 +359,10 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<SubSampleImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (SubSampleImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile);
@@ -440,7 +439,7 @@
}
}
- private CsvFileImportResult importBiometrySampleFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importBiometrySampleFile(
CatchesImportConfiguration configuration,
InputFile inputFile,
Map<String, Operation> operationMap,
@@ -456,8 +455,8 @@
SampleDataType.class,
EchoBaseFunctions.SAMPLE_DATA_TYPE_NAME);
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
BiometrySampleImportModel csvModel =
new BiometrySampleImportModel(getCsvSeparator(),
@@ -477,11 +476,11 @@
Reader reader = getInputFileReader(inputFile);
try {
- Import<BiometrySampleImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<BiometrySampleImportRow> importer = Import.newImport(
+ csvModel, reader);
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (BiometrySampleImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile);
@@ -540,7 +539,7 @@
private Sample addSample(SampleDAO dao,
Operation operation,
Sample sample,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
Preconditions.checkNotNull(operation);
Preconditions.checkNotNull(sample);
Sample result = create(dao, sample);
@@ -554,7 +553,7 @@
String label,
float value,
Sample sample,
- CsvFileImportResult importResult) {
+ CsvFileImportResult<EchoBaseEntityEnum> importResult) {
SampleData sampleData = create(
dao,
SampleData.PROPERTY_SAMPLE_DATA_TYPE, sampleDataType,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -28,8 +28,6 @@
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Transect;
@@ -52,6 +50,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportModel;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -93,7 +92,7 @@
case ALL: {
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
importResult = importVoyageFile(configuration);
configuration.addResult(importResult);
@@ -107,7 +106,7 @@
break;
case TRANSECT: {
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
importResult = importTransectFile(vesselMap, configuration);
configuration.addResult(importResult);
@@ -140,7 +139,7 @@
}
}
- protected CsvFileImportResult importVoyageFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importVoyageFile(
CommonImportConfiguration configuration) throws ImportException {
InputFile inputFile = configuration.getVoyageFile();
@@ -156,8 +155,8 @@
getEntityById(AreaOfOperation.class,
configuration.getAreaOfOperationId());
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
String voyageDescription = configuration.getVoyageDescription();
String datum = configuration.getDatum();
@@ -170,7 +169,7 @@
Locale locale = getLocale();
Reader reader = getInputFileReader(inputFile);
try {
- Import<Voyage> importer = EchoBaseImport.newImport(csvModel, reader);
+ Import<Voyage> importer = Import.newImport(csvModel, reader);
configuration.incrementsProgression();
for (Voyage voyage : importer) {
@@ -211,7 +210,7 @@
}
}
- protected CsvFileImportResult importTransitFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importTransitFile(
CommonImportConfiguration configuration) throws ImportException {
InputFile inputFile = configuration.getTransitFile();
@@ -220,8 +219,8 @@
log.info("Starts import of transits from file " +
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
// get voyage
Voyage voyage = getEntityById(Voyage.class,
@@ -241,7 +240,7 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<TransitImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
for (TransitImportRow row : importer) {
@@ -265,7 +264,7 @@
}
}
- private CsvFileImportResult importTransectFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importTransectFile(
Map<String, Vessel> vesselMap,
CommonImportConfiguration configuration) throws ImportException {
@@ -276,8 +275,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
// get voyage
Voyage voyage = getEntityById(Voyage.class,
@@ -303,7 +302,7 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<TransectImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
for (TransectImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -26,8 +26,6 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
@@ -53,6 +51,7 @@
import fr.ifremer.echobase.services.importdata.csv.OperationMetadataValueImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -97,7 +96,7 @@
Map<String, Gear> gearMap = getEntitiesMap(
Gear.class, EchoBaseFunctions.GEAR_CASINO_GEAR_NAME);
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
importResult = importOperationFile(
configuration,
@@ -127,7 +126,7 @@
configuration.addResult(importResult);
}
- protected CsvFileImportResult importOperationFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importOperationFile(
OperationImportConfiguration configuration,
Voyage voyage,
Map<String, Vessel> vesselMap,
@@ -141,8 +140,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, DepthStratum> depthStratumMap = getEntitiesMap(
DepthStratum.class, EchoBaseFunctions.DEPTH_STRATUM_ID);
@@ -158,10 +157,10 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<OperationImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (OperationImportRow row : importer) {
configuration.incrementsProgression();
@@ -192,7 +191,7 @@
}
}
- protected CsvFileImportResult importOperationMetadataFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importOperationMetadataFile(
OperationImportConfiguration configuration,
Map<String, Vessel> vesselMap,
Map<String, Operation> operationMap) throws ImportException {
@@ -204,8 +203,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, OperationMetadata> operationMetadatasByName =
getEntitiesMap(OperationMetadata.class,
@@ -224,9 +223,9 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<OperationMetadataValueImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
- int rowNumber=0;
+ int rowNumber = 0;
configuration.incrementsProgression();
for (OperationMetadataValueImportRow row : importer) {
@@ -250,7 +249,7 @@
}
}
- protected CsvFileImportResult importGearMetadataFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importGearMetadataFile(
OperationImportConfiguration configuration,
Map<String, Vessel> vesselMap,
Map<String, Gear> gearMap,
@@ -263,8 +262,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, GearMetadata> gearMetadatasByType =
getEntitiesMap(GearMetadata.class,
@@ -283,9 +282,9 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<GearMetadataValueImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
- int rowNumber=0;
+ int rowNumber = 0;
configuration.incrementsProgression();
for (GearMetadataValueImportRow row : importer) {
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -26,8 +26,6 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-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;
@@ -58,8 +56,10 @@
import fr.ifremer.echobase.services.importdata.csv.EsduResultBySpeciesAndSizeCategoryImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
+import org.nuiton.util.csv.ext.CsvReaders;
import java.io.Reader;
import java.util.Arrays;
@@ -130,7 +130,7 @@
voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME);
InputFile inputFile;
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
inputFile = configuration.getEsduByEchotypeFile();
if (inputFile.hasFile()) {
@@ -195,7 +195,7 @@
}
}
- private CsvFileImportResult importByEchotypeFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importByEchotypeFile(
ResultsImportConfiguration configuration,
InputFile inputFile,
Voyage voyage,
@@ -211,11 +211,11 @@
}
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
List<DataMetadata> metas = getMetas(
EsduResultByEchotypeImportModel.COLUMN_NAMES_TO_EXCLUDE,
@@ -239,7 +239,7 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<EsduResultByEchotypeImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
int rowNumber = 0;
@@ -266,7 +266,7 @@
}
}
- private CsvFileImportResult importByEchotypeAndSpeciesCategoryFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importByEchotypeAndSpeciesCategoryFile(
ResultsImportConfiguration configuration,
InputFile inputFile,
Voyage voyage,
@@ -285,11 +285,11 @@
}
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
List<DataMetadata> metas =
getMetas(
@@ -319,8 +319,8 @@
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<EsduResultByEchotypeAndSpeciesCategoryImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<EsduResultByEchotypeAndSpeciesCategoryImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
int rowNumber = 0;
@@ -350,7 +350,7 @@
}
}
- private CsvFileImportResult importBySpeciesAndSizeCategoryFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importBySpeciesAndSizeCategoryFile(
ResultsImportConfiguration configuration, InputFile inputFile,
Voyage voyage,
Map<String, Voyage> voyageMap,
@@ -366,12 +366,12 @@
}
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
List<DataMetadata> metas =
getMetas(
@@ -402,8 +402,8 @@
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<EsduResultBySpeciesAndSizeCategoryImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<EsduResultBySpeciesAndSizeCategoryImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
int rowNumber = 0;
@@ -454,7 +454,7 @@
}
}
- private CsvFileImportResult importBySpeciesAndAgeCategoryFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importBySpeciesAndAgeCategoryFile(
ResultsImportConfiguration configuration,
InputFile inputFile,
Voyage voyage,
@@ -471,12 +471,12 @@
}
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
List<DataMetadata> metas =
getMetas(
@@ -505,8 +505,8 @@
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<EsduResultBySpeciesAndAgeCategoryImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<EsduResultBySpeciesAndAgeCategoryImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
int rowNumber = 0;
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,8 +27,7 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Category;
@@ -53,7 +52,9 @@
import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
+import org.nuiton.util.csv.ext.CsvReaders;
import java.io.Reader;
import java.util.Arrays;
@@ -88,12 +89,12 @@
Voyage voyage = getEntityById(Voyage.class,
configuration.getVoyageId());
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
importResult = importMapFile(configuration, voyage);
configuration.addResult(importResult);
}
- protected CsvFileImportResult importMapFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importMapFile(
ResultsImportConfiguration configuration,
Voyage voyage) throws ImportException {
@@ -156,8 +157,8 @@
DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME);
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
List<DataMetadata> metas = getMetas(
MapCellImportModel.COLUMN_NAMES_TO_EXCLUDE,
@@ -174,8 +175,8 @@
metas,
dataQualityMap);
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
CellDAO dao = getDAO(Cell.class, CellDAO.class);
DataDAO dataDao = getDAO(Data.class, DataDAO.class);
@@ -186,8 +187,8 @@
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<MapCellImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<MapCellImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,8 +27,6 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-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;
@@ -57,7 +55,10 @@
import fr.ifremer.echobase.services.importdata.csv.RegionCellResultImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
+import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
+import org.nuiton.util.csv.ext.CsvReaders;
import java.io.Reader;
import java.util.Arrays;
@@ -95,7 +96,7 @@
Map<String, DataQuality> dataQualityMap = getEntitiesMap(
DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME);
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
importResult = importRegionFile(configuration, voyage, dataQualityMap);
configuration.addResult(importResult);
@@ -107,7 +108,7 @@
configuration.addResult(importResult);
}
- protected CsvFileImportResult importRegionFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importRegionFile(
ResultsImportConfiguration configuration,
Voyage voyage,
Map<String, DataQuality> dataQualityMap) throws ImportException {
@@ -152,16 +153,16 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
CellDAO dao = getDAO(Cell.class, CellDAO.class);
DataDAO dataDao = getDAO(Data.class, DataDAO.class);
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<RegionCellImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<RegionCellImportRow> importer =
+ Import.newImport(csvModel, reader);
Cell cell = null;
@@ -210,7 +211,7 @@
}
}
- protected CsvFileImportResult importRegionAssociationFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importRegionAssociationFile(
ResultsImportConfiguration configuration,
Voyage voyage) throws ImportException {
@@ -235,16 +236,16 @@
regionsMap,
getDAO(Cell.class, CellDAO.class));
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<RegionCellAssociationImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<RegionCellAssociationImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (RegionCellAssociationImportRow row : importer) {
rowNumber++;
@@ -265,7 +266,7 @@
}
}
- protected CsvFileImportResult importRegionResultFile(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importRegionResultFile(
ResultsImportConfiguration configuration,
Voyage voyage,
Map<String, DataQuality> dataQualityMap) throws ImportException {
@@ -300,8 +301,8 @@
DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
// first get header of file to detect which results to import
- String[] header = EchoBaseImport.getHeader(inputFile.getFile(),
- getCsvSeparator());
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
List<DataMetadata> metas = getMetas(
@@ -321,8 +322,8 @@
String resultLabel = configuration.getResultLabel();
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
SpeciesCategoryDAO speciesCategoryDAO =
getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
@@ -331,11 +332,11 @@
Reader reader = getInputFileReader(inputFile);
try {
- EchoBaseImport<RegionCellResultImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<RegionCellResultImportRow> importer =
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (RegionCellResultImportRow row : importer) {
rowNumber++;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,8 +29,6 @@
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
-import fr.ifremer.echobase.csv.EchoBaseImport;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Echotype;
@@ -54,6 +52,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -102,7 +101,7 @@
InputFile inputFile;
- CsvFileImportResult importResult;
+ CsvFileImportResult<EchoBaseEntityEnum> importResult;
inputFile = configuration.getLengthAgeKeyFile();
if (inputFile.hasFile()) {
@@ -143,7 +142,7 @@
}
}
- protected CsvFileImportResult importLenghtWeightKey(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importLenghtWeightKey(
ResultsImportConfiguration configuration,
InputFile inputFile,
Map<String, Voyage> voyageMap,
@@ -155,8 +154,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, SizeCategory> sizeCategoryMap = getEntitiesMap(
SizeCategory.class,
@@ -179,7 +178,7 @@
try {
Import<LengthWeightKeyImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
int rowNumber = 0;
@@ -221,7 +220,7 @@
}
}
- protected CsvFileImportResult importLenthAgeKey(
+ protected CsvFileImportResult<EchoBaseEntityEnum> importLenthAgeKey(
ResultsImportConfiguration configuration,
InputFile inputFile,
Map<String, Voyage> voyageMap,
@@ -233,8 +232,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
LengthAgeKeyImportModel csvModel = new LengthAgeKeyImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
@@ -247,7 +246,7 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<LengthAgeKeyImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
@@ -275,7 +274,7 @@
}
}
- private CsvFileImportResult importEchotypeFile(
+ private CsvFileImportResult<EchoBaseEntityEnum> importEchotypeFile(
ResultsImportConfiguration configuration,
InputFile inputFile,
Map<String, Voyage> voyageMap,
@@ -286,8 +285,8 @@
inputFile.getFileName());
}
- CsvFileImportResult importResult = new CsvFileImportResult(
- inputFile.getFileName());
+ CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult(
+ inputFile.getFileName(), EchoBaseEntityEnum.values());
Map<String, DepthStratum> depthStratumMap = getEntitiesMap(
DepthStratum.class,
@@ -304,7 +303,7 @@
Reader reader = getInputFileReader(inputFile);
try {
Import<EchotypeImportRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import.newImport(csvModel, reader);
configuration.incrementsProgression();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataAcquisition;
@@ -60,15 +60,15 @@
newIgnoredColumn("MOVIES_EILayer\\sndset\\startSample");//J
newIgnoredColumn("MOVIES_EILayer\\sndset\\mainBeamAlongSteeringAngle");//K
newIgnoredColumn("MOVIES_EILayer\\sndset\\mainBeamAthwartSteeringAngle");//L
- newMandatoryColumn("MOVIES_EILayer\\sndset\\absorptionCoef", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_ABSORPTION, EchobaseCsvUtil.FLOAT);//M
- newMandatoryColumn("MOVIES_EILayer\\sndset\\transmissionPower", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_POWER, EchobaseCsvUtil.INTEGER);//N
- newMandatoryColumn("MOVIES_EILayer\\sndset\\beamAlongAngleSensitivity", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_BEAM_ANGLE_ALONGSHIP, EchobaseCsvUtil.FLOAT);//O
- newMandatoryColumn("MOVIES_EILayer\\sndset\\beamAthwartAngleSensitivity", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_BEAM_ANGLE_ATHWARTSHIP, EchobaseCsvUtil.FLOAT);//P
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\absorptionCoef", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_ABSORPTION, EchoBaseCsvUtil.FLOAT);//M
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\transmissionPower", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_POWER, EchoBaseCsvUtil.INTEGER);//N
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\beamAlongAngleSensitivity", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_BEAM_ANGLE_ALONGSHIP, EchoBaseCsvUtil.FLOAT);//O
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\beamAthwartAngleSensitivity", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_BEAM_ANGLE_ATHWARTSHIP, EchoBaseCsvUtil.FLOAT);//P
newIgnoredColumn("MOVIES_EILayer\\sndset\\beam3dBWidthAlong");//Q
newIgnoredColumn("MOVIES_EILayer\\sndset\\beam3dBWidthAthwart");//R
- newMandatoryColumn("MOVIES_EILayer\\sndset\\beamEquTwoWayAngle", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_PSI, EchobaseCsvUtil.FLOAT);//S
- newMandatoryColumn("MOVIES_EILayer\\sndset\\beamGain", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_GAIN, EchobaseCsvUtil.FLOAT);//T
- newMandatoryColumn("MOVIES_EILayer\\sndset\\beamSACorrection", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_SACORRECTION, EchobaseCsvUtil.FLOAT);//U
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\beamEquTwoWayAngle", AcousticImportRow.PROPERTY_TRANSDUCER_ACQUISITION_PSI, EchoBaseCsvUtil.FLOAT);//S
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\beamGain", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_GAIN, EchoBaseCsvUtil.FLOAT);//T
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\beamSACorrection", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_SACORRECTION, EchoBaseCsvUtil.FLOAT);//U
newIgnoredColumn("MOVIES_EILayer\\sndset\\bottomDetectionMinDepth");//V
newIgnoredColumn("MOVIES_EILayer\\sndset\\bottomDetectionMaxDepth");//W
newIgnoredColumn("MOVIES_EILayer\\sndset\\bottomDetectionMinLevel");//X
@@ -79,7 +79,7 @@
newIgnoredColumn("MOVIES_EILayer\\sndset\\bandWidth");//AC
newIgnoredColumn("MOVIES_EILayer\\sndset\\tvgminrange");//AD
newIgnoredColumn("MOVIES_EILayer\\sndset\\tvgmaxrange");//AE
- newMandatoryColumn("MOVIES_EILayer\\sndset\\pulseduration", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_PULSE_LENGTH, EchobaseCsvUtil.FLOAT);//AF
+ newMandatoryColumn("MOVIES_EILayer\\sndset\\pulseduration", AcousticImportRow.PROPERTY_TRANSCEIVER_ACQUISITION_PULSE_LENGTH, EchoBaseCsvUtil.FLOAT);//AF
newIgnoredColumn("MOVIES_EILayer\\shipnav");//AG
newIgnoredColumn("MOVIES_EILayer\\shipnav\\lat");//AH
newIgnoredColumn("MOVIES_EILayer\\shipnav\\long");//AI
@@ -99,28 +99,28 @@
// Cell elementary Datas
newIgnoredColumn("MOVIES_EILayer\\cellset");//AW
- newMandatoryColumn("MOVIES_EILayer\\cellset\\cellnum", AcousticImportRow.PROPERTY_CELL_NUM, EchobaseCsvUtil.PRIMITIVE_INTEGER);//AX
- newMandatoryColumn("MOVIES_EILayer\\cellset\\celltype", AcousticImportRow.PROPERTY_CELL_TYPE, EchobaseCsvUtil.PRIMITIVE_INTEGER);//AY
- newMandatoryColumn("MOVIES_EILayer\\cellset\\depthstart", AcousticImportRow.PROPERTY_CELL_DEPTH_START, EchobaseCsvUtil.PRIMITIVE_FLOAT);//AZ
- newMandatoryColumn("MOVIES_EILayer\\cellset\\depthend", AcousticImportRow.PROPERTY_CELL_DEPTH_END, EchobaseCsvUtil.PRIMITIVE_FLOAT);//BA
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\cellnum", AcousticImportRow.PROPERTY_CELL_NUM, EchoBaseCsvUtil.PRIMITIVE_INTEGER);//AX
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\celltype", AcousticImportRow.PROPERTY_CELL_TYPE, EchoBaseCsvUtil.PRIMITIVE_INTEGER);//AY
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\depthstart", AcousticImportRow.PROPERTY_CELL_DEPTH_START, EchoBaseCsvUtil.PRIMITIVE_FLOAT);//AZ
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\depthend", AcousticImportRow.PROPERTY_CELL_DEPTH_END, EchoBaseCsvUtil.PRIMITIVE_FLOAT);//BA
newIgnoredColumn("MOVIES_EILayer\\cellset\\indexstart");//BB
newIgnoredColumn("MOVIES_EILayer\\cellset\\indexend");//BC
- newMandatoryColumn("MOVIES_EILayer\\cellset\\datestart", AcousticImportRow.PROPERTY_CELL_DATE_START, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);//BD
- newMandatoryColumn("MOVIES_EILayer\\cellset\\dateend", AcousticImportRow.PROPERTY_CELL_DATE_END, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);//BE
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\datestart", AcousticImportRow.PROPERTY_CELL_DATE_START, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);//BD
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\dateend", AcousticImportRow.PROPERTY_CELL_DATE_END, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);//BE
- newMandatoryColumn("MOVIES_EILayer\\cellset\\lat", AcousticImportRow.PROPERTY_CELL_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);//BF
- newMandatoryColumn("MOVIES_EILayer\\cellset\\long", AcousticImportRow.PROPERTY_CELL_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);//BG
- newMandatoryColumn("MOVIES_EILayer\\cellset\\volume", AcousticImportRow.PROPERTY_CELL_VOLUME, EchobaseCsvUtil.NA_TO_INTEGER_PARSER);//BH
- newMandatoryColumn("MOVIES_EILayer\\cellset\\area", AcousticImportRow.PROPERTY_CELL_SURFACE, EchobaseCsvUtil.PRIMITIVE_INTEGER);//BI
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\lat", AcousticImportRow.PROPERTY_CELL_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);//BF
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\long", AcousticImportRow.PROPERTY_CELL_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);//BG
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\volume", AcousticImportRow.PROPERTY_CELL_VOLUME, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER);//BH
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\area", AcousticImportRow.PROPERTY_CELL_SURFACE, EchoBaseCsvUtil.PRIMITIVE_INTEGER);//BI
newIgnoredColumn("MOVIES_EILayer\\cellset\\diststart");//BJ
newIgnoredColumn("MOVIES_EILayer\\cellset\\distend");//BK
- newMandatoryColumn("MOVIES_EILayer\\cellset\\thresholdup", AcousticImportRow.PROPERTY_E_ITHRESHOLD_HIGH, EchobaseCsvUtil.PRIMITIVE_INTEGER);//BL
- newMandatoryColumn("MOVIES_EILayer\\cellset\\thresholdlow", AcousticImportRow.PROPERTY_E_ITHRESHOLD_LOW, EchobaseCsvUtil.PRIMITIVE_INTEGER);//BM
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\thresholdup", AcousticImportRow.PROPERTY_E_ITHRESHOLD_HIGH, EchoBaseCsvUtil.PRIMITIVE_INTEGER);//BL
+ newMandatoryColumn("MOVIES_EILayer\\cellset\\thresholdlow", AcousticImportRow.PROPERTY_E_ITHRESHOLD_LOW, EchoBaseCsvUtil.PRIMITIVE_INTEGER);//BM
newIgnoredColumn("MOVIES_EILayer\\eilayer");//BN
- newMandatoryColumn("MOVIES_EILayer\\eilayer\\sa", AcousticImportRow.PROPERTY_CELL_NASC, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);//BO
+ newMandatoryColumn("MOVIES_EILayer\\eilayer\\sa", AcousticImportRow.PROPERTY_CELL_NASC, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);//BO
newIgnoredColumn("MOVIES_EILayer\\eilayer\\sv");//BP
- newMandatoryColumn("MOVIES_EILayer\\eilayer\\ni", AcousticImportRow.PROPERTY_CELL_NUMBER_OF_SAMPLES_ECHO_INTEGRATED, EchobaseCsvUtil.NA_TO_INTEGER_PARSER);//BQ
- newMandatoryColumn("MOVIES_EILayer\\eilayer\\nt", AcousticImportRow.PROPERTY_CELL_NUMBER_OF_SAMPLES_RECORDED, EchobaseCsvUtil.NA_TO_INTEGER_PARSER);//BR
+ newMandatoryColumn("MOVIES_EILayer\\eilayer\\ni", AcousticImportRow.PROPERTY_CELL_NUMBER_OF_SAMPLES_ECHO_INTEGRATED, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER);//BQ
+ newMandatoryColumn("MOVIES_EILayer\\eilayer\\nt", AcousticImportRow.PROPERTY_CELL_NUMBER_OF_SAMPLES_RECORDED, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER);//BR
newIgnoredColumn("MOVIES_EILayer\\boterr");//BR
newIgnoredColumn("MOVIES_EILayer\\boterr\\sa");//BT
newIgnoredColumn("MOVIES_EILayer\\boterr\\ni");//BU
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
@@ -46,14 +46,14 @@
Map<String, SampleDataType> sampleDataTypeMap) {
super(separator);
- newForeignKeyColumn(OPERATION_ID, BiometrySampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, BiometrySampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, BiometrySampleImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
- newMandatoryColumn(BiometrySampleImportRow.PROPERTY_NUM_FISH, EchobaseCsvUtil.PRIMITIVE_INTEGER);
+ newMandatoryColumn(BiometrySampleImportRow.PROPERTY_NUM_FISH, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
newForeignKeyColumn("name", SampleData.PROPERTY_SAMPLE_DATA_TYPE, SampleDataType.class, SampleDataType.PROPERTY_NAME, sampleDataTypeMap);
newMandatoryColumn(SampleData.PROPERTY_DATA_LABEL);
- newMandatoryColumn(SampleData.PROPERTY_DATA_VALUE, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
+ newMandatoryColumn(SampleData.PROPERTY_DATA_VALUE, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.DepthStratum;
@@ -48,7 +49,7 @@
newMandatoryColumn("echotypeName", Echotype.PROPERTY_NAME);
newMandatoryColumn("meaning", Echotype.PROPERTY_MEANING);
newForeignKeyColumn(EchotypeImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newForeignKeyColumn(DEPTH_STRATUM_ID, Echotype.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Echotype.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, Echotype.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.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.Result;
@@ -46,7 +46,7 @@
public class EsduResultByEchotypeAndSpeciesCategoryImportModel extends AbstractImportModel<EsduResultByEchotypeAndSpeciesCategoryImportRow> {
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
- CELL_NAME,
+ EchoBaseCsvUtil.CELL_NAME,
Species.PROPERTY_BARACOUDA_CODE,
EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY,
EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE,
@@ -70,15 +70,15 @@
newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
- newMandatoryColumn(CELL_NAME, EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
+ newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, EchoBaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap);
for (DataMetadata metadata : dataMetadatas) {
String name = metadata.getName();
newMandatoryColumn(
name,
- EchobaseCsvUtil.newResultValueParser(metadata, false),
- EchobaseCsvUtil.<EsduResultByEchotypeAndSpeciesCategoryImportRow>newResultValueSetter());
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<EsduResultByEchotypeAndSpeciesCategoryImportRow>newResultValueSetter());
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+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;
@@ -42,7 +42,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class EsduResultByEchotypeAndSpeciesCategoryImportRow implements EchobaseCsvUtil.ResultAble {
+public class EsduResultByEchotypeAndSpeciesCategoryImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_VOYAGE = "voyage";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.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.Result;
@@ -44,7 +44,7 @@
public class EsduResultByEchotypeImportModel extends AbstractImportModel<EsduResultByEchotypeImportRow> {
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
- CELL_NAME,
+ EchoBaseCsvUtil.CELL_NAME,
EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE,
EsduResultByEchotypeImportRow.PROPERTY_DATA_QUALITY,
EsduResultByEchotypeImportRow.PROPERTY_VOYAGE
@@ -62,15 +62,15 @@
newForeignKeyColumn(RegionCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
newForeignKeyColumn(EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
- newMandatoryColumn(CELL_NAME, EsduResultByEchotypeImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
+ newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, EsduResultByEchotypeImportRow.PROPERTY_CELL, EchoBaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newForeignKeyColumn(EsduResultByEchotypeImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap);
for (DataMetadata metadata : dataMetadatas) {
String name = metadata.getName();
newMandatoryColumn(
name,
- EchobaseCsvUtil.newResultValueParser(metadata, false),
- EchobaseCsvUtil.<EsduResultByEchotypeImportRow>newResultValueSetter());
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<EsduResultByEchotypeImportRow>newResultValueSetter());
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+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;
@@ -39,7 +39,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class EsduResultByEchotypeImportRow implements EchobaseCsvUtil.ResultAble {
+public class EsduResultByEchotypeImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_VOYAGE = "voyage";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -44,7 +44,7 @@
public class EsduResultBySpeciesAndAgeCategoryImportModel extends AbstractImportModel<EsduResultBySpeciesAndAgeCategoryImportRow> {
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
- CELL_NAME,
+ EchoBaseCsvUtil.CELL_NAME,
Species.PROPERTY_BARACOUDA_CODE,
EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY,
EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING,
@@ -63,7 +63,7 @@
super(separator);
newForeignKeyColumn(RegionCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newMandatoryColumn(CELL_NAME, EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
+ newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, EchoBaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY);
newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
@@ -73,8 +73,8 @@
String name = metadata.getName();
newMandatoryColumn(
name,
- EchobaseCsvUtil.newResultValueParser(metadata, false),
- EchobaseCsvUtil.<EsduResultBySpeciesAndAgeCategoryImportRow>newResultValueSetter());
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<EsduResultBySpeciesAndAgeCategoryImportRow>newResultValueSetter());
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -40,7 +40,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class EsduResultBySpeciesAndAgeCategoryImportRow implements EchobaseCsvUtil.ResultAble {
+public class EsduResultBySpeciesAndAgeCategoryImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_VOYAGE = "voyage";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -44,7 +44,7 @@
public class EsduResultBySpeciesAndSizeCategoryImportModel extends AbstractImportModel<EsduResultBySpeciesAndSizeCategoryImportRow> {
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
- CELL_NAME,
+ EchoBaseCsvUtil.CELL_NAME,
Species.PROPERTY_BARACOUDA_CODE,
EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY,
EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING,
@@ -63,7 +63,7 @@
super(separator);
newForeignKeyColumn(RegionCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newMandatoryColumn(CELL_NAME, EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
+ newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, EchoBaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY);
newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
@@ -73,8 +73,8 @@
String name = metadata.getName();
newMandatoryColumn(
name,
- EchobaseCsvUtil.newResultValueParser(metadata, false),
- EchobaseCsvUtil.<EsduResultBySpeciesAndSizeCategoryImportRow>newResultValueSetter());
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<EsduResultBySpeciesAndSizeCategoryImportRow>newResultValueSetter());
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -40,7 +40,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class EsduResultBySpeciesAndSizeCategoryImportRow implements EchobaseCsvUtil.ResultAble {
+public class EsduResultBySpeciesAndSizeCategoryImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_VOYAGE = "voyage";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.references.Gear;
@@ -48,11 +49,11 @@
Map<String, Operation> operationMap) {
super(separator);
- newForeignKeyColumn(VESSEL_NAME, GearMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
- newForeignKeyColumn(OPERATION_ID, GearMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, GearMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, GearMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
newForeignKeyColumn("metadataType", GearMetadataValue.PROPERTY_GEAR_METADATA, GearMetadata.class, GearMetadata.PROPERTY_NAME, gearMetadataMap);
- newForeignKeyColumn(GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap);
newMandatoryColumn("gearMetadataValue", GearMetadataValue.PROPERTY_DATA_VALUE);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Species;
@@ -48,9 +48,9 @@
newForeignKeyColumn(LengthAgeKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newMandatoryColumn(LengthAgeKey.PROPERTY_AGE, EchobaseCsvUtil.PRIMITIVE_INTEGER);
- newMandatoryColumn(LengthAgeKey.PROPERTY_PERCENT_AT_AGE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(LengthAgeKey.PROPERTY_LENGTH, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(LengthAgeKey.PROPERTY_AGE, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
+ newMandatoryColumn(LengthAgeKey.PROPERTY_PERCENT_AT_AGE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(LengthAgeKey.PROPERTY_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
newMandatoryColumn(LengthAgeKey.PROPERTY_METADATA);
newForeignKeyColumn(LengthAgeKey.PROPERTY_STRATA, Strata.class, Strata.PROPERTY_NAME, strataMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, LengthAgeKey.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.SizeCategory;
@@ -47,8 +47,8 @@
Map<String, SizeCategory> sizeCategoryMap,
Map<String, Species> speciesMap) {
super(separator);
- newMandatoryColumn("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn("bParameter", LengthWeightKey.PROPERTY_BPARAMETER, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn("bParameter", LengthWeightKey.PROPERTY_BPARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
newForeignKeyColumn(LengthWeightKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
newForeignKeyColumn(LengthWeightKeyImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.CellType;
@@ -79,18 +79,18 @@
newForeignKeyColumn(MapCellImportRow.PROPERTY_AGE_CATEGORY, AgeCategory.class, AgeCategory.PROPERTY_NAME, ageCategoryMap);
newForeignKeyColumn(MapCellImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap);
- 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);
+ 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());
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<MapCellImportRow>newResultValueSetter());
}
}
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+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;
@@ -43,7 +43,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class MapCellImportRow implements EchobaseCsvUtil.ResultAble {
+public class MapCellImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_NAME = "name";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.Gear;
@@ -46,19 +46,19 @@
Map<String, DepthStratum> depthStratumMap) {
super(separator);
- newForeignKeyColumn(VESSEL_NAME, OperationImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, OperationImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
- newForeignKeyColumn(GEAR_CODE, Operation.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap);
- newForeignKeyColumn(DEPTH_STRATUM_ID, Operation.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap);
- newMandatoryColumn(OPERATION_ID, Operation.PROPERTY_ID);
- newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_TIME, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_TIME, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newForeignKeyColumn(EchoBaseCsvUtil.GEAR_CODE, Operation.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, gearMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Operation.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, depthStratumMap);
+ newMandatoryColumn(EchoBaseCsvUtil.OPERATION_ID, Operation.PROPERTY_ID);
+ newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Operation.PROPERTY_MID_HAUL_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_TIME, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_TIME, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_START_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Operation.PROPERTY_GEAR_SHOOTING_END_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.OperationMetadataValue;
import fr.ifremer.echobase.entities.references.OperationMetadata;
@@ -45,8 +46,8 @@
Map<String, Operation> operationMap) {
super(separator);
- newForeignKeyColumn(VESSEL_NAME, OperationMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
- newForeignKeyColumn(OPERATION_ID, OperationMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, OperationMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, OperationMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
newForeignKeyColumn("metadataType", OperationMetadataValue.PROPERTY_OPERATION_METADATA, OperationMetadata.class, OperationMetadata.PROPERTY_NAME, operationMetadataMap);
newMandatoryColumn("operationMetadataValue", OperationMetadataValue.PROPERTY_DATA_VALUE);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.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;
@@ -47,7 +47,7 @@
super(separator);
newForeignKeyColumn(RegionCellAssociationImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
newForeignKeyColumn("regionName", RegionCellAssociationImportRow.PROPERTY_REGION_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap);
- newMandatoryColumn("esduName", RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+ newMandatoryColumn("esduName", RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, EchoBaseCsvUtil.newCellValueParser(voyage, cellDAO));
}
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+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.DataQuality;
@@ -51,7 +51,7 @@
newMandatoryColumn(RegionCellImportRow.PROPERTY_NAME);
newMandatoryColumn("regionEnvCoordinates", RegionCellImportRow.PROPERTY_DATA_COORDINATE);
- newMandatoryColumn("surface", RegionCellImportRow.PROPERTY_DATA_SURFACE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn("surface", RegionCellImportRow.PROPERTY_DATA_SURFACE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
}
@Override
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.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;
@@ -47,7 +47,7 @@
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
- CELL_NAME,
+ EchoBaseCsvUtil.CELL_NAME,
Species.PROPERTY_BARACOUDA_CODE,
RegionCellResultImportRow.PROPERTY_VOYAGE,
RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY,
@@ -67,7 +67,7 @@
super(separator);
newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
- newForeignKeyColumn(CELL_NAME, RegionCellResultImportRow.PROPERTY_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.CELL_NAME, RegionCellResultImportRow.PROPERTY_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap);
newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, RegionCellResultImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
@@ -76,8 +76,8 @@
for (DataMetadata metadata : dataMetadatas) {
newMandatoryColumn(
metadata.getName(),
- EchobaseCsvUtil.newResultValueParser(metadata, true),
- EchobaseCsvUtil.<RegionCellResultImportRow>newResultValueSetter());
+ EchoBaseCsvUtil.newResultValueParser(metadata, true),
+ EchoBaseCsvUtil.<RegionCellResultImportRow>newResultValueSetter());
}
}
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.importdata.csv;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+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;
@@ -41,7 +41,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
-public class RegionCellResultImportRow implements EchobaseCsvUtil.ResultAble {
+public class RegionCellResultImportRow implements EchoBaseCsvUtil.ResultAble {
public static final String PROPERTY_NAME = "name";
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
@@ -51,19 +51,19 @@
newIgnoredColumn("subHaul");
- newForeignKeyColumn(OPERATION_ID, SubSampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, SubSampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, SubSampleImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(SubSampleImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
newForeignKeyColumn(SubSampleImportRow.PROPERTY_SEX_CATEGORY, SexCategory.class, SexCategory.PROPERTY_NAME, sexCategoryMap);
- newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, EchobaseCsvUtil.PRIMITIVE_INTEGER);
+ newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
- newMandatoryColumn(SubSampleImportRow.PROPERTY_NUMBER_AT_LENGTH, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(SubSampleImportRow.PROPERTY_WEIGHT_AT_LENGTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
+ newMandatoryColumn(SubSampleImportRow.PROPERTY_NUMBER_AT_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(SubSampleImportRow.PROPERTY_WEIGHT_AT_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
newMandatoryColumn(SubSampleImportRow.PROPERTY_LENGTH_CLASS);
newMandatoryColumn(SubSampleImportRow.PROPERTY_UNITS);
- newMandatoryColumn(SubSampleImportRow.PROPERTY_ROUND, EchobaseCsvUtil.NA_TO_INTEGER_PARSER);
+ newMandatoryColumn(SubSampleImportRow.PROPERTY_ROUND, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER);
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.references.SizeCategory;
@@ -46,17 +46,17 @@
Map<String, SizeCategory> sizeCategoryMap) {
super(separator);
- newForeignKeyColumn(OPERATION_ID, TotalSampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
+ newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, TotalSampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, operationMap);
newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, TotalSampleImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(TotalSampleImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
- newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, EchobaseCsvUtil.NA_TO_INTEGER_PARSER);
+ newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER);
- newMandatoryColumn(TotalSampleImportRow.PROPERTY_MEAN_LENGTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- newMandatoryColumn(TotalSampleImportRow.PROPERTY_MEAN_WEIGHT, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- newMandatoryColumn(TotalSampleImportRow.PROPERTY_NO_PER_KG, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- newMandatoryColumn(TotalSampleImportRow.PROPERTY_SORTED_WEIGHT, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(TotalSampleImportRow.PROPERTY_MEAN_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ newMandatoryColumn(TotalSampleImportRow.PROPERTY_MEAN_WEIGHT, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ newMandatoryColumn(TotalSampleImportRow.PROPERTY_NO_PER_KG, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ newMandatoryColumn(TotalSampleImportRow.PROPERTY_SORTED_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
}
@Override
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Vessel;
@@ -48,7 +48,7 @@
Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
newForeignKeyColumn(
- VESSEL_NAME, Transect.PROPERTY_VESSEL,
+ EchoBaseCsvUtil.VESSEL_NAME, Transect.PROPERTY_VESSEL,
Vessel.class, Vessel.PROPERTY_NAME, vesselMap);
newMandatoryColumn(Transect.PROPERTY_TITLE);
@@ -56,16 +56,16 @@
newMandatoryColumn(Transect.PROPERTY_STRATUM);
newMandatoryColumn(Transect.PROPERTY_COMMENT);
- newMandatoryColumn(Transect.PROPERTY_DATE_CREATED, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Transect.PROPERTY_TIME_COVERAGE_START, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Transect.PROPERTY_TIME_COVERAGE_END, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Transect.PROPERTY_DATE_CREATED, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Transect.PROPERTY_TIME_COVERAGE_START, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Transect.PROPERTY_TIME_COVERAGE_END, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LON_MIN, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LAT_MIN, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_VERTICAL_MIN, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LON_MAX, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LAT_MAX, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_VERTICAL_MAX, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LON_MIN, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LAT_MIN, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_VERTICAL_MIN, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LON_MAX, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_LAT_MAX, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(Transect.PROPERTY_GEOSPATIAL_VERTICAL_MAX, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
newMandatoryColumn(Transect.PROPERTY_LINESTRING);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -43,8 +43,8 @@
super(separator);
newForeignKeyColumn(TransitImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
newMandatoryColumn(Transit.PROPERTY_DESCRIPTION);
- newMandatoryColumn(Transit.PROPERTY_START_TIME, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Transit.PROPERTY_END_TIME, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Transit.PROPERTY_START_TIME, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Transit.PROPERTY_END_TIME, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
newMandatoryColumn(Transit.PROPERTY_START_LOCALITY);
newMandatoryColumn(Transit.PROPERTY_END_LOCALITY);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,8 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.data.VoyageImpl;
@@ -39,8 +39,8 @@
public VoyageImportModel(char separator) {
super(separator);
newMandatoryColumn(Voyage.PROPERTY_NAME);
- newMandatoryColumn(Voyage.PROPERTY_START_DATE, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
- newMandatoryColumn(Voyage.PROPERTY_END_DATE, EchobaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Voyage.PROPERTY_START_DATE, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
+ newMandatoryColumn(Voyage.PROPERTY_END_DATE, EchoBaseCsvUtil.IMPORT_DAY_TIME_ECHOBASE);
newMandatoryColumn(Voyage.PROPERTY_START_PORT);
newMandatoryColumn(Voyage.PROPERTY_END_PORT);
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,7 +25,7 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
@@ -137,7 +137,7 @@
}
}
- protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult actual,
+ protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult<EchoBaseEntityEnum> actual,
Class<E> entityType,
int numberCreated) throws TopiaException {
assertCsvImportResult(actual,
@@ -148,7 +148,7 @@
}
- protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult> actual,
+ protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult<EchoBaseEntityEnum>> actual,
int pos,
Class<E> entityType,
int numberCreated) throws TopiaException {
@@ -161,7 +161,7 @@
}
- protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult actual,
+ protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult<EchoBaseEntityEnum> actual,
Class<E> entityType,
int numberCreated,
int numberUpdated,
@@ -175,7 +175,7 @@
assertNbEntities(entityType, nbCount);
}
- protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult> results,
+ protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult<EchoBaseEntityEnum>> results,
int pos,
Class<E> entityType,
int numberCreated,
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -28,7 +28,8 @@
import fr.ifremer.echobase.EchoBaseConfigurationOption;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -37,6 +38,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
+import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.util.FileUtil;
import java.io.File;
@@ -187,8 +189,8 @@
}
@Override
- public DbMeta getDbMeta() {
- return DbMeta.newDbMeta();
+ public DbMeta<EchoBaseEntityEnum> getDbMeta() {
+ return EchoBaseMetadatas.newDbMeta();
}
@Override
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,9 +29,9 @@
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 org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Cell;
@@ -60,6 +60,8 @@
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.util.TimeLog;
+import org.nuiton.util.csv.Import;
+import org.nuiton.util.csv.ext.CsvReaders;
import java.io.File;
import java.io.Reader;
@@ -174,7 +176,7 @@
}
protected <M extends AbstractImportConfiguration, S extends AbstractImportDataService<M>>
- List<CsvFileImportResult> doImport(M conf,
+ List<CsvFileImportResult<EchoBaseEntityEnum>> doImport(M conf,
Class<S> serviceType,
int nbResults) throws ImportException {
@@ -188,7 +190,7 @@
TIME_LOG.log(s0, "doImport");
- List<CsvFileImportResult> result = conf.getImportResults();
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result = conf.getImportResults();
Assert.assertNotNull(result);
Assert.assertEquals(nbResults, result.size());
@@ -290,8 +292,8 @@
Reader reader = service.getInputFileReader(inputFile);
try {
- EchoBaseImport<ResultEdsuImportMockImportModelRow> importer =
- EchoBaseImport.newImport(csvModel, reader);
+ Import<ResultEdsuImportMockImportModelRow> importer =
+ Import.newImport(csvModel, reader);
for (ResultEdsuImportMockImportModelRow row : importer) {
@@ -327,9 +329,9 @@
File file) {
super(separator);
- newMandatoryColumn(esduColumnName, CELL_NAME);
+ newMandatoryColumn(esduColumnName, EchoBaseCsvUtil.CELL_NAME);
- String[] header = EchoBaseImport.getHeader(file, separator);
+ String[] header = CsvReaders.getHeader(file, separator);
for (String columnHeader : header) {
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataAcquisition;
@@ -83,7 +84,7 @@
prepareInputFile(conf.getMoviesFile(), getImportPath("movies.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, AcousticImportService.class, 1);
assertCsvImportResult(result, 0, DataAcquisition.class, NB_DATA_ACQUISITION);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
import fr.ifremer.echobase.entities.references.SpeciesCategory;
@@ -68,7 +69,7 @@
prepareInputFile(conf.getBiometrySampleFile(),
getImportPath("biometrysample.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CatchesImportService.class, 3);
assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL, 0, NB_SAMPLE);
@@ -101,7 +102,7 @@
prepareInputFile(conf.getTotalSampleFile(),
getImportPath("totalsample.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CatchesImportService.class, 1);
assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL);
@@ -124,7 +125,7 @@
prepareInputFile(conf.getSubSampleFile(),
getImportPath("subsample.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CatchesImportService.class, 1);
assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_UNSORTED);
@@ -147,7 +148,7 @@
prepareInputFile(conf.getBiometrySampleFile(),
getImportPath("biometrysample.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CatchesImportService.class, 1);
assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_BIOMETRY);
assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_BIOMETRY);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/Common2ImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/Common2ImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/Common2ImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
@@ -73,7 +74,7 @@
transit.clearTransect();
}
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CommonImportService.class, 1);
assertCsvImportResult(result, 0, Transect.class, NB_TRANSECT);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -77,7 +78,7 @@
conf.setImportMode(CommonImportMode.ALL);
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, CommonImportService.class, 3);
assertCsvImportResult(result, 0, Voyage.class, NB_VOYAGE);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.OperationMetadataValue;
@@ -69,7 +70,7 @@
prepareInputFile(conf.getGearMetadataFile(),
getImportPath("gearmetadatavalue.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, OperationImportService.class, 3);
assertCsvImportResult(result, 0, Operation.class, NB_OPERATION);
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,8 +24,9 @@
package fr.ifremer.echobase.services.importdata;
import fr.ifremer.echobase.InputFile;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.references.AgeCategory;
@@ -73,11 +74,11 @@
InputFile inputFile = conf.getEsduByEchotypeFile();
prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz"));
- addMissingEsduCells(AbstractImportModel.CELL_NAME, conf.getVoyageId(), inputFile);
+ addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), inputFile);
conf.setDataProcessingId(getDataProcessingId());
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
assertCsvImportResult(result, 0, Result.class, 43533);
@@ -105,11 +106,11 @@
prepareInputFile(inputFile,
getImportPath("byEchotypeAndSpeciesCategory.csv.gz"));
- addMissingEsduCells(AbstractImportModel.CELL_NAME, conf.getVoyageId(), inputFile);
+ addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), inputFile);
conf.setDataProcessingId(getDataProcessingId());
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
assertCsvImportResult(result, 0, Result.class, 357291);
@@ -138,11 +139,11 @@
prepareInputFile(intputFile,
getImportPath("bySpeciesAndSizeCategory.csv.gz"));
- addMissingEsduCells(AbstractImportModel.CELL_NAME, conf.getVoyageId(), intputFile);
+ addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), intputFile);
conf.setDataProcessingId(getDataProcessingId());
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
assertCsvImportResult(result, 0, Result.class, 68108);
@@ -172,11 +173,11 @@
prepareInputFile(inputFile,
getImportPath("bySpeciesAndAgeCategory.csv.gz"));
- addMissingEsduCells(AbstractImportModel.CELL_NAME, conf.getVoyageId(), inputFile);
+ addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), inputFile);
conf.setDataProcessingId(getDataProcessingId());
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
assertCsvImportResult(result, 0, Category.class, 14);
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
@@ -69,7 +70,7 @@
prepareInputFile(conf.getMapsFile(), getImportPath("maps.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsMapCellImportService.class, 1);
assertCsvImportResult(result, 0, Cell.class, 380);
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-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
@@ -79,7 +80,7 @@
conf.getVoyageId(),
conf.getRegionAssociationFile());
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsRegionCellImportService.class, 3);
assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,7 +23,8 @@
*/
package fr.ifremer.echobase.services.importdata;
-import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
@@ -72,7 +73,7 @@
getImportPath("lengthWeightKey.csv.gz"));
prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsVoyageImportService.class, 3);
assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY);
@@ -99,7 +100,7 @@
prepareInputFile(conf.getLengthAgeKeyFile(),
getImportPath("lengthAgeKey.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsVoyageImportService.class, 1);
assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY);
@@ -124,7 +125,7 @@
prepareInputFile(conf.getLengthWeightKeyFile(),
getImportPath("lengthWeightKey.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsVoyageImportService.class, 1);
assertCsvImportResult(result, 0, LengthWeightKey.class, NB_LENGTH_WEIGHT_KEY);
@@ -148,7 +149,7 @@
prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz"));
- List<CsvFileImportResult> result;
+ List<CsvFileImportResult<EchoBaseEntityEnum>> result;
result = doImport(conf, ResultsVoyageImportService.class, 1);
assertCsvImportResult(result, 0, Echotype.class, NB_ECHOTYPE);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -32,8 +32,8 @@
import com.healthmarketscience.jackcess.Table;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseIOUtil;
-import fr.ifremer.echobase.csv.AbstractExportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.util.csv.ext.AbstractExportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EntitiesUtil;
import org.apache.commons.logging.Log;
@@ -217,8 +217,8 @@
}
newColumnForExport(
name,
- EchobaseCsvUtil.newMapProperty(name),
- (ValueFormatter<Object>) EchobaseCsvUtil.TO_STRING_FORMATTER
+ EchoBaseCsvUtil.newMapProperty(name),
+ (ValueFormatter<Object>) EchoBaseCsvUtil.TO_STRING_FORMATTER
);
}
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AcousticInstrumentLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,11 +23,12 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.AcousticInstrument;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link AcousticInstrument} loader.
@@ -42,9 +43,9 @@
}
@Override
- protected EntityCsvModel<AcousticInstrument> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, AcousticInstrument> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<AcousticInstrument> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,AcousticInstrument> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
@@ -58,11 +59,11 @@
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSCEIVER_SERIAL);
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_APERTURE);
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_BEAMS);
- model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_DEPTH, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_DEPTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_LOCATION);
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_MODEL);
- model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_AZIMUTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_ELEVATION, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_AZIMUTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_ELEVATION, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
model.newMandatoryColumn(AcousticInstrument.PROPERTY_TRANSDUCER_SERIAL);
return model;
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* To load {@link AgeCategory} entities.
@@ -42,9 +43,9 @@
@Override
- protected EntityCsvModel<AgeCategory> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, AgeCategory> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<AgeCategory> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,AgeCategory> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AreaOfOperationLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.AreaOfOperation;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link AreaOfOperation} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<AreaOfOperation> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, AreaOfOperation> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<AreaOfOperation> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,AreaOfOperation> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -38,8 +38,6 @@
import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.data.VoyageDAO;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.entities.references.CellMethod;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.CellTypeDAO;
@@ -51,6 +49,8 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.io.File;
import java.io.IOException;
@@ -144,10 +144,10 @@
super.copyAndLoad(outputDir);
- AssociationMeta associationMeta;
+ AssociationMeta<EchoBaseEntityEnum> associationMeta;
- TableMeta dataMeta;
- dataMeta = getTable(EchoBaseEntityEnum.Data);
+ TableMeta<EchoBaseEntityEnum> dataMeta =
+ getTable(EchoBaseEntityEnum.Data);
copyAndLoadEntities(outputDir, dataMeta, false, FileType.BARACOUDA);
// also export cells associations
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.CellMethod;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link CellMethod} loader.
@@ -41,8 +42,8 @@
}
@Override
- protected EntityCsvModel<CellMethod> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<CellMethod> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, CellMethod> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,CellMethod> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link CellType} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<CellType> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, CellType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<CellType> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,CellType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,9 +27,9 @@
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.Table;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.CellMethod;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.DataType;
@@ -40,6 +40,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.io.IOException;
import java.util.List;
@@ -102,8 +103,8 @@
}
@Override
- protected EntityCsvModel<DataMetadata> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<DataMetadata> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, DataMetadata> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,DataMetadata> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link DataQuality} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<DataQuality> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, DataQuality> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<DataQuality> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,DataQuality> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.DataType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link DataType} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<DataType> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, DataType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<DataType> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,DataType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DepthStratumLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link DepthStratum} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<DepthStratum> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, DepthStratum> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<DepthStratum> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,DepthStratum> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeCategoryLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,12 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.EchotypeCategory;
import fr.ifremer.echobase.tools.FileType;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link EchotypeCategory} loader.
@@ -38,18 +37,14 @@
*/
public class EchotypeCategoryLoader extends EntityLoader<EchotypeCategory> {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(EchotypeCategoryLoader.class);
-
public EchotypeCategoryLoader() {
super(EchotypeCategory.class, FileType.NEW);
}
@Override
- protected EntityCsvModel<EchotypeCategory> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, EchotypeCategory> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<EchotypeCategory> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,EchotypeCategory> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,15 +29,10 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+import com.google.common.io.Files;
import com.healthmarketscience.jackcess.Database;
-import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.CsvImportResult;
-import fr.ifremer.echobase.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.DbEditorService;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
@@ -50,6 +45,12 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaId;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import org.nuiton.util.FileUtil;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportModel;
@@ -89,9 +90,9 @@
private final Set<FileType> fileTypes;
- private TableMeta meta;
+ private TableMeta<EchoBaseEntityEnum> meta;
- private AssociationMeta parentAssociationMeta;
+ private AssociationMeta<EchoBaseEntityEnum> parentAssociationMeta;
private final EchoBaseEntityEnum parent;
@@ -142,7 +143,7 @@
if (parent != null) {
- TableMeta parentMeta = getDbMeta().getTable(parent);
+ TableMeta<EchoBaseEntityEnum> parentMeta = getDbMeta().getTable(parent);
// find the associationMeta
parentAssociationMeta =
@@ -152,7 +153,7 @@
}
}
- protected EntityCsvModel<E> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, E> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
// by default no model
return null;
}
@@ -173,7 +174,7 @@
return entityType;
}
- public EchoBaseEntityEnum[] getDependencies() {
+ public Set<EchoBaseEntityEnum> getDependencies() {
return meta.getDependencies();
}
@@ -181,15 +182,15 @@
return extraDependencies;
}
- public TableMeta getMeta() {
+ public TableMeta<EchoBaseEntityEnum> getMeta() {
return meta;
}
- public AssociationMeta getParentAssociationMeta() {
+ public AssociationMeta<EchoBaseEntityEnum> getParentAssociationMeta() {
return parentAssociationMeta;
}
- public TableMeta getTable(EchoBaseEntityEnum tableName) {
+ public TableMeta<EchoBaseEntityEnum> getTable(EchoBaseEntityEnum tableName) {
return getDbMeta().getTable(tableName);
}
@@ -205,9 +206,9 @@
log.info("Import " + entityType + " from " + csvfile);
}
- TableMeta tableMeta = getTable(entityType);
+ TableMeta<EchoBaseEntityEnum> tableMeta = getTable(entityType);
- EntityCsvModel<E> csvModel = createCsvImportModel(tableMeta);
+ EntityCsvModel<EchoBaseEntityEnum, E> csvModel = createCsvImportModel(tableMeta);
BufferedReader bf = new BufferedReader(new FileReader(csvfile));
try {
@@ -243,7 +244,7 @@
}
protected void importNewEntities(DbEditorService dbEditorService,
- TableMeta meta,
+ TableMeta<EchoBaseEntityEnum> meta,
Import<E> importer) {
for (E entity : importer) {
@@ -282,7 +283,7 @@
}
protected void exportAssociations(File outputDir, FileType targetType) throws IOException {
- AssociationMeta associationMeta = getParentAssociationMeta();
+ AssociationMeta<EchoBaseEntityEnum> associationMeta = getParentAssociationMeta();
if (associationMeta != null) {
@@ -292,7 +293,7 @@
protected void exportData(File outputDir,
FileType targetType,
- TableMeta meta) throws IOException {
+ TableMeta<EchoBaseEntityEnum> meta) throws IOException {
File out = getTableFile(outputDir, meta, targetType);
@@ -315,7 +316,7 @@
}
public File getTableFile(File directory,
- MetaFilenameAware meta,
+ MetaFilenameAware<EchoBaseEntityEnum> meta,
FileType fileType) throws IOException {
File parentDir = new File(directory, fileType.name().toLowerCase());
@@ -345,7 +346,7 @@
}
public void copyAndLoadEntities(File directory,
- MetaFilenameAware meta,
+ MetaFilenameAware<EchoBaseEntityEnum> meta,
boolean commit,
FileType... fileTypes) throws IOException, TopiaException {
@@ -354,11 +355,11 @@
File out = getTableFile(directory, meta, fileType);
copyStreamToFile(out, fileType);
- CsvImportResult result = CsvImportResult.newResult(
+ CsvImportResult<EchoBaseEntityEnum> result = CsvImportResult.newResult(
meta.getSource(),
out.getAbsolutePath(),
true);
- BufferedReader bf = new BufferedReader(new FileReader(out));
+ BufferedReader bf = Files.newReader(out, Charsets.UTF_8);
try {
importFile(meta, bf, result);
@@ -398,7 +399,7 @@
protected void exportAssociation(File outputDir,
FileType targetType,
- AssociationMeta associationMeta) throws IOException {
+ AssociationMeta<EchoBaseEntityEnum> associationMeta) throws IOException {
File out = getTableFile(outputDir, associationMeta, targetType);
getExportService().exportDatas(associationMeta, out);
}
@@ -418,9 +419,9 @@
return entity;
}
- public <E extends TopiaEntity> void importFile(MetaFilenameAware entry,
+ public <E extends TopiaEntity> void importFile(MetaFilenameAware<EchoBaseEntityEnum> entry,
Reader reader,
- CsvImportResult csvResult) throws IOException {
+ CsvImportResult<EchoBaseEntityEnum> csvResult) throws IOException {
ImportService service = getImportService();
@@ -428,7 +429,8 @@
// load a association input
- AssociationMeta associationMeta = (AssociationMeta) entry;
+ AssociationMeta<EchoBaseEntityEnum> associationMeta =
+ (AssociationMeta<EchoBaseEntityEnum>) entry;
if (log.isInfoEnabled()) {
log.info("Will import " + associationMeta);
@@ -437,7 +439,7 @@
EchoBaseEntityEnum target = associationMeta.getTarget();
List<TopiaEntity> targetEntities = getEntities(target);
Map<String, TopiaEntity> targetsById =
- Maps.uniqueIndex(targetEntities, EchoBaseFunctions.TO_TOPIAID);
+ Maps.uniqueIndex(targetEntities, TopiaId.GET_TOPIA_ID);
ImportModel<Map<String, Object>> model = service.buildForImport(associationMeta);
@@ -447,7 +449,7 @@
List<E> sourceEntities = getEntities(sourceType);
Map<String, E> sourcesById =
- Maps.uniqueIndex(sourceEntities, EchoBaseFunctions.TO_TOPIAID);
+ Maps.uniqueIndex(sourceEntities, TopiaId.GET_TOPIA_ID);
try {
for (Map<String, Object> row : importer) {
String topiaId = (String) row.get(TopiaEntity.TOPIA_ID);
@@ -471,7 +473,8 @@
// normal entity table import
- TableMeta tableMeta = (TableMeta) entry;
+ TableMeta<EchoBaseEntityEnum> tableMeta =
+ (TableMeta<EchoBaseEntityEnum>) entry;
if (log.isInfoEnabled()) {
log.info("Will import " + tableMeta);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,11 +23,12 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.Gear;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.csv.Common;
import org.nuiton.util.csv.ValueParser;
@@ -48,9 +49,9 @@
}
@Override
- protected EntityCsvModel<Gear> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, Gear> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<Gear> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,Gear> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
@@ -58,7 +59,7 @@
model.newMandatoryColumn("CasinoGearName", Gear.PROPERTY_CASINO_GEAR_NAME);
model.newMandatoryColumn("ValidSince", Gear.PROPERTY_VALID_SINCE, IMPORT_DAY);
model.newMandatoryColumn("InvalidSince", Gear.PROPERTY_INVALID_SINCE, IMPORT_DAY);
- model.newMandatoryColumn("IsFishingGear", Gear.PROPERTY_FISHING_GEAR, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("IsFishingGear", Gear.PROPERTY_FISHING_GEAR, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
model.newMandatoryColumn("gearLabel", Gear.PROPERTY_GEAR_CODE);
model.newMandatoryColumn("GearName", Gear.PROPERTY_NAME);
model.newMandatoryColumn("Description", Gear.PROPERTY_DESCRIPTION);
@@ -66,8 +67,8 @@
model.addDefaultColumn("GearClassification", Gear.PROPERTY_GEAR_CLASSIFICATION, int.class);
model.addDefaultColumn("ParentGear", Gear.PROPERTY_PARENT_GEAR, int.class);
model.addDefaultColumn("Status", Gear.PROPERTY_STATUS, int.class);
- model.newMandatoryColumn("IsActive", Gear.PROPERTY_ACTIVE, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
- model.newMandatoryColumn("IsTowed", Gear.PROPERTY_TOWED, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("IsActive", Gear.PROPERTY_ACTIVE, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("IsTowed", Gear.PROPERTY_TOWED, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
return model;
}
}
\ No newline at end of file
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,12 +24,12 @@
package fr.ifremer.echobase.tools.loaders;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.entities.references.GearMetadata;
import fr.ifremer.echobase.entities.references.OperationEvent;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
@@ -46,11 +46,11 @@
}
@Override
- protected EntityCsvModel<GearMetadata> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, GearMetadata> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
List<OperationEvent> events = getEntities(EchoBaseEntityEnum.OperationEvent);
- EntityCsvModel<GearMetadata> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,GearMetadata> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/MissionLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.Mission;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link Mission} loader.
@@ -41,8 +42,8 @@
}
@Override
- protected EntityCsvModel<Mission> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<Mission> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, Mission> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,Mission> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.OperationEvent;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link OperationEvent} loader.
@@ -41,8 +42,8 @@
}
@Override
- protected EntityCsvModel<OperationEvent> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<OperationEvent> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, OperationEvent> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,OperationEvent> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -36,7 +36,6 @@
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.meta.TableMeta;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.Gear;
import fr.ifremer.echobase.entities.references.GearMetadata;
@@ -49,6 +48,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.io.File;
import java.io.IOException;
@@ -95,7 +95,7 @@
protected void exportAssociations(File outputDir, FileType targetType) throws IOException {
super.exportAssociations(outputDir, targetType);
- TableMeta meta = getMeta();
+ TableMeta<EchoBaseEntityEnum> meta = getMeta();
// export operation metadata values
exportAssociation(outputDir, targetType,
@@ -114,7 +114,7 @@
copyAndLoadEntities(outputDir, getTable(EchoBaseEntityEnum.OperationMetadataValue), false, FileType.BARACOUDA);
copyAndLoadEntities(outputDir, getTable(EchoBaseEntityEnum.GearMetadataValue), false, FileType.BARACOUDA);
- TableMeta meta = getMeta();
+ TableMeta<EchoBaseEntityEnum> meta = getMeta();
copyAndLoadEntities(outputDir, meta.getAssociations(Operation.PROPERTY_OPERATION_METADATA_VALUE), false, FileType.ASSOCIATION);
copyAndLoadEntities(outputDir, meta.getAssociations(Operation.PROPERTY_GEAR_METADATA_VALUE), false, FileType.ASSOCIATION);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,13 +24,13 @@
package fr.ifremer.echobase.tools.loaders;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.entities.references.GearMetadata;
import fr.ifremer.echobase.entities.references.OperationEvent;
import fr.ifremer.echobase.entities.references.OperationMetadata;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
@@ -47,11 +47,11 @@
}
@Override
- protected EntityCsvModel<OperationMetadata> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, OperationMetadata> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
List<OperationEvent> events = getEntities(EchoBaseEntityEnum.OperationEvent);
- EntityCsvModel<OperationMetadata> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,OperationMetadata> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,11 +24,12 @@
package fr.ifremer.echobase.tools.loaders;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.ReferenceDatum;
import fr.ifremer.echobase.entities.references.ReferenceDatumType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
@@ -45,8 +46,8 @@
}
@Override
- protected EntityCsvModel<ReferenceDatum> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<ReferenceDatum> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, ReferenceDatum> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,ReferenceDatum> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.ReferenceDatumType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link ReferenceDatumType} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<ReferenceDatumType> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, ReferenceDatumType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<ReferenceDatumType> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,ReferenceDatumType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.SampleDataType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link SampleDataType} loader.
@@ -41,8 +42,8 @@
}
@Override
- protected EntityCsvModel<SampleDataType> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<SampleDataType> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, SampleDataType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,SampleDataType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -35,7 +35,6 @@
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
import fr.ifremer.echobase.entities.data.SampleDataDAO;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.entities.references.SampleDataType;
import fr.ifremer.echobase.entities.references.SampleType;
import fr.ifremer.echobase.entities.references.SampleTypeDAO;
@@ -49,6 +48,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.StringUtil;
import java.io.File;
@@ -91,7 +91,7 @@
protected void exportAssociations(File outputDir, FileType targetType) throws IOException {
super.exportAssociations(outputDir, targetType);
- TableMeta meta = getMeta();
+ TableMeta<EchoBaseEntityEnum> meta = getMeta();
exportAssociation(outputDir, targetType,
meta.getAssociations(Sample.PROPERTY_SAMPLE_DATA));
@@ -105,7 +105,7 @@
copyAndLoadEntities(outputDir, getTable(EchoBaseEntityEnum.SampleData), false, FileType.BARACOUDA);
- TableMeta meta = getMeta();
+ TableMeta<EchoBaseEntityEnum> meta = getMeta();
copyAndLoadEntities(outputDir, meta.getAssociations(Sample.PROPERTY_SAMPLE_DATA), false, FileType.ASSOCIATION);
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,11 +23,12 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.SampleDataType;
import fr.ifremer.echobase.entities.references.SampleType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link SampleDataType} loader.
@@ -42,8 +43,8 @@
}
@Override
- protected EntityCsvModel<SampleType> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<SampleType> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, SampleType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,SampleType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.SexCategory;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link SexCategory} loader.
@@ -41,8 +42,8 @@
}
@Override
- protected EntityCsvModel<SexCategory> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<SexCategory> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, SexCategory> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,SexCategory> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,11 +23,12 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.SexCategory;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link SexCategory} loader.
@@ -42,8 +43,8 @@
}
@Override
- protected EntityCsvModel<SizeCategory> createCsvImportModel(TableMeta meta) {
- EntityCsvModel<SizeCategory> model = EntityCsvModel.newModel(
+ protected EntityCsvModel<EchoBaseEntityEnum, SizeCategory> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
+ EntityCsvModel<EchoBaseEntityEnum,SizeCategory> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.Species;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link Species} loader.
@@ -41,9 +42,9 @@
}
@Override
- protected EntityCsvModel<Species> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, Species> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<Species> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,Species> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,12 +24,13 @@
package fr.ifremer.echobase.tools.loaders;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.Strata;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
@@ -46,19 +47,19 @@
}
@Override
- protected EntityCsvModel<Strata> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, Strata> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
List<DepthStratum> depthStratums = getEntities(DepthStratum.class);
- EntityCsvModel<Strata> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,Strata> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
model.newMandatoryColumn(Strata.PROPERTY_NAME);
- model.newMandatoryColumn(Strata.PROPERTY_MAX_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- model.newMandatoryColumn(Strata.PROPERTY_MIN_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- model.newMandatoryColumn(Strata.PROPERTY_MAX_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
- model.newMandatoryColumn(Strata.PROPERTY_MIN_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Strata.PROPERTY_MAX_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Strata.PROPERTY_MIN_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Strata.PROPERTY_MAX_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Strata.PROPERTY_MIN_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
model.newMandatoryColumn(Strata.PROPERTY_SEAFLOOR_SUBSTRATE);
model.addForeignKeyForImport(Strata.PROPERTY_DEPTH_STRATUM, Strata.PROPERTY_DEPTH_STRATUM, DepthStratum.class, depthStratums, EchoBaseFunctions.DEPTH_STRATUM_ID);
return model;
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/TSParametersLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/TSParametersLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/TSParametersLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,11 +23,12 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.TSParameters;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* {@link TSParameters} loader.
@@ -46,9 +47,9 @@
"averageFishLength";"location";"minDepth";"maxDepth";"averageDepth";"dielPeriod";"method";"b";"a";"r2";"isOK";"Comment";"isPublished";"C_Perm"
*/
@Override
- protected EntityCsvModel<TSParameters> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, TSParameters> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<TSParameters> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,TSParameters> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
@@ -58,23 +59,23 @@
model.addDefaultColumn("speciesCommonName", TSParameters.PROPERTY_SPECIES_COMMON_NAME, String.class);
model.addDefaultColumn("genusSpecies", TSParameters.PROPERTY_GENUS_SPECIES, String.class);
model.addDefaultColumn("speciesTSGroup", TSParameters.PROPERTY_SPECIES_TSGROUP, String.class);
- model.newMandatoryColumn("hasSwimbladder", TSParameters.PROPERTY_SWIMBLADDER, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("hasSwimbladder", TSParameters.PROPERTY_SWIMBLADDER, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
model.addDefaultColumn("swimbladderType", TSParameters.PROPERTY_SWIMBLADDER_TYPE, String.class);
- model.newMandatoryColumn("minFishLength", TSParameters.PROPERTY_MIN_FISH_LENGTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn("maxFishLength", TSParameters.PROPERTY_MAX_DEPTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn("averageFishLength", TSParameters.PROPERTY_AVERAGE_FISH_LENGTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("minFishLength", TSParameters.PROPERTY_MIN_FISH_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("maxFishLength", TSParameters.PROPERTY_MAX_DEPTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("averageFishLength", TSParameters.PROPERTY_AVERAGE_FISH_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
model.addDefaultColumn("location", TSParameters.PROPERTY_LOCATION, String.class);
- model.newMandatoryColumn("minDepth", TSParameters.PROPERTY_MIN_DEPTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn("maxDepth", TSParameters.PROPERTY_MAX_DEPTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn("averageDepth", TSParameters.PROPERTY_AVERAGE_DEPTH, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("minDepth", TSParameters.PROPERTY_MIN_DEPTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("maxDepth", TSParameters.PROPERTY_MAX_DEPTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("averageDepth", TSParameters.PROPERTY_AVERAGE_DEPTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
model.addDefaultColumn("dielPeriod", TSParameters.PROPERTY_DIEL_PERIOD, String.class);
model.addDefaultColumn("method", TSParameters.PROPERTY_METHOD, String.class);
model.addDefaultColumn("b", TSParameters.PROPERTY_B, Float.class);
model.addDefaultColumn("a", TSParameters.PROPERTY_A, Float.class);
- model.newMandatoryColumn("r2", TSParameters.PROPERTY_R2, EchobaseCsvUtil.NA_TO_FLOAT_PARSER);
- model.newMandatoryColumn("isOK", TSParameters.PROPERTY_OK, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("r2", TSParameters.PROPERTY_R2, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER);
+ model.newMandatoryColumn("isOK", TSParameters.PROPERTY_OK, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
model.addDefaultColumn("Comment", TSParameters.PROPERTY_COMMENT, String.class);
- model.newMandatoryColumn("isPublished", TSParameters.PROPERTY_PUBLISHED, EchobaseCsvUtil.INT_TO_BOOLEAN_PARSER);
+ model.newMandatoryColumn("isPublished", TSParameters.PROPERTY_PUBLISHED, EchoBaseCsvUtil.INT_TO_BOOLEAN_PARSER);
model.addDefaultColumn("C_Perm", TSParameters.PROPERTY_CODE_PERM, String.class);
return model;
}
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,12 +24,13 @@
package fr.ifremer.echobase.tools.loaders;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.Vessel;
import fr.ifremer.echobase.entities.references.VesselType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
@@ -46,12 +47,12 @@
}
@Override
- protected EntityCsvModel<Vessel> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, Vessel> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
List<VesselType> vesselTypesByName = getEntities(
VesselType.class);
- EntityCsvModel<Vessel> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,Vessel> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
@@ -59,13 +60,13 @@
model.newMandatoryColumn(Vessel.PROPERTY_ALT_CALLSIGN);
model.newMandatoryColumn(Vessel.PROPERTY_CALLSIGN);
model.newMandatoryColumn(Vessel.PROPERTY_CODE);
- model.newMandatoryColumn(Vessel.PROPERTY_ENGINE_POWER, EchobaseCsvUtil.PRIMITIVE_INTEGER);
- model.newMandatoryColumn(Vessel.PROPERTY_IMO, EchobaseCsvUtil.PRIMITIVE_INTEGER);
- model.newMandatoryColumn(Vessel.PROPERTY_LENGTH, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Vessel.PROPERTY_ENGINE_POWER, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
+ model.newMandatoryColumn(Vessel.PROPERTY_IMO, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
+ model.newMandatoryColumn(Vessel.PROPERTY_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
model.newMandatoryColumn(Vessel.PROPERTY_NAME);
model.newMandatoryColumn(Vessel.PROPERTY_NOISE_DESIGN);
model.newMandatoryColumn(Vessel.PROPERTY_OPERATOR);
- model.newMandatoryColumn(Vessel.PROPERTY_TONNAGE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
+ model.newMandatoryColumn(Vessel.PROPERTY_TONNAGE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
model.addForeignKeyForImport(Vessel.PROPERTY_VESSEL_TYPE, Vessel.PROPERTY_VESSEL_TYPE, VesselType.class, vesselTypesByName, EchoBaseFunctions.VESSEL_TYPE_NAME);
return model;
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.tools.loaders;
-import fr.ifremer.echobase.csv.EntityCsvModel;
-import fr.ifremer.echobase.entities.meta.TableMeta;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.references.VesselType;
import fr.ifremer.echobase.tools.FileType;
+import org.nuiton.topia.persistence.metadata.TableMeta;
/**
* Loader of {@link VesselType}.
@@ -43,9 +44,9 @@
}
@Override
- protected EntityCsvModel<VesselType> createCsvImportModel(TableMeta meta) {
+ protected EntityCsvModel<EchoBaseEntityEnum, VesselType> createCsvImportModel(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<VesselType> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum,VesselType> model = EntityCsvModel.newModel(
getCsvSeparator(),
meta
);
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -29,14 +29,12 @@
import com.healthmarketscience.jackcess.Table;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.csv.AbstractImportModel;
-import fr.ifremer.echobase.csv.EchobaseCsvUtil;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.EchotypeImpl;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.entities.references.AreaOfOperation;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.EchotypeCategory;
@@ -48,6 +46,8 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportModel;
@@ -79,7 +79,7 @@
super.exportAssociations(outputDir, targetType);
// also export voyage - echotype associations
- AssociationMeta associationMeta =
+ AssociationMeta<EchoBaseEntityEnum> associationMeta =
getMeta().getAssociations(Voyage.PROPERTY_ECHOTYPE);
exportAssociation(outputDir, targetType, associationMeta);
@@ -150,12 +150,12 @@
echotypeCategorys
);
- TableMeta echotypeMeta = getTable(EchoBaseEntityEnum.Echotype);
+ TableMeta<EchoBaseEntityEnum> echotypeMeta = getTable(EchoBaseEntityEnum.Echotype);
- AssociationMeta voyageEchotypeAssociationMeta =
+ AssociationMeta<EchoBaseEntityEnum> voyageEchotypeAssociationMeta =
getMeta().getAssociations(Voyage.PROPERTY_ECHOTYPE);
- AssociationMeta echotypeSpeciesAssociationMeta =
+ AssociationMeta<EchoBaseEntityEnum> echotypeSpeciesAssociationMeta =
echotypeMeta.getAssociations(Echotype.PROPERTY_SPECIES);
DbEditorService dbEditorService =
@@ -289,7 +289,6 @@
public static class EchotypeImportModel extends AbstractImportModel<EchotyeRow> {
-
public EchotypeImportModel(char separator,
Map<String, Voyage> voyages,
Map<String, Species> species,
@@ -302,7 +301,7 @@
"CAMPAGNE";"ECHOS";"IMAGES";"LIBELLE_DESCRIPTION_DEVIATION";"ID_DESCRIPTION_DEVIATION";"GENRE_ESP";"TYPE_DEVIATION"
*/
- newMandatoryColumn("ID_DESCRIPTION_DEVIATION", Echotype.PROPERTY_ID, EchobaseCsvUtil.PRIMITIVE_INTEGER);
+ newMandatoryColumn("ID_DESCRIPTION_DEVIATION", Echotype.PROPERTY_ID, EchoBaseCsvUtil.PRIMITIVE_INTEGER);
newMandatoryColumn("ECHOS", Echotype.PROPERTY_NAME);
newMandatoryColumn("LIBELLE_DESCRIPTION_DEVIATION", Echotype.PROPERTY_MEANING);
newForeignKeyColumn("CAMPAGNE", "voyage", Voyage.class, Voyage.PROPERTY_NAME, voyages);
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,7 +27,7 @@
import fr.ifremer.echobase.EchoBaseConfigurationOption;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseService;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
@@ -102,7 +102,7 @@
Locale.getDefault(),
topiaContext.beginTransaction(),
configuration,
- DbMeta.newDbMeta(),
+ EchoBaseMetadatas.newDbMeta(),
new EchoBaseServiceFactory()
);
}
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -27,12 +27,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.healthmarketscience.jackcess.Database;
-import fr.ifremer.echobase.csv.CsvImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.DbMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.ImportService;
import fr.ifremer.echobase.tools.AbstractToolTest;
import fr.ifremer.echobase.tools.FileType;
@@ -46,6 +41,11 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.util.FileUtil;
import java.io.File;
@@ -63,8 +63,7 @@
public abstract class AbstractLoaderIT<E extends TopiaEntity, L extends EntityLoader<E>> extends AbstractToolTest {
/** Logger. */
- private static final Log log =
- LogFactory.getLog(AbstractLoaderIT.class);
+ private static final Log log = LogFactory.getLog(AbstractLoaderIT.class);
protected static File msAccessFile;
@@ -179,11 +178,11 @@
}
protected void loadDependencies() throws IOException, TopiaException {
- Set<MetaFilenameAware> dones = Sets.newHashSet();
+ Set<MetaFilenameAware<EchoBaseEntityEnum>> dones = Sets.newHashSet();
loadDependencies(dones);
}
- protected void loadDependencies(Set<MetaFilenameAware> dones) throws IOException, TopiaException {
+ protected void loadDependencies(Set<MetaFilenameAware<EchoBaseEntityEnum>> dones) throws IOException, TopiaException {
for (EchoBaseEntityEnum dependency : loader.getDependencies()) {
loadDependencies(dependency, dones);
@@ -191,7 +190,7 @@
for (EchoBaseEntityEnum dependency : loader.getExtraDependencies()) {
loadDependencies(dependency, dones);
}
- AssociationMeta parentAssociationMeta =
+ AssociationMeta<EchoBaseEntityEnum> parentAssociationMeta =
loader.getParentAssociationMeta();
if (parentAssociationMeta != null) {
loadDependencies(parentAssociationMeta.getSource(), dones);
@@ -199,14 +198,14 @@
}
protected void loadDependencies(EchoBaseEntityEnum dependency,
- Set<MetaFilenameAware> dones) throws IOException, TopiaException {
- DbMeta dbMeta = serviceContext.getDbMeta();
- TableMeta meta = dbMeta.getTable(dependency);
+ Set<MetaFilenameAware<EchoBaseEntityEnum>> dones) throws IOException, TopiaException {
+ DbMeta<EchoBaseEntityEnum> dbMeta = serviceContext.getDbMeta();
+ TableMeta<EchoBaseEntityEnum> meta = dbMeta.getTable(dependency);
loadDependencies(meta, dones);
}
- protected void loadDependencies(MetaFilenameAware meta,
- Set<MetaFilenameAware> dones) throws IOException, TopiaException {
+ protected void loadDependencies(MetaFilenameAware<EchoBaseEntityEnum> meta,
+ Set<MetaFilenameAware<EchoBaseEntityEnum>> dones) throws IOException, TopiaException {
// mark it as load (to prevent reloading of it twice)
@@ -227,7 +226,7 @@
// import association
loadDependencies(meta.getSource(), dones);
- loadDependencies(((AssociationMeta) meta).getTarget(), dones);
+ loadDependencies(((AssociationMeta<EchoBaseEntityEnum>) meta).getTarget(), dones);
entityLoader.copyAndLoadEntities(exportdir, meta, true, FileType.ASSOCIATION);
} else {
@@ -258,7 +257,7 @@
}
// load associations
- AssociationMeta parentAssociationMeta =
+ AssociationMeta<EchoBaseEntityEnum> parentAssociationMeta =
entityLoader.getParentAssociationMeta();
if (parentAssociationMeta != null) {
loadDependencies(parentAssociationMeta, dones);
@@ -293,7 +292,7 @@
if (log.isInfoEnabled()) {
log.info("Import " + inFile);
}
- CsvImportResult csvImportResult = newService(ImportService.class).importDatas(
+ CsvImportResult<EchoBaseEntityEnum> csvImportResult = newService(ImportService.class).importDatas(
loader.getEntityType(),
inFile.getAbsolutePath(),
inFile,
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellLoaderIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/CellLoaderIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -32,9 +32,6 @@
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.DbEditorService;
import fr.ifremer.echobase.tools.FileType;
import fr.ifremer.echobase.tools.TestHelper;
@@ -46,6 +43,9 @@
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.TimeLog;
import java.io.File;
@@ -147,14 +147,14 @@
// let's merge all result
File dir = TestHelper.getTestBasedir(CellLoaderIT.class);
- TableMeta cellMeta = lastLoader.getMeta();
- TableMeta dataMeta = lastLoader.getTable(EchoBaseEntityEnum.Data);
- TableMeta voyageMeta = lastLoader.getTable(EchoBaseEntityEnum.Voyage);
- TableMeta dataProcessingMeta = lastLoader.getTable(EchoBaseEntityEnum.DataProcessing);
- AssociationMeta dataProcessingToCellMetaAssociation = dataProcessingMeta.getAssociations(DataProcessing.PROPERTY_CELL);
- AssociationMeta cellToCellMetaAssociation = cellMeta.getAssociations(Cell.PROPERTY_CHILDS);
- AssociationMeta cellToDataMetaAssociation = cellMeta.getAssociations(Cell.PROPERTY_DATA);
- AssociationMeta voyageToPostCellMetaAssociation = voyageMeta.getAssociations(Voyage.PROPERTY_POST_CELL);
+ TableMeta<EchoBaseEntityEnum> cellMeta = lastLoader.getMeta();
+ TableMeta<EchoBaseEntityEnum> dataMeta = lastLoader.getTable(EchoBaseEntityEnum.Data);
+ TableMeta<EchoBaseEntityEnum> voyageMeta = lastLoader.getTable(EchoBaseEntityEnum.Voyage);
+ TableMeta<EchoBaseEntityEnum> dataProcessingMeta = lastLoader.getTable(EchoBaseEntityEnum.DataProcessing);
+ AssociationMeta<EchoBaseEntityEnum> dataProcessingToCellMetaAssociation = dataProcessingMeta.getAssociations(DataProcessing.PROPERTY_CELL);
+ AssociationMeta<EchoBaseEntityEnum> cellToCellMetaAssociation = cellMeta.getAssociations(Cell.PROPERTY_CHILDS);
+ AssociationMeta<EchoBaseEntityEnum> cellToDataMetaAssociation = cellMeta.getAssociations(Cell.PROPERTY_DATA);
+ AssociationMeta<EchoBaseEntityEnum> voyageToPostCellMetaAssociation = voyageMeta.getAssociations(Voyage.PROPERTY_POST_CELL);
ToFileFromMeta toCellFile = new ToFileFromMeta(lastLoader, cellMeta);
ToFileFromMeta toDataFile = new ToFileFromMeta(lastLoader, dataMeta);
@@ -218,13 +218,13 @@
private static class ToFileFromMeta implements Function<File, File> {
- private MetaFilenameAware meta;
+ private MetaFilenameAware<EchoBaseEntityEnum> meta;
private FileType fileType;
private CellLoader loader;
- public ToFileFromMeta(CellLoader loader, MetaFilenameAware meta) {
+ public ToFileFromMeta(CellLoader loader, MetaFilenameAware<EchoBaseEntityEnum> meta) {
this.meta = meta;
this.loader = loader;
fileType = meta instanceof AssociationMeta ? FileType.ASSOCIATION : FileType.BARACOUDA;
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VoyageLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VoyageLoaderIT.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/VoyageLoaderIT.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,12 +25,12 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.AssociationMeta;
-import fr.ifremer.echobase.entities.meta.MetaFilenameAware;
import fr.ifremer.echobase.tools.FileType;
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import java.io.File;
import java.io.IOException;
@@ -53,10 +53,10 @@
generateBaracoudaEntities();
}
- Set<MetaFilenameAware> dones;
+ Set<MetaFilenameAware<EchoBaseEntityEnum>> dones;
@Override
- protected void loadDependencies(Set<MetaFilenameAware> dones) throws IOException, TopiaException {
+ protected void loadDependencies(Set<MetaFilenameAware<EchoBaseEntityEnum>> dones) throws IOException, TopiaException {
super.loadDependencies(dones);
this.dones = dones;
}
@@ -69,7 +69,7 @@
loadDependencies(EchoBaseEntityEnum.DepthStratum, dones);
loadDependencies(EchoBaseEntityEnum.EchotypeCategory, dones);
- AssociationMeta associationMeta =
+ AssociationMeta<EchoBaseEntityEnum> associationMeta =
loader.getMeta().getAssociations(Voyage.PROPERTY_ECHOTYPE);
File inFile = new File(testdir, "input-" + associationMeta.getFilename());
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,8 +24,9 @@
package fr.ifremer.echobase.ui;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.metadata.DbMeta;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -35,7 +36,7 @@
protected EchoBaseConfiguration configuration;
- protected DbMeta dbMeta;
+ protected DbMeta<EchoBaseEntityEnum> dbMeta;
protected TopiaContext rootContext;
@@ -55,11 +56,11 @@
this.rootContext = rootContext;
}
- public DbMeta getDbMeta() {
+ public DbMeta<EchoBaseEntityEnum> getDbMeta() {
return dbMeta;
}
- public void setDbMeta(DbMeta dbMeta) {
+ public void setDbMeta(DbMeta<EchoBaseEntityEnum> dbMeta) {
this.dbMeta = dbMeta;
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -26,9 +26,10 @@
import fr.ifremer.echobase.EchoBaseConfiguration;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
-import fr.ifremer.echobase.entities.meta.DbMeta;
+import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceFactory;
@@ -45,6 +46,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaUtil;
+import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.util.converter.ConverterUtil;
import javax.servlet.ServletContextEvent;
@@ -99,7 +101,7 @@
new EchoBaseTopiaRootContextFactory();
rootContext = factory.newDatabaseFromConfig(configuration);
applicationContext.setRootContext(rootContext);
- DbMeta dbMeta = DbMeta.newDbMeta();
+ DbMeta<EchoBaseEntityEnum> dbMeta = EchoBaseMetadatas.newDbMeta();
applicationContext.setDbMeta(dbMeta);
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,11 +25,11 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.ColumnMeta;
-import fr.ifremer.echobase.entities.meta.DbMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
import java.util.Map;
@@ -52,7 +52,7 @@
protected Map<String, String> entityTypes;
/** Metas of the table. */
- protected TableMeta tableMeta;
+ protected TableMeta<EchoBaseEntityEnum> tableMeta;
public Map<String, String> getEntityTypes() {
return entityTypes;
@@ -72,8 +72,8 @@
public void load() throws Exception {
entityTypes = Maps.newTreeMap();
- DbMeta dbMeta = getEchoBaseApplicationContext().getDbMeta();
- for (TableMeta meta : dbMeta) {
+ DbMeta<EchoBaseEntityEnum> dbMeta = getEchoBaseApplicationContext().getDbMeta();
+ for (TableMeta<EchoBaseEntityEnum> meta : dbMeta) {
// keep only editable metas
if (dbMeta.isEditable(meta)) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,11 +24,11 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.ExportService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -97,7 +97,7 @@
ExportService exportService = newService(ExportService.class);
- TableMeta table = serviceContext.getDbMeta().getTable(entityType);
+ TableMeta<EchoBaseEntityEnum> table = serviceContext.getDbMeta().getTable(entityType);
String content = exportService.exportDatas(table, exportAsSeen);
if (log.isDebugEnabled()) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,10 +25,10 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.ColumnMeta;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
import java.util.Map;
@@ -76,7 +76,7 @@
DbEditorService service = newService(DbEditorService.class);
- TableMeta table = serviceContext.getDbMeta().getTable(entityType);
+ TableMeta<EchoBaseEntityEnum> table = serviceContext.getDbMeta().getTable(entityType);
datas = service.getData(table, id);
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -24,7 +24,8 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
-import fr.ifremer.echobase.csv.CsvImportResult;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import fr.ifremer.echobase.services.ImportService;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
@@ -61,11 +62,11 @@
protected String importFileFileName;
/** CSV import result */
- private CsvImportResult result;
+ private CsvImportResult<EchoBaseEntityEnum> result;
private Exception error;
- public CsvImportResult getResult() {
+ public CsvImportResult<EchoBaseEntityEnum> getResult() {
return result;
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java 2012-08-16 15:23:09 UTC (rev 552)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java 2012-08-16 16:21:10 UTC (rev 553)
@@ -25,11 +25,11 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.TableMeta;
import fr.ifremer.echobase.services.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.struts2.interceptor.ParameterAware;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import java.util.List;
import java.util.Map;
@@ -51,7 +51,7 @@
protected String topiaId;
// /** Metas of the table */
-// protected TableMeta tableMeta;
+// protected TableMeta<EchoBaseEntityEnum> tableMeta;
protected Map<String, String[]> params;
@@ -71,7 +71,7 @@
public String execute() throws Exception {
DbEditorService service = newService(DbEditorService.class);
- TableMeta tableMeta = service.getTableMeta(entityType);
+ TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(entityType);
Map<String, String> properties = Maps.newHashMap();
List<String> columnNames = tableMeta.getColumnNames();
for (String columnName : columnNames) {
1
0
Author: tchemit
Date: 2012-08-16 17:23:09 +0200 (Thu, 16 Aug 2012)
New Revision: 552
Url: http://forge.codelutin.com/repositories/revision/echobase/552
Log:
refs #1404: updates libs (nuiton-utils)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-14 18:16:30 UTC (rev 551)
+++ trunk/pom.xml 2012-08-16 15:23:09 UTC (rev 552)
@@ -138,7 +138,7 @@
<eugenePluginVersion>2.5-SNAPSHOT</eugenePluginVersion>
<topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
- <nuitonUtilsVersion>2.5.3</nuitonUtilsVersion>
+ <nuitonUtilsVersion>2.6-SNAPSHOT</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
1
0
Author: tchemit
Date: 2012-08-14 20:16:30 +0200 (Tue, 14 Aug 2012)
New Revision: 551
Url: http://forge.codelutin.com/repositories/revision/echobase/551
Log:
improve poms
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-14 17:46:22 UTC (rev 550)
+++ trunk/pom.xml 2012-08-14 18:16:30 UTC (rev 551)
@@ -50,26 +50,25 @@
<developer>
<id>chemit</id>
<name>Tony Chemit</name>
- <email>chemit(a)codelutin.com</email>
+ <email>chemit at codelutin dot com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
<role>lead</role>
<role>developer</role>
</roles>
- <timezone>+1</timezone>
+ <timezone>>Europe/Paris</timezone>
</developer>
<developer>
<id>letellier</id>
<name>Sylvain Letellier</name>
- <email>letellier(a)codelutin.com</email>
+ <email>letellier at codelutin dot com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
- <role>lead</role>
<role>developer</role>
</roles>
- <timezone>+1</timezone>
+ <timezone>Europe/Paris</timezone>
</developer>
</developers>
@@ -95,7 +94,7 @@
</site>
</distributionManagement>
- <!--repositories>
+ <repositories>
<repository>
<id>nexus</id>
<layout>default</layout>
@@ -108,7 +107,21 @@
<enabled>true</enabled>
</snapshots>
</repository>
- </repositories-->
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>nexus</id>
+ <layout>default</layout>
+ <name>echobase-group</name>
+ <url>http://nexus.nuiton.org/nexus/content/groups/echobase-group/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
<!-- ************************************************************* -->
<!-- *** Build Settings ****************************************** -->
1
0
r550 - in trunk: . echobase-entities echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders
by tchemit@users.forge.codelutin.com 14 Aug '12
by tchemit@users.forge.codelutin.com 14 Aug '12
14 Aug '12
Author: tchemit
Date: 2012-08-14 19:46:22 +0200 (Tue, 14 Aug 2012)
New Revision: 550
Url: http://forge.codelutin.com/repositories/revision/echobase/550
Log:
refs #1404: updates libs
Modified:
trunk/echobase-entities/pom.xml
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
trunk/pom.xml
Modified: trunk/echobase-entities/pom.xml
===================================================================
--- trunk/echobase-entities/pom.xml 2012-08-07 07:52:43 UTC (rev 549)
+++ trunk/echobase-entities/pom.xml 2012-08-14 17:46:22 UTC (rev 550)
@@ -156,7 +156,7 @@
</inputs>
</configuration>
<goals>
- <goal>smart-generate</goal>
+ <goal>generate</goal>
</goals>
</execution>
</executions>
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-07 07:52:43 UTC (rev 549)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-08-14 17:46:22 UTC (rev 550)
@@ -443,7 +443,7 @@
EchoBaseEntityEnum sourceType = associationMeta.getSource();
- ImportToMap importer = ImportToMap.newImport(model, reader);
+ ImportToMap importer = ImportToMap.newImportToMap(model, reader);
List<E> sourceEntities = getEntities(sourceType);
Map<String, E> sourcesById =
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-07 07:52:43 UTC (rev 549)
+++ trunk/pom.xml 2012-08-14 17:46:22 UTC (rev 550)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>3.3.5</version>
+ <version>3.3.6</version>
</parent>
<groupId>fr.ifremer</groupId>
@@ -123,18 +123,18 @@
<!-- libraries version -->
- <eugenePluginVersion>2.4.3-SNAPSHOT</eugenePluginVersion>
- <topiaVersion>2.6.10</topiaVersion>
- <nuitonUtilsVersion>2.4.8</nuitonUtilsVersion>
+ <eugenePluginVersion>2.5-SNAPSHOT</eugenePluginVersion>
+ <topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
+ <nuitonUtilsVersion>2.5.3</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
<struts2Version>2.3.4</struts2Version>
<jqueryPluginVersion>3.3.1</jqueryPluginVersion>
<seleniumVersion>2.21.0</seleniumVersion>
- <h2Version>1.3.167</h2Version>
+ <h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
- <slf4jVersion>1.6.4</slf4jVersion>
+ <slf4jVersion>1.6.6</slf4jVersion>
<jackcessVersion>1.2.7</jackcessVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
1
0
Author: tchemit
Date: 2012-08-07 09:52:43 +0200 (Tue, 07 Aug 2012)
New Revision: 549
Url: http://forge.codelutin.com/repositories/revision/echobase/549
Log:
updates to mavenpom 3.3.5
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-07-09 12:49:06 UTC (rev 548)
+++ trunk/pom.xml 2012-08-07 07:52:43 UTC (rev 549)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>3.3.4-SNAPSHOT</version>
+ <version>3.3.5</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0