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@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(); } } }