r378 - trunk/echobase-services/src/main/java/fr/ifremer/echobase/services
Author: tchemit Date: 2012-03-19 18:19:05 +0100 (Mon, 19 Mar 2012) New Revision: 378 Url: http://forge.codelutin.com/repositories/revision/echobase/378 Log: fix NPE Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 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-03-19 17:07:09 UTC (rev 377) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-03-19 17:19:05 UTC (rev 378) @@ -129,10 +129,12 @@ MetaFilenameAware[] refEntries = EntitiesUtil.getReferenceEntries(getDbMeta()); + boolean withVoyages = model.getVoyageIds() != null; + if (computeSteps) { int nbstesp = refEntries.length; - if (model.getVoyageIds() != null) { + if (withVoyages) { nbstesp += model.getVoyageIds().length; } @@ -152,29 +154,31 @@ } } - MetaFilenameAware[] dataEntries = - EntitiesUtil.getDataEntries(getDbMeta()); - Multimap<EchoBaseEntityEnum, MetaFilenameAware> dataAssociationEntries = - EntitiesUtil.getDataAssociationsEntries(getDbMeta()); + if (withVoyages) { + MetaFilenameAware[] dataEntries = + EntitiesUtil.getDataEntries(getDbMeta()); + Multimap<EchoBaseEntityEnum, MetaFilenameAware> dataAssociationEntries = + EntitiesUtil.getDataAssociationsEntries(getDbMeta()); - ReplicateEntityVisitor visitor = ReplicateEntityVisitor.createVisitor( - exportService, - dataEntries, - dataAssociationEntries, - dir - ); + ReplicateEntityVisitor visitor = ReplicateEntityVisitor.createVisitor( + exportService, + dataEntries, + dataAssociationEntries, + dir + ); - try { - for (String voyageId : model.getVoyageIds()) { + try { + for (String voyageId : model.getVoyageIds()) { - model.incrementsProgression(); + model.incrementsProgression(); - Voyage voyage = getEntityById(Voyage.class, voyageId); - visitor.export(voyage); + Voyage voyage = getEntityById(Voyage.class, voyageId); + visitor.export(voyage); + } + } finally { + // clear visitor will close export files + visitor.clear(); } - } finally { - // clear visitor will close export files - visitor.clear(); } EchoBaseIOUtil.compressZipFile(zipFile, dir);
participants (1)
-
tchemit@users.forge.codelutin.com