This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit e359dc6eedb4177a5504b4dc80855fcd5d772331 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 11 08:10:10 2015 +0200 refs #6938 Utilisation du modèel de sélection pour obtenir les marées existantes sur la base distante + nettoyage du code --- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 90 ++++++++++------------ 1 file changed, 39 insertions(+), 51 deletions(-) diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index 22920ab..e196a24 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.admin; import fr.ird.observe.DataService; import fr.ird.observe.ObserveConfig; -import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.ObserveServiceHelper; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.DataSourceConfig; @@ -33,8 +32,6 @@ import fr.ird.observe.db.impl.H2DataSource; import fr.ird.observe.db.impl.PGDataSource; import fr.ird.observe.db.model.DataSelectionModel; import fr.ird.observe.entities.Trip; -import fr.ird.observe.entities.constants.ReferenceLocale; -import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.report.model.Report; import fr.ird.observe.ui.admin.consolidate.ConsolidateModel; @@ -53,7 +50,6 @@ import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaContext; import org.nuiton.validator.NuitonValidatorScope; import java.beans.PropertyChangeEvent; @@ -183,8 +179,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.EXPORT_DATA)) { - // on doit aussi recalculer les ids des Trip distantes - computeExistingTrips(getSafeCentralSource(true)); + // on doit aussi calculer les ids des marées distantes + computeExistingTrips(dataService, getSafeCentralSource(true)); + } // on remplit le modèle de sélection @@ -394,6 +391,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { public static String getTripKey(Trip trip) { StringBuilder sb = new StringBuilder(); + sb.append(trip.getProgram().getTopiaId()).append("-"); sb.append(trip.getStartDate()).append("-"); sb.append(trip.getEndDate()).append("-"); if (trip.getVessel() != null) { @@ -1295,8 +1293,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } } - public void populateSelectionModel(DataService dataService, - DataSource source) { + public void populateSelectionModel(DataService dataService, DataSource source) { try { DataSelectionModel.populate(getSelectionDataModel(), dataService, source); } catch (Exception e) { @@ -1311,42 +1308,31 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } } - protected void computeExistingTrips(DataSource source) { - String txName = "computeExistingTrips"; + protected void computeExistingTrips(DataService dataService, DataSource source) { + DataSelectionModel selectionModel = new DataSelectionModel(); try { + DataSelectionModel.populate(selectionModel, dataService, source); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("could not populate selected model", e); + } + } - TopiaContext tx = source.beginTransaction(txName); - try { + List<String> existingTripIds = new ArrayList<String>(); - List<String> keys = new ArrayList<String>(); - { - List<TripSeine> trips = ObserveDAOHelper.getTripSeineDAO(tx).findAllStub(ReferenceLocale.FR); - for (TripSeine trip : trips) { - String key = getTripKey(trip); - keys.add(key); - } - } - { - List<TripLongline> trips = ObserveDAOHelper.getTripLonglineDAO(tx).findAllStub(ReferenceLocale.FR); - for (TripLongline trip : trips) { - String key = getTripKey(trip); - keys.add(key); - } - } + for (List<String> tripIds : selectionModel.getDatas().values()) { - if (log.isDebugEnabled()) { - log.debug("found " + keys.size() + "existing Trip(s)"); - } - getExportModel().setExistingTripIds(keys); - } finally { - source.closeTransaction(tx, txName); - } - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("Can not have existing Trip...", e); + for (String tripId : tripIds) { + Trip trip = (Trip) selectionModel.getEntityCache(tripId); + String key = getTripKey(trip); + existingTripIds.add(key); } + } + + getExportModel().setExistingTripIds(existingTripIds); + } protected void updateSaveLocalOperation() { @@ -1383,24 +1369,26 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } protected void doOpenSource(DataSource source) { - if (source == null || source.isOpen()) { - return; - } - try { - source.doOpen(); - } catch (DataSourceException e) { - throw new IllegalStateException("Could not open " + source, e); + + if (source != null && !source.isOpen()) { + try { + source.doOpen(); + } catch (DataSourceException e) { + throw new IllegalStateException("Could not open " + source, e); + } } + } protected void doCloseSource(DataSource source, boolean destroy) { - if (source == null || !source.isOpen() || source.wasClosed()) { - return; - } - try { - source.doClose(destroy); - } catch (DataSourceException e) { - throw new IllegalStateException("Could not close " + source, e); + + if (source != null && source.isOpen() && !source.wasClosed()) { + try { + source.doClose(destroy); + } catch (DataSourceException e) { + throw new IllegalStateException("Could not close " + source, e); + } } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.