branch feature/7677 created (now a11a759)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7677 in repository observe. See http://git.codelutin.com/observe.git at a11a759 migration de l'écran d'export (refs #7677) This branch includes the following new commits: new a11a759 migration de l'écran d'export (refs #7677) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit a11a7595b8faf1851413a2055b7869ce7261d5fc Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Nov 4 15:19:02 2015 +0100 migration de l'écran d'export (refs #7677) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7677 in repository observe. See http://git.codelutin.com/observe.git commit a11a7595b8faf1851413a2055b7869ce7261d5fc Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Nov 4 15:19:02 2015 +0100 migration de l'écran d'export (refs #7677) --- .../java/fr/ird/observe/ui/admin/AdminStep.java | 3 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 3 +- .../ird/observe/ui/admin/export/ExportModel.java | 82 +++++++------- .../observe/ui/admin/export/ExportUIHandler.java | 121 ++++++++++++--------- .../fr/ird/observe/ui/admin/export/TripEntry.java | 26 ++--- .../ui/admin/export/TripToExportTableModel.java | 13 +-- .../fr/ird/observe/ui/storage/StorageUIModel.java | 5 + .../ui/tree/DataSelectionTreeCellRenderer.java | 15 +-- 8 files changed, 143 insertions(+), 125 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java index 5c233bf..482f17d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java @@ -211,7 +211,8 @@ public enum AdminStep implements WizardExtStep { false, false, DbMode.USE_LOCAL, - DbMode.USE_REMOTE + DbMode.USE_REMOTE, + DbMode.USE_SERVER ), /** pour afficher après les opération un ecran de résumé */ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index a53212f..088c30c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -1110,7 +1110,8 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // avec des droits d'écriture de données // validate &= centralSourceModel.isValid() && // centralSourceModel.getPgConfig().isCanWriteData(); - validate &= centralSourceModel.getDataSourceInformation().canWriteData(); + validate &= centralSourceModel.getDataSourceInformation() != null + && centralSourceModel.getDataSourceInformation().canWriteData(); } if (containsOperation(AdminStep.IMPORT_GPS)) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java index 5964f15..4b79bbe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java @@ -21,6 +21,8 @@ */ package fr.ird.observe.ui.admin.export; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -28,10 +30,12 @@ import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.admin.AdminActionModel; import fr.ird.observe.ui.admin.AdminStep; +import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import org.nuiton.decorator.Decorator; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * Le modèle d'une opération d'export de données observers. @@ -50,11 +54,11 @@ public class ExportModel extends AdminActionModel { /** les données exportables */ protected List<TripEntry> data; - protected Decorator<ProgramDto> programDecorator; + protected Decorator<ReferenceDto> programDecorator; - protected Decorator<TripSeineDto> tripSeineDecorator; + protected Decorator<ReferenceDto> tripSeineDecorator; - protected Decorator<TripLonglineDto> tripLonglineDecorator; + protected Decorator<ReferenceDto> tripLonglineDecorator; protected ObserveSwingDataSource source; @@ -94,33 +98,27 @@ public class ExportModel extends AdminActionModel { return data; } - //FIXME -// public void setData(DataSelectionModel selectionModel) { -// -// List<TripEntry> tripEntries = new ArrayList<TripEntry>(); -// -// for (List<String> tripIds : selectionModel.getSelectedDataByProgram().values()) { -// -// if (CollectionUtils.isNotEmpty(tripIds)) { -// -// for (String tripId : tripIds) { -// -// Trip trip = (Trip) selectionModel.getEntityCache(tripId); -// -// boolean exists = existingTripIds.contains(trip.getTopiaId()); -// -// TripEntry entry = new TripEntry(trip, exists); -// tripEntries.add(entry); -// -// } -// -// } -// -// } -// -// this.data = ImmutableList.copyOf(tripEntries); -// -// } + public void setData(DataSelectionModel selectionModel) { + + List<TripEntry> tripEntries = Lists.newArrayList(); + + for (Map.Entry<ReferenceDto<ProgramDto>, List<ReferenceDto>> entry : selectionModel.getSelectedDataByProgram().entrySet()) { + + ReferenceDto<ProgramDto> program = entry.getKey(); + + for (ReferenceDto trip : entry.getValue()) { + + boolean exists = existingTrips.contains(trip); + + TripEntry tripEntry = new TripEntry(program, trip, exists); + + tripEntries.add(tripEntry); + } + } + + this.data = ImmutableList.copyOf(tripEntries); + + } public ObserveSwingDataSource getSource() { return source; @@ -138,28 +136,30 @@ public class ExportModel extends AdminActionModel { this.centralSource = centralSource; } - public void setProgramDecorator(Decorator<ProgramDto> programDecorator) { + public void setProgramDecorator(Decorator<ReferenceDto> programDecorator) { this.programDecorator = programDecorator; } - public void setTripSeineDecorator(Decorator<TripSeineDto> mareeDecorator) { + public void setTripSeineDecorator(Decorator<ReferenceDto> mareeDecorator) { this.tripSeineDecorator = mareeDecorator; } - public void setTripLonglineDecorator(Decorator<TripLonglineDto> tripLonglineDecorator) { + public void setTripLonglineDecorator(Decorator<ReferenceDto> tripLonglineDecorator) { this.tripLonglineDecorator = tripLonglineDecorator; } - public String decorate(TripSeineDto trip) { - return tripSeineDecorator.toString(trip); - } + public String decorate(ReferenceDto referenceDto) { + String decor= null; - public String decorate(TripLonglineDto trip) { - return tripLonglineDecorator.toString(trip); - } + if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { + decor = programDecorator.toString(referenceDto); + } else if (TripSeineDto.class.isAssignableFrom(referenceDto.getType())) { + decor = tripSeineDecorator.toString(referenceDto); + } else if (TripLonglineDto.class.isAssignableFrom(referenceDto.getType())) { + decor = tripLonglineDecorator.toString(referenceDto); + } - public String decorate(ProgramDto program) { - return programDecorator.toString(program); + return decor; } public List<TripEntry> getSelectedTrips() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java index 806b023..4d3798f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java @@ -21,11 +21,14 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.longline.TripLonglineService; +import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUI; @@ -33,6 +36,7 @@ import fr.ird.observe.ui.admin.AdminTabUIHandler; import fr.ird.observe.ui.admin.AdminUI; import fr.ird.observe.ui.admin.AdminUIModel; import fr.ird.observe.ui.admin.config.SelectDataUI; +import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import jaxx.runtime.swing.editor.MyDefaultCellEditor; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.logging.Log; @@ -95,8 +99,7 @@ public class ExportUIHandler extends AdminTabUIHandler { // } selectTabUI.getSelectionModel().clearSelection(); - // FIXME -// selectTabUI.getSelectionRenderer().setExistingTripIds(model.getExportModel().getExistingTripIds()); + selectTabUI.getSelectionRenderer().setExistingTrips(model.getExportModel().getExistingTrips()); updateSelectionModel(selectTabUI); } }); @@ -195,9 +198,9 @@ public class ExportUIHandler extends AdminTabUIHandler { DecoratorService decoratorProvider = getDecoratorService(); ExportModel stepModel = model.getExportModel(); - Decorator<ProgramDto> pDecorator = decoratorProvider.getDecoratorByType(ProgramDto.class); - Decorator<TripLonglineDto> tripLonglineDecorator = decoratorProvider.getDecoratorByType(TripLonglineDto.class); - Decorator<TripSeineDto> tripSeineDecorator = decoratorProvider.getDecoratorByType(TripSeineDto.class); + Decorator<ReferenceDto> pDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, ProgramDto.class.getSimpleName()); + Decorator<ReferenceDto> tripLonglineDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, TripLonglineDto.class.getSimpleName()); + Decorator<ReferenceDto> tripSeineDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, TripSeineDto.class.getSimpleName()); stepModel.setProgramDecorator(pDecorator); stepModel.setTripSeineDecorator(tripSeineDecorator); stepModel.setTripLonglineDecorator(tripLonglineDecorator); @@ -227,9 +230,8 @@ public class ExportUIHandler extends AdminTabUIHandler { sendMessage(t("observe.message.exportData.prepare.data")); // récupération des couples (program, marees) sur la base temporaire - //FIXME -// DataSelectionModel selectionModel = model.getSelectionDataModel(); -// stepModel.setData(selectionModel); + DataSelectionModel selectionModel = model.getSelectionDataModel(); + stepModel.setData(selectionModel); List<TripEntry> entries = stepModel.getData(); @@ -269,53 +271,64 @@ public class ExportUIHandler extends AdminTabUIHandler { ObserveSwingDataSource centralSource = stepModel.getCentralSource(); ObserveSwingDataSource source = stepModel.getSource(); + ReferenceDto<ProgramDto> program = tripEntry.getProgram(); + ReferenceDto trip = tripEntry.getTrip(); + String tripId = trip.getId(); - //FIXME -// Trip trip = tripEntry.getTrip(); -// String tripId = trip.getTopiaId(); -// -// String tripDecorated = stepModel.decorate(trip); -// String programDecorated = stepModel.decorate(trip.getProgram()); -// -// if (tripEntry.isExist()) { -// -// //TODO afficher un message de confirmation pour l'écrasement des marées sur la base distante -// // on supprime les marées à écraser de la base distante -// -// if (log.isInfoEnabled()) { -// log.info(tripId + " -- " + t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); -// } -// sendMessage(t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); -// -// getDataService().deleteTrip(centralSource, tripId); -// -// } -// -// if (log.isInfoEnabled()) { -// log.info(tripId + " -- " + t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); -// } -// sendMessage(t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); -// -// try { -// replicateData(source, centralSource, tripId); -// } catch (Exception e) { -// //FIXME 20100726 : il faut supprimer tous les objets crées pour cette marée -// -//// tx = beginTransaction(centralSource, txName); -//// -//// // on supprime la maree qui n'a pas pu etre importee -//// try { -//// TopiaDAO<Trip> dao = ObserveDAOHelper.getTripSeineDAO(tx); -//// // on recharge la données depuis la base centrale -//// m = dao.findByTopiaId(m.getTopiaId()); -//// dao.delete(m); -//// commitTransaction(centralSource, tx, txName); -//// } finally { -//// closeTransaction(centralSource, tx, txName); -//// } + String tripDecorated = stepModel.decorate(trip); + String programDecorated = stepModel.decorate(program); + + if (tripEntry.isExist()) { + + //TODO afficher un message de confirmation pour l'écrasement des marées sur la base distante + // on supprime les marées à écraser de la base distante + + if (log.isInfoEnabled()) { + log.info(tripId + " -- " + t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); + } + sendMessage(t("observe.message.exportData.delete.remote.maree", tripDecorated, programDecorated)); + + if (TripSeineDto.class.isAssignableFrom(trip.getType())) { + + TripSeineService tripSeineService = centralSource.newService(TripSeineService.class); + + tripSeineService.delete(tripId); + + } else if (TripLonglineDto.class.isAssignableFrom(trip.getType())) { + + TripLonglineService tripLonglineService = centralSource.newService(TripLonglineService.class); + + tripLonglineService.delete(tripId); + + } + + } + + if (log.isInfoEnabled()) { + log.info(tripId + " -- " + t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); + } + sendMessage(t("observe.message.exportData.replicate.maree", tripDecorated, programDecorated)); + + try { + replicateData(source, centralSource, tripId); + } catch (Exception e) { + //FIXME 20100726 : il faut supprimer tous les objets crées pour cette marée + +// tx = beginTransaction(centralSource, txName); // -// throw e; -// } +// // on supprime la maree qui n'a pas pu etre importee +// try { +// TopiaDAO<Trip> dao = ObserveDAOHelper.getTripSeineDAO(tx); +// // on recharge la données depuis la base centrale +// m = dao.findByTopiaId(m.getTopiaId()); +// dao.delete(m); +// commitTransaction(centralSource, tx, txName); +// } finally { +// closeTransaction(centralSource, tx, txName); +// } + + throw e; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java index 3e96d54..32a35bf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java @@ -21,8 +21,8 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ProgramDto; import java.io.Serializable; @@ -31,25 +31,25 @@ public class TripEntry implements Serializable { private static final long serialVersionUID = 1L; - //FIXME -// protected final Trip trip; + protected final ReferenceDto<ProgramDto> program; + + protected final ReferenceDto trip; protected final boolean exist; - public TripEntry(TripLonglineDto trip, boolean exist) { -// this.trip = trip; + public TripEntry(ReferenceDto<ProgramDto> program, ReferenceDto trip, boolean exist) { + this.program = program; + this.trip = trip; this.exist = exist; } - public TripEntry(TripSeineDto trip, boolean exist) { -// this.trip = trip; - this.exist = exist; + public ReferenceDto<ProgramDto> getProgram() { + return program; } - //FIXME -// public Trip getTrip() { -// return trip; -// } + public ReferenceDto getTrip() { + return trip; + } public boolean isExist() { return exist; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java index d05c654..7a9f61b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.ReferenceDto; import javax.swing.table.AbstractTableModel; import java.util.HashSet; @@ -39,9 +39,8 @@ public class TripToExportTableModel extends AbstractTableModel { protected static final Class<?>[] COLUMN_CLASSES = { Boolean.class, - ProgramDto.class, - //FIXME -// Trip.class, + ReferenceDto.class, //program + ReferenceDto.class, // trip Boolean.class }; @@ -115,12 +114,10 @@ public class TripToExportTableModel extends AbstractTableModel { value = selected.contains(rowIndex); break; case 1: - //FIXME -// value = tripEntry.getTrip().getProgram(); + value = tripEntry.getProgram(); break; case 2: - //FIXME -// value = tripEntry.getTrip(); + value = tripEntry.getTrip(); break; case 3: value = tripEntry.isExist(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index 961c0ec..424329a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -1638,6 +1638,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { dst.setSecurityModel(getSecurityModel()); dst.setAdminAction(getAdminAction()); dst.setConnexionStatus(getConnexionStatus()); + dst.setDataSourceInformation(getDataSourceInformation()); } public void firePgConfigChanged(String propertyName, @@ -1918,4 +1919,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { public ObserveDataSourceInformation getDataSourceInformation() { return dataSourceInformation; } + + public void setDataSourceInformation(ObserveDataSourceInformation dataSourceInformation) { + this.dataSourceInformation = dataSourceInformation; + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java index 763b6fa..f668715 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.ui.tree; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -49,14 +50,14 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender private static final Log log = LogFactory.getLog(DataSelectionTreeCellRenderer.class); - protected List<String> existingTripIds; + protected List<ReferenceDto> existingTrips; - public List<String> getExistingTripIds() { - return existingTripIds; + public List<ReferenceDto> getExistingTrips() { + return existingTrips; } - public void setExistingTripIds(List<String> existingMareeIds) { - this.existingTripIds = existingMareeIds; + public void setExistingTrips(List<ReferenceDto> existingTrips) { + this.existingTrips = existingTrips; } public DataSelectionTreeCellRenderer() { @@ -110,9 +111,9 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender if (TripSeineDto.class.equals(node.getInternalClass())) { - if (existingTripIds != null) { + if (existingTrips != null) { - if (existingTripIds.contains(node.getId())) { + if (existingTrips.contains(((TripSeineNode)node).getEntity())) { text = t("observe.comon.exist.on.remote", text); exist = true; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm