Author: tchemit Date: 2011-12-26 11:12:41 +0100 (Mon, 26 Dec 2011) New Revision: 214 Url: http://forge.codelutin.com/repositories/revision/echobase/214 Log: use new service apis 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/EntityLoader.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/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 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 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java 2011-12-26 10:12:41 UTC (rev 214) @@ -108,9 +108,9 @@ meta ); - List<DataType> dataTypes = getDbEditorService().getEntities(DataType.class); - List<ReferenceDatum> referenceDatums = getDbEditorService().getEntities(ReferenceDatum.class); - List<CellMethod> cellMethods = getDbEditorService().getEntities(CellMethod.class); + List<DataType> dataTypes = getEntities(DataType.class); + List<ReferenceDatum> referenceDatums = getEntities(ReferenceDatum.class); + List<CellMethod> cellMethods = getEntities(CellMethod.class); model.addForeignKeyForImport("DataTypeID", DataMetadata.PROPERTY_DATA_TYPE, DataType.class, dataTypes, EchoBaseFunctions.DATA_TYPE_NAME); 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 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2011-12-26 10:12:41 UTC (rev 214) @@ -38,10 +38,10 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.services.CsvImportResult; import fr.ifremer.echobase.services.DbEditorService; -import fr.ifremer.echobase.services.DbImportService; import fr.ifremer.echobase.services.EchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseServiceSupport; -import fr.ifremer.echobase.services.models.EntityAssociationImportModel; +import fr.ifremer.echobase.services.ExportService; +import fr.ifremer.echobase.services.ImportService; import fr.ifremer.echobase.services.models.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.io.IOUtils; @@ -82,8 +82,6 @@ private static final EchoBaseEntityEnum[] EMPTY_DEPENDENCIES_ARRAY = new EchoBaseEntityEnum[0]; - private DbEditorService dbEditorService; - private final Class<E> entityClass; private final EchoBaseEntityEnum entityType; @@ -205,10 +203,8 @@ log.info("Import " + entityType + " from " + csvfile); } - DbEditorService service = getDbEditorService(); + TableMeta meta = getTable(entityType); - TableMeta meta = service.getTableMeta(entityType); - EntityCsvModel<E> csvModel = createCsvImportModel(meta); BufferedReader bf = new BufferedReader(new FileReader(csvfile)); @@ -217,12 +213,16 @@ Import<E> importer = Import.newImport(csvModel, bf); try { + DbEditorService dbEditorService = + getService(DbEditorService.class); + for (E entity : importer) { - service.saveEntity(meta, - "", - entity, - null, - false + + dbEditorService.saveEntity(meta, + "", + entity, + null, + false ); } } finally { @@ -240,7 +240,7 @@ File out = getTableFile(outputDir, meta, FileType.NEW); - getDbEditorService().exportDatas(meta, out); + getExportService().exportDatas(meta, out); } finally { if (cleanTransaction) { serviceContext.getTransaction().rollbackTransaction(); @@ -286,7 +286,7 @@ File out = getTableFile(outputDir, meta, targetType); - getDbEditorService().exportDatas(meta, out); + getExportService().exportDatas(meta, out); } protected void copyAndLoad(File outputDir) throws IOException, TopiaException { @@ -338,8 +338,6 @@ boolean commit, FileType... fileTypes) throws IOException, TopiaException { - DbImportService service = newService(DbImportService.class); - for (FileType fileType : fileTypes) { File out = getTableFile(directory, meta, fileType); @@ -370,13 +368,14 @@ return getDAO(entityClass); } - protected final DbEditorService getDbEditorService() { - if (dbEditorService == null) { - dbEditorService = serviceContext.newService(DbEditorService.class); - } - return dbEditorService; + protected final ImportService getImportService() { + return getService(ImportService.class); } + protected final ExportService getExportService() { + return getService(ExportService.class); + } + protected final char getCsvSeparator() { return serviceContext.getConfiguration().getCsvSeparator(); } @@ -389,7 +388,7 @@ FileType targetType, AssociationMeta associationMeta) throws IOException { File out = getTableFile(outputDir, associationMeta, targetType); - getDbEditorService().exportDatas(associationMeta, out); + getExportService().exportDatas(associationMeta, out); } @@ -411,7 +410,7 @@ Reader reader, CsvImportResult csvResult) throws IOException { - DbEditorService service = getDbEditorService(); + ImportService service = getImportService(); if (entry instanceof AssociationMeta) { @@ -423,17 +422,12 @@ log.info("Will import " + meta); } - EchoBaseEntityEnum source = meta.getSource(); EchoBaseEntityEnum target = meta.getTarget(); List<TopiaEntity> targetEntities = getEntities(target); Map<String, TopiaEntity> targetsById = Maps.uniqueIndex(targetEntities, EchoBaseFunctions.TO_TOPIAID); - ImportModel<Map<String, Object>> model = - EntityAssociationImportModel.newImportModel( - getConfiguration().getCsvSeparator(), - meta - ); + ImportModel<Map<String, Object>> model = service.buildForImport(meta); EchoBaseEntityEnum sourceType = meta.getSource(); 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 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2011-12-26 10:12:41 UTC (rev 214) @@ -89,7 +89,7 @@ ); List<ReferenceDatumType> referenceDatumTypes = - getDbEditorService().getEntities(ReferenceDatumType.class); + getEntities(ReferenceDatumType.class); model.newMandatoryColumn(ReferenceDatum.PROPERTY_ID); model.newMandatoryColumn(ReferenceDatum.PROPERTY_MEANING); 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 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2011-12-26 10:12:41 UTC (rev 214) @@ -196,7 +196,7 @@ File out = getTableFile(outputDir, associationMeta, FileType.ASSOCIATION); - getDbEditorService().exportDatas(associationMeta, out); + getExportService().exportDatas(associationMeta, out); } finally { if (cleanTransaction) { 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 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2011-12-26 10:12:41 UTC (rev 214) @@ -29,7 +29,6 @@ import fr.ifremer.echobase.entities.EchoBaseDAOHelper; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.meta.DbMeta; -import fr.ifremer.echobase.services.DbEditorService; import fr.ifremer.echobase.services.EchoBaseService; import fr.ifremer.echobase.services.EchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseServiceContextImpl; @@ -72,8 +71,6 @@ protected static EchoBaseConfiguration configuration; - private DbEditorService service; - @BeforeClass public static void beforeClass() { @@ -120,13 +117,6 @@ return serviceContext.newService(clazz); } - protected DbEditorService getService() { - if (service == null) { - service = newService(DbEditorService.class); - } - return service; - } - protected <E extends TopiaEntity> TopiaDAO<E> getDao(Class<E> entityClass) throws TopiaException { TopiaDAO<E> dao = EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(serviceContext.getTransaction(), entityClass); return dao; Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2011-12-26 10:10:04 UTC (rev 213) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2011-12-26 10:12:41 UTC (rev 214) @@ -33,6 +33,7 @@ import fr.ifremer.echobase.entities.meta.MetaFilenameAware; import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.services.CsvImportResult; +import fr.ifremer.echobase.services.ImportService; import fr.ifremer.echobase.tools.AbstractToolTest; import fr.ifremer.echobase.tools.FileType; import fr.ifremer.echobase.tools.TestHelper; @@ -292,7 +293,7 @@ if (log.isInfoEnabled()) { log.info("Import " + inFile); } - CsvImportResult csvImportResult = getService().importDatas( + CsvImportResult csvImportResult = newService(ImportService.class).importDatas( loader.getEntityType(), inFile.getAbsolutePath(), inFile,