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 04196f98170996dc398adb36c84e7b3765ba0b43 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 10 19:57:36 2015 +0200 refs #6933 Récuperation de toutes les marees + utilisation des deux type de marees --- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 6 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 34 +++++++--- .../ui/admin/consolidate/ConsolidateUIHandler.java | 26 +++++--- .../ird/observe/ui/admin/export/ExportModel.java | 28 ++++++-- .../observe/ui/admin/export/ExportUIHandler.java | 78 +++++++++++++--------- .../fr/ird/observe/ui/admin/export/TripEntry.java | 36 ++++++---- .../ui/admin/export/TripToExportTableModel.java | 9 +-- 7 files changed, 140 insertions(+), 77 deletions(-) diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java index aa9bd85..7dc1127 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java @@ -203,16 +203,16 @@ public class AdminTabUIHandler implements SendMessageAble { protected void replicateData(DataSource source, DataSource target, - String... mareeIds) throws DataSourceException { + String... tripIds) throws DataSourceException { ReplicationService service = getReplicationService(); - if (mareeIds == null || mareeIds.length == 0) { + if (tripIds == null || tripIds.length == 0) { // on replique toutes les données service.replicateAllData(source, target); } else { // on replique les données specifiees - service.replicateData(source, target, mareeIds); + service.replicateData(source, target, tripIds); } } 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 8befb93..22920ab 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 @@ -32,6 +32,9 @@ import fr.ird.observe.db.constants.DbMode; 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; @@ -389,16 +392,17 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } } - public static String getTripKey(TripSeine TripSeine) { + public static String getTripKey(Trip trip) { StringBuilder sb = new StringBuilder(); - sb.append(TripSeine.getEndDate()).append("-"); - if (TripSeine.getVessel() != null) { - sb.append(TripSeine.getVessel().getTopiaId()).append("-"); + sb.append(trip.getStartDate()).append("-"); + sb.append(trip.getEndDate()).append("-"); + if (trip.getVessel() != null) { + sb.append(trip.getVessel().getTopiaId()).append("-"); } else { sb.append("vesselNull"); } - if (TripSeine.getOcean() != null) { - sb.append(TripSeine.getOcean().getTopiaId()).append("-"); + if (trip.getOcean() != null) { + sb.append(trip.getOcean().getTopiaId()).append("-"); } else { sb.append("oceanNull"); } @@ -1314,11 +1318,21 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { TopiaContext tx = source.beginTransaction(txName); try { - List<TripSeine> tripSeines = ObserveDAOHelper.getTripSeineDAO(tx).findAll(); + List<String> keys = new ArrayList<String>(); - for (TripSeine TripSeine : tripSeines) { - String key = getTripKey(TripSeine); - keys.add(key); + { + 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); + } } if (log.isDebugEnabled()) { diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java index 0abc0f7..ba8e371 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java @@ -27,6 +27,7 @@ import fr.ird.observe.ObserveServiceHelper; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.model.DataSelectionModel; +import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.SetSeine; @@ -135,8 +136,8 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { // une erreur ou une annulation return init; } - java.util.Set<String> mareeIds = model.getSelectionDataModel().getSelectedData(); - List<TripSeine> toUpdate = new ArrayList<TripSeine>(mareeIds.size()); + java.util.Set<String> tripIds = model.getSelectionDataModel().getSelectedData(); + List<TripSeine> toUpdate = new ArrayList<TripSeine>(tripIds.size()); ConsolidateDataService service = ObserveServiceHelper.getConsolidateDataService(); @@ -147,19 +148,24 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { TopiaContext tx = source.beginTransaction(txName); try { TopiaDAO<TripSeine> dao = source.getDAO(tx, TripSeine.class); - for (String mareeId : mareeIds) { + for (String mareeId : tripIds) { - TripSeine maree = (TripSeine) tx.findByTopiaId(mareeId); + if (Entities.isSeineId(mareeId)) { - boolean needUpdate = service.consolidateTrip(this, tx, maree); - if (needUpdate) { + TripSeine trip = (TripSeine) tx.findByTopiaId(mareeId); - // on met a jour la maree en base - dao.update(maree); + boolean needUpdate = service.consolidateTrip(this, tx, trip); + if (needUpdate) { + + // on met a jour la maree en base + dao.update(trip); + + // on conserve une reference sur la maree mise à jour + toUpdate.add(trip); + } - // on conserve une reference sur la maree mise à jour - toUpdate.add(maree); } + } // on commite si quelque chose a ete mise a jour diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java index 27a5438..490af49 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java @@ -22,6 +22,8 @@ package fr.ird.observe.ui.admin.export; import fr.ird.observe.db.DataSource; +import fr.ird.observe.entities.Trip; +import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.ui.admin.AdminActionModel; @@ -49,7 +51,9 @@ public class ExportModel extends AdminActionModel { protected Decorator<Program> programDecorator; - protected Decorator<TripSeine> tripDecorator; + protected Decorator<TripSeine> tripSeineDecorator; + + protected Decorator<TripLongline> tripLonglineDecorator; protected DataSource source; @@ -84,7 +88,7 @@ public class ExportModel extends AdminActionModel { } exportDataSelectedIndex = null; programDecorator = null; - tripDecorator = null; + tripSeineDecorator = null; data = null; centralSource = null; source = null; @@ -122,11 +126,23 @@ public class ExportModel extends AdminActionModel { this.programDecorator = programDecorator; } - public Decorator<TripSeine> getTripDecorator() { - return tripDecorator; + public Decorator<TripSeine> getTripSeineDecorator() { + return tripSeineDecorator; + } + + public void setTripSeineDecorator(Decorator<TripSeine> mareeDecorator) { + this.tripSeineDecorator = mareeDecorator; + } + + public Decorator<TripLongline> getTripLonglineDecorator() { + return tripLonglineDecorator; + } + + public void setTripLonglineDecorator(Decorator<TripLongline> tripLonglineDecorator) { + this.tripLonglineDecorator = tripLonglineDecorator; } - public void setTripDecorator(Decorator<TripSeine> mareeDecorator) { - this.tripDecorator = mareeDecorator; + public String decorate(Trip trip) { + return trip instanceof TripSeine ? tripSeineDecorator.toString(trip): tripLonglineDecorator.toString(trip); } } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java index d54bfc5..87466f9 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java @@ -25,6 +25,8 @@ import fr.ird.observe.DecoratorService; import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.db.DataSource; import fr.ird.observe.db.model.DataSelectionModel; +import fr.ird.observe.entities.Trip; +import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.ui.UIHelper; @@ -199,9 +201,11 @@ public class ExportUIHandler extends AdminTabUIHandler { ExportModel stepModel = model.getExportModel(); Decorator<Program> pDecorator = decoratorProvider.getDecoratorByType(Program.class); - Decorator<TripSeine> mDecorator = decoratorProvider.getDecoratorByType(TripSeine.class); + Decorator<TripLongline> tripLonglineDecorator = decoratorProvider.getDecoratorByType(TripLongline.class); + Decorator<TripSeine> tripSeineDecorator = decoratorProvider.getDecoratorByType(TripSeine.class); stepModel.setProgramDecorator(pDecorator); - stepModel.setTripDecorator(mDecorator); + stepModel.setTripSeineDecorator(tripSeineDecorator); + stepModel.setTripLonglineDecorator(tripLonglineDecorator); DataSource centralSource = model.getSafeCentralSource(false); @@ -246,19 +250,21 @@ public class ExportUIHandler extends AdminTabUIHandler { for (String p : datas.keySet()) { - List<String> marees = datas.get(p); - if (marees == null || marees.isEmpty()) { + List<String> tripIds = datas.get(p); + if (tripIds == null || tripIds.isEmpty()) { // pas de maree sur ce program continue; } - for (String m : marees) { + for (String tripId : tripIds) { + TripEntry entry = new TripEntry(); - TripSeine maree = (TripSeine) tx.findByTopiaId(m); - entry.setTripSeine(maree); - mDecorator.toString(maree); - String mareeKey = AdminUIModel.getTripKey(maree); - entry.setExist(existingTrips.contains(mareeKey)); + Trip trip = (Trip) tx.findByTopiaId(tripId); + entry.setTrip(trip); + stepModel.decorate(trip); + String tripKey = AdminUIModel.getTripKey(trip); + entry.setExist(existingTrips.contains(tripKey)); entries.add(entry); + } } } finally { @@ -288,8 +294,6 @@ public class ExportUIHandler extends AdminTabUIHandler { Decorator<Program> pDecorator = stepModel.getProgramDecorator(); - Decorator<TripSeine> mDecorator = stepModel.getTripDecorator(); - // on filtre les marées sélectionnées pour export List<TripEntry> entries = new ArrayList<TripEntry>(); int[] selectedIndex = stepModel.getExportDataSelectedIndex(); @@ -314,34 +318,47 @@ public class ExportUIHandler extends AdminTabUIHandler { // on supprime les marées à écraser de la base distante TopiaContext tx = beginTransaction(centralSource, txName); try { - TopiaDAO<TripSeine> dao = ObserveDAOHelper.getTripSeineDAO(tx); + TopiaDAO<TripSeine> tripSeineDao = ObserveDAOHelper.getTripSeineDAO(tx); + TopiaDAO<TripLongline> tripLonglineDao = ObserveDAOHelper.getTripLonglineDAO(tx); for (TripEntry entry : entries) { - String mareeId = entry.getTripId(); + String tripId = entry.getTripId(); String programId = entry.getProgramId(); + boolean seine = entry.isSeine(); if (!entry.isExist()) { // pas concerné par cette phase continue; } -// if (existingTripIds == null || !existingMareeIds.contains(mareeId)) { -// // pas concerné par cette phase -// continue; -// } - TripSeine m = dao.findByTopiaId(mareeId); - if (m == null) { + Trip trip; + + if (seine) { + + trip = tripSeineDao.findByTopiaId(tripId); + } else { + trip = tripLonglineDao.findByTopiaId(tripId); + + } + if (trip == null) { // ne devrait jamais arrivé... continue; } - Program p = m.getProgram(); + Program p = trip.getProgram(); + + String tripDecorated = stepModel.decorate(trip); - sendMessage(t("observe.message.exportData.delete.remote.maree", mDecorator.toString(m), pDecorator.toString(p))); + sendMessage(t("observe.message.exportData.delete.remote.maree", tripDecorated, pDecorator.toString(p))); if (log.isInfoEnabled()) { - log.info(t("observe.message.exportData.delete.remote.maree", mareeId, programId)); + log.info(t("observe.message.exportData.delete.remote.maree", tripId, programId)); } - dao.delete(m); + if (seine) { + tripSeineDao.delete((TripSeine) trip); + } else { + tripLonglineDao.delete((TripLongline) trip); + + } } commitTransaction(centralSource, tx, txName); @@ -356,18 +373,19 @@ public class ExportUIHandler extends AdminTabUIHandler { // seconde passe, on duplique les marées vers la base distante et // on rattache les marees a leur program for (TripEntry entry : entries) { - String mareeId = entry.getTripId(); + String tripId = entry.getTripId(); String programId = entry.getProgramId(); - TripSeine m = entry.getTripSeine(); - Program p = m.getProgram(); + Trip trip = entry.getTrip(); + Program program = trip.getProgram(); - sendMessage(t("observe.message.exportData.replicate.maree", mDecorator.toString(m), pDecorator.toString(p))); + String tripDecorated = stepModel.decorate(trip); + sendMessage(t("observe.message.exportData.replicate.maree", tripDecorated, pDecorator.toString(program))); if (log.isInfoEnabled()) { - log.info(t("observe.message.exportData.replicate.maree", mareeId, programId)); + log.info(t("observe.message.exportData.replicate.maree", tripId, programId)); } try { - replicateData(source, centralSource, mareeId); + replicateData(source, centralSource, tripId); } catch (Exception e) { //FIXME 20100726 : il faut supprimer tous les objets crées pour cette marée diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java index 91b7d18..4a30745 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java @@ -21,19 +21,24 @@ */ package fr.ird.observe.ui.admin.export; +import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.Trip; import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.entities.seine.TripSeine; + +import java.io.Serializable; /** Une classe qui représente une entrée dans le modèle (sans la sélection) */ -public class TripEntry { +public class TripEntry implements Serializable{ + + private static final long serialVersionUID = 1L; Program program; String programId; - TripSeine tripSeine; + Trip trip; - String mareeId; + String tripId; Boolean exist; @@ -50,28 +55,31 @@ public class TripEntry { } public String getTripId() { - return mareeId; + return tripId; } - public TripSeine getTripSeine() { - return tripSeine; + public Trip getTrip() { + return trip; } - public void setTripSeine(TripSeine maree) { - this.tripSeine = maree; - if (maree == null) { - mareeId = null; + public void setTrip(Trip trip) { + this.trip = trip; + if (trip == null) { + tripId = null; program = null; programId = null; } else { - mareeId = maree.getTopiaId(); - program = maree.getProgram(); + tripId = trip.getTopiaId(); + program = trip.getProgram(); programId = program == null ? null : program.getTopiaId(); } } public Program getProgram() { - return tripSeine == null ? null : tripSeine.getProgram(); + return trip == null ? null : trip.getProgram(); } + public boolean isSeine() { + return Entities.isSeineId(tripId); + } } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java index e05365d..a9769ce 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.admin.export; +import fr.ird.observe.entities.Trip; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import org.nuiton.i18n.I18n; @@ -125,7 +126,7 @@ public class TripToExportTableModel extends AbstractTableModel { value = p.getProgram(); break; case 2: - value = p.getTripSeine(); + value = p.getTrip(); break; case 3: value = p.isExist(); @@ -140,11 +141,11 @@ public class TripToExportTableModel extends AbstractTableModel { } public Program getProgramAt(int rowIndex) { - return data[rowIndex].getTripSeine().getProgram(); + return data[rowIndex].getTrip().getProgram(); } - public TripSeine getMareeAt(int rowIndex) { - return data[rowIndex].getTripSeine(); + public Trip getTripAt(int rowIndex) { + return data[rowIndex].getTrip(); } public boolean isSelectAll() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.