This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 4d874c511a5292ffa19434b42b25cb5c399665e2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:19:58 2015 +0100 Impact des modifications sur l'application swing + début de revue de code sur la partie gestion de l'arbre de navigation, reste encore pas mal de boulot --- .../observe/ObserveSwingApplicationContext.java | 40 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 99 ++-- .../java/fr/ird/observe/ui/DecoratorService.java | 388 ++++++++------- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 10 +- .../ird/observe/ui/actions/ShowConfigAction.java | 42 +- .../shared/MoveActivityLonglinesUIAction.java | 15 +- .../actions/shared/MoveActivitySeinesUIAction.java | 11 +- .../ui/actions/shared/MoveRoutesUIAction.java | 17 +- .../actions/shared/MoveTripLonglinesUIAction.java | 4 +- .../ui/actions/shared/MoveTripSeinesUIAction.java | 4 +- .../ui/actions/shared/MoveTripsUIAction.java | 38 +- .../observe/ui/actions/shared/ReOpenUIAction.java | 5 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 33 +- .../ui/admin/consolidate/ConsolidateUIHandler.java | 14 +- .../ird/observe/ui/admin/export/ExportModel.java | 35 +- .../observe/ui/admin/export/ExportUIHandler.java | 18 +- .../fr/ird/observe/ui/admin/export/TripEntry.java | 13 +- .../ui/admin/export/TripToExportTableModel.java | 13 +- .../observe/ui/admin/report/ReportUIHandler.java | 32 +- .../validate/ValidateEntityListCellRenderer.java | 21 +- .../observe/ui/admin/validate/ValidateModel.java | 11 +- .../ui/admin/validate/ValidateUIHandler.java | 26 +- .../ird/observe/ui/content/ContentUIHandler.java | 525 +++++++++++++-------- .../observe/ui/content/ContentUIInitializer.java | 401 ++++++++-------- .../fr/ird/observe/ui/content/ContentUIModel.java | 118 +++-- .../ui/content/impl/longline/BranchlineUI.jaxx | 16 +- .../LonglineDetailCompositionUIHandler.java | 13 +- .../impl/longline/LonglineGlobalCompositionUI.css | 2 +- .../impl/longline/LonglineGlobalCompositionUI.jaxx | 5 +- .../LonglineGlobalCompositionUIHandler.java | 24 +- .../ui/content/impl/longline/SetLonglineUI.jaxx | 10 +- .../impl/longline/SetLonglineUIHandler.java | 22 +- .../impl/seine/ActivitySeineObservedSystemUI.css | 2 +- .../impl/seine/ActivitySeineObservedSystemUI.jaxx | 6 +- .../ActivitySeineObservedSystemUIHandler.java | 8 +- .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 15 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 24 +- .../ui/content/impl/seine/FloatingObjectUI.jaxx | 8 +- .../impl/seine/FloatingObjectUIHandler.java | 21 +- .../observe/ui/content/impl/seine/SetSeineUI.jaxx | 4 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 32 +- .../ird/observe/ui/content/list/ContentListUI.css | 2 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 15 +- .../ui/content/list/ContentListUIHandler.java | 23 +- .../ui/content/list/ContentListUIModel.java | 21 +- .../impl/longline/ActivityLonglinesUIHandler.java | 20 +- .../list/impl/longline/TripLonglinesUI.jaxx | 1 - .../list/impl/longline/TripLonglinesUIHandler.java | 18 +- .../list/impl/longline/TripLonglinesUIModel.java | 4 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 18 +- .../content/list/impl/seine/RoutesUIHandler.java | 18 +- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 1 - .../list/impl/seine/TripSeinesUIHandler.java | 18 +- .../content/list/impl/seine/TripSeinesUIModel.java | 9 + .../ui/content/open/ContentOpenableUIHandler.java | 2 +- .../open/impl/longline/ActivityLonglineUI.jaxx | 6 +- .../impl/longline/ActivityLonglineUIHandler.java | 12 +- .../impl/longline/ActivityLonglineUIModel.java | 4 +- .../content/open/impl/longline/TripLonglineUI.jaxx | 18 +- .../open/impl/longline/TripLonglineUIHandler.java | 114 +++-- .../content/open/impl/seine/ActivitySeineUI.jaxx | 18 +- .../open/impl/seine/ActivitySeineUIHandler.java | 21 +- .../open/impl/seine/ActivitySeineUIModel.java | 4 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 21 +- .../ui/content/open/impl/seine/TripSeineUI.jaxx | 16 +- .../open/impl/seine/TripSeineUIHandler.java | 112 +++-- .../observe/ui/content/ref/ContentReferenceUI.css | 2 +- .../observe/ui/content/ref/ContentReferenceUI.jaxx | 6 +- .../ui/content/ref/ContentReferenceUIHandler.java | 151 ++---- .../ui/content/ref/impl/GearCaracteristicUI.jaxx | 4 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.css | 2 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.jaxx | 6 +- .../observe/ui/content/ref/impl/GearUIHandler.java | 6 +- .../ird/observe/ui/content/ref/impl/HarbourUI.jaxx | 4 +- .../content/ref/impl/LengthWeightParameterUI.jaxx | 8 +- .../ref/impl/LengthWeightParameterUIHandler.java | 4 +- .../observe/ui/content/ref/impl/OrganismUI.jaxx | 4 +- .../ird/observe/ui/content/ref/impl/PersonUI.jaxx | 4 +- .../ird/observe/ui/content/ref/impl/ProgramUI.jaxx | 6 +- .../ui/content/ref/impl/ProgramUIHandler.java | 4 +- .../observe/ui/content/ref/impl/SpeciesListUI.css | 2 +- .../observe/ui/content/ref/impl/SpeciesListUI.jaxx | 8 +- .../ui/content/ref/impl/SpeciesListUIHandler.java | 4 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.css | 2 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.jaxx | 10 +- .../ui/content/ref/impl/SpeciesUIHandler.java | 4 +- .../ird/observe/ui/content/ref/impl/VesselUI.jaxx | 8 +- .../ui/content/ref/impl/VesselUIHandler.java | 4 +- .../content/ref/impl/seine/WeightCategoryUI.jaxx | 4 +- .../ui/content/table/ContentTableUIHandler.java | 18 +- .../table/impl/longline/BaitsCompositionUI.jaxx | 6 +- .../impl/longline/BranchlinesCompositionUI.jaxx | 6 +- .../table/impl/longline/CatchLonglineUI.css | 2 +- .../table/impl/longline/CatchLonglineUI.jaxx | 38 +- .../impl/longline/CatchLonglineUIHandler.java | 386 ++++++++------- .../content/table/impl/longline/EncounterUI.jaxx | 6 +- .../table/impl/longline/EncounterUIHandler.java | 8 +- .../impl/longline/FloatlinesCompositionUI.jaxx | 4 +- .../GearUseFeaturesLonglineTableModel.java | 4 +- .../impl/longline/GearUseFeaturesLonglineUI.jaxx | 4 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 241 +++++----- ...rUseFeaturesMeasurementLonglinesTableModel.java | 4 +- .../table/impl/longline/HooksCompositionUI.jaxx | 6 +- .../impl/longline/LonglinePositionHelper.java | 111 ++--- .../content/table/impl/longline/SensorUsedUI.jaxx | 8 +- .../table/impl/longline/SensorUsedUIHandler.java | 8 +- .../impl/longline/SizeMeasuresTableModel.java | 4 +- .../ui/content/table/impl/longline/TdrUI.css | 2 +- .../ui/content/table/impl/longline/TdrUI.jaxx | 21 +- .../content/table/impl/longline/TdrUIHandler.java | 16 +- .../impl/longline/WeightMeasuresTableModel.java | 4 +- .../seine/GearUseFeatureMeasurementCellEditor.java | 8 +- .../GearUseFeatureMeasurementCellRenderer.java | 8 +- ...GearUseFeaturesMeasurementSeinesTableModel.java | 4 +- .../impl/seine/GearUseFeaturesSeineTableModel.java | 4 +- .../table/impl/seine/GearUseFeaturesSeineUI.jaxx | 5 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 243 +++++----- .../content/table/impl/seine/NonTargetCatchUI.jaxx | 9 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 31 +- .../table/impl/seine/NonTargetCatchUIModel.java | 22 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 9 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 16 +- .../table/impl/seine/ObjectObservedSpeciesUI.jaxx | 7 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 8 +- .../table/impl/seine/ObjectSchoolEstimateUI.jaxx | 5 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 8 +- .../content/table/impl/seine/SchoolEstimateUI.jaxx | 5 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 23 +- .../ui/content/table/impl/seine/TargetCatchUI.jaxx | 7 +- .../table/impl/seine/TargetCatchUIHandler.java | 32 +- .../table/impl/seine/TargetDiscardCatchUI.jaxx | 9 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 104 ++-- .../content/table/impl/seine/TargetSampleUI.jaxx | 5 +- .../table/impl/seine/TargetSampleUIHandler.java | 12 +- .../ird/observe/ui/storage/ObstunaAdminAction.java | 4 +- .../ui/storage/StorageBackupUILauncher.java | 8 +- .../ird/observe/ui/storage/StorageUIHandler.java | 10 +- .../ui/storage/tabs/DataSelectionModel.java | 81 ++-- .../ui/tree/AbstractObserveTreeCellRenderer.java | 29 +- ...pport.java => AbstrctReferenceNodeSupport.java} | 63 +-- .../ird/observe/ui/tree/ActivityLonglineNode.java | 10 +- .../fr/ird/observe/ui/tree/ActivitySeineNode.java | 15 +- ...eSupport.java => DataReferenceNodeSupport.java} | 79 +--- .../ui/tree/DataSelectionTreeCellRenderer.java | 16 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 35 +- .../observe/ui/tree/FloatingObjectSeineNode.java | 13 +- .../fr/ird/observe/ui/tree/ObserveTreeBridge.java | 2 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 131 +++-- .../ird/observe/ui/tree/ProgramLonglineNode.java | 10 +- .../fr/ird/observe/ui/tree/ProgramSeineNode.java | 10 +- .../ui/tree/ReferentialReferenceNodeSupport.java | 84 ++++ .../fr/ird/observe/ui/tree/RouteSeineNode.java | 10 +- .../fr/ird/observe/ui/tree/SetLonglineNode.java | 10 +- .../java/fr/ird/observe/ui/tree/SetSeineNode.java | 10 +- .../fr/ird/observe/ui/tree/TripLonglineNode.java | 10 +- .../java/fr/ird/observe/ui/tree/TripSeineNode.java | 10 +- .../loadors/AbstractDataReferenceChildLoador.java | 17 + .../loadors/AbstractReferenceDtoChildLoador.java | 17 - .../loadors/ActivityLonglineNodeChildLoador.java | 8 +- .../loadors/ActivityLonglinesNodeChildLoador.java | 19 +- .../tree/loadors/ActivitySeineNodeChildLoador.java | 22 +- .../loadors/ActivitySeinesNodeChildLoador.java | 20 +- .../loadors/FloatingObjectNodeChildLoador.java | 2 +- .../loadors/ProgramLonglineNodeChildLoador.java | 24 +- .../tree/loadors/ProgramSeineNodeChildLoador.java | 24 +- .../loadors/ReferenceCommonNodeChildLoador.java | 6 +- .../loadors/ReferenceLonglineNodeChildLoador.java | 6 +- .../loadors/ReferenceSeineNodeChildLoador.java | 6 +- .../ui/tree/loadors/RootNodeChildLoador.java | 21 +- .../ui/tree/loadors/RoutesNodeChildLoador.java | 19 +- .../MoveActivityLonglineNodeMenuPopulator.java | 5 +- .../menu/MoveActivitySeineNodeMenuPopulator.java | 5 +- .../ui/tree/menu/MoveRouteNodeMenuPopulator.java | 5 +- .../ui/tree/menu/MoveTripNodeMenuPopulator.java | 5 +- .../ird/observe/ui/util/DecoratedNodeEntity.java | 5 +- .../ui/util/decorator/DataReferenceDecorator.java | 45 ++ .../ui/util/decorator/ObserveDecorator.java | 14 +- ...tor.java => ReferentialReferenceDecorator.java} | 14 +- .../dto/AbstractEspeceFieldDtoValidator.java | 6 +- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 8 +- .../dto/SetLonglineUniqueNumberDtoValidator.java | 4 +- 181 files changed, 2775 insertions(+), 2611 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 16ac1f0..73c9c02 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -38,6 +38,8 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -200,6 +202,8 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im public static final JAXXContextEntryDef<List<String>> NODE_TO_RESELECT_ENTRY_DEF = UIHelper.newListContextEntryDef("nodeToReselect"); + protected final ReferenceBinderEngine referenceBinderEngine = new ReferenceBinderEngineSupplier().get(); + public ObserveSwingApplicationConfig getConfig() { return CONFIG_ENTRY_DEF.getContextValue(this); } @@ -247,6 +251,11 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return dataSource; } + public ReferenceBinderEngine getReferenceBinderEngine() { + + return referenceBinderEngine; + } + protected List<ObserveSwingDataSource> getAllDataSource() { List<ObserveSwingDataSource> dataSources = SWING_DATA_SOURCE_LIST_ENTRY_DEF.getContextValue(this); if (dataSources == null) { @@ -352,37 +361,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return service; } - public final ObserveSwingBinderService getBinderService() { - ObserveSwingBinderService service = BINDER_SERVICE_ENTRY_DEF.getContextValue(this); - if (service == null) { - service = new ObserveSwingBinderService(); - BINDER_SERVICE_ENTRY_DEF.setContextValue(this, service); - } - return service; - } - - public final GPSService getGPSService() { - GPSService service = - GPS_SERVICE_ENTRY_DEF.getContextValue(this); - if (service == null) { - service = new GPSService(); - GPS_SERVICE_ENTRY_DEF.setContextValue(this, service); - } - return service; - } - - //FIXME -// public ConsolidateDataService getConsolidateDataService() { -// -// ConsolidateDataService service = -// CONSOLIDATE_DATA_SERVICE_ENTRY_DEF.getContextValue(this); -// if (service == null) { -// service = new ConsolidateDataService(); -// CONSOLIDATE_DATA_SERVICE_ENTRY_DEF.setContextValue(this, service); -// } -// return service; -// } - public final DataContext getDataContext() { DataContext result = DATA_CONTEXT_ENTRY_DEF.getContextValue(this); if (result == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index 6d1312d..738ede9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -2,6 +2,7 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -19,16 +20,18 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; -import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ObserveReferentialCache; -import fr.ird.observe.services.service.ReferenceSetService; +import fr.ird.observe.services.service.ReferentialService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -260,12 +263,20 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } - public void loadReferenceSets(FormDto<?> formDto) { + public ImmutableMap<Class<?>, ReferentialReferenceSet<?>> updateReferentialReferenceSetsCache(String referentialReferenceSetsRequestName) { + + ReferentialService referentialService = newService(ReferentialService.class); + return referentialCache.loadReferenceSets(referentialService, referentialReferenceSetsRequestName); + + } + + public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(Class<D> type) { checkIsOpen(); - ReferenceSetService referenceSetService = newService(ReferenceSetService.class); - referentialCache.loadReferenceSets(referenceSetService, formDto); + ReferentialService referentialService = newService(ReferentialService.class); + ReferentialReferenceSet<D> referentialReferenceSet = referentialCache.getReferentialReferenceSet(referentialService, type); + return referentialReferenceSet.getReferences(); } @@ -283,41 +294,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return service; } - protected ObserveServiceInitializer getObserveServiceInitializer() { - - ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); - - ObserveSwingApplicationConfig config = context.getConfig(); - - Locale locale = config.getLocale(); - - File tmpDirectory = config.getTmpDirectory(); - - ReferentialLocale referentialLocale = ReferentialLocale.valueOf(locale); - - ObserveDataSourceConfigurationAndConnection configurationAndConnection = new ObserveDataSourceConfigurationAndConnection(configuration, connection); - - ObserveSpeciesListConfiguration speciesListConfiguration = new ObserveSpeciesListConfiguration(); - speciesListConfiguration.setSpeciesListLonglineCatchId(config.getSpeciesListLonglineCatchId()); - speciesListConfiguration.setSpeciesListLonglineDepredatorId(config.getSpeciesListLonglineDepredatorId()); - speciesListConfiguration.setSpeciesListLonglineEncounterId(config.getSpeciesListLonglineEncounterId()); - speciesListConfiguration.setSpeciesListSeineNonTargetCatchId(config.getSpeciesListSeineNonTargetCatchId()); - speciesListConfiguration.setSpeciesListSeineObjectObservedSpeciesId(config.getSpeciesListSeineObjectObservedSpeciesId()); - speciesListConfiguration.setSpeciesListSeineObjectSchoolEstimateId(config.getSpeciesListSeineObjectSchoolEstimateId()); - speciesListConfiguration.setSpeciesListSeineSchoolEstimateId(config.getSpeciesListSeineSchoolEstimateId()); - speciesListConfiguration.setSpeciesListSeineTargetCatchId(config.getSpeciesListSeineTargetCatchId()); - - ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( - locale, - referentialLocale, - tmpDirectory, - speciesListConfiguration, - configurationAndConnection); - - return observeServiceInitializer; - } - - public ObserveDataSourceInformation checkCanConnect() throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { checkIsNotAlreadyOpen(); @@ -342,11 +318,14 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return configuration instanceof ObserveDataSourceConfigurationRest; } - public void addObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { listenerList.add(ObserveSwingDataSourceListener.class, listener); } + public ObserveSwingDataSourceListener[] getObserveSwingDataSourceListener() { + return listenerList.getListeners(ObserveSwingDataSourceListener.class); + } + // public boolean containsObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { // ObserveSwingDataSourceListener[] listeners = getObserveSwingDataSourceListener(); // for (ObserveSwingDataSourceListener l : listeners) { @@ -357,10 +336,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements // return false; // } - public ObserveSwingDataSourceListener[] getObserveSwingDataSourceListener() { - return listenerList.getListeners(ObserveSwingDataSourceListener.class); - } - public void removeObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { if (log.isInfoEnabled()) { log.info("removing listener " + listener); @@ -386,6 +361,40 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } } + protected ObserveServiceInitializer getObserveServiceInitializer() { + + ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); + + ObserveSwingApplicationConfig config = context.getConfig(); + + Locale locale = config.getLocale(); + + File tmpDirectory = config.getTmpDirectory(); + + ReferentialLocale referentialLocale = ReferentialLocale.valueOf(locale); + + ObserveDataSourceConfigurationAndConnection configurationAndConnection = new ObserveDataSourceConfigurationAndConnection(configuration, connection); + + ObserveSpeciesListConfiguration speciesListConfiguration = new ObserveSpeciesListConfiguration(); + speciesListConfiguration.setSpeciesListLonglineCatchId(config.getSpeciesListLonglineCatchId()); + speciesListConfiguration.setSpeciesListLonglineDepredatorId(config.getSpeciesListLonglineDepredatorId()); + speciesListConfiguration.setSpeciesListLonglineEncounterId(config.getSpeciesListLonglineEncounterId()); + speciesListConfiguration.setSpeciesListSeineNonTargetCatchId(config.getSpeciesListSeineNonTargetCatchId()); + speciesListConfiguration.setSpeciesListSeineObjectObservedSpeciesId(config.getSpeciesListSeineObjectObservedSpeciesId()); + speciesListConfiguration.setSpeciesListSeineObjectSchoolEstimateId(config.getSpeciesListSeineObjectSchoolEstimateId()); + speciesListConfiguration.setSpeciesListSeineSchoolEstimateId(config.getSpeciesListSeineSchoolEstimateId()); + speciesListConfiguration.setSpeciesListSeineTargetCatchId(config.getSpeciesListSeineTargetCatchId()); + + ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( + locale, + referentialLocale, + tmpDirectory, + speciesListConfiguration, + configurationAndConnection); + + return observeServiceInitializer; + } + protected void fireOpening() { ObserveSwingDataSourceEvent evt = new ObserveSwingDataSourceEvent(this); for (ObserveSwingDataSourceListener listener : getObserveSwingDataSourceListener()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index 172ea36..db34b07 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -24,8 +24,9 @@ package fr.ird.observe.ui; import com.google.common.collect.Lists; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; @@ -48,7 +49,7 @@ import fr.ird.observe.services.dto.referential.OrganismDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.SpeciesGroupDto; @@ -109,12 +110,13 @@ import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import fr.ird.observe.ui.util.decorator.LengthWeightParameterDecorator; import fr.ird.observe.ui.util.decorator.NonTargetCatchDecorator; import fr.ird.observe.ui.util.decorator.NonTargetLengthDecorator; import fr.ird.observe.ui.util.decorator.ObjectObservedSpeciesDecorator; import fr.ird.observe.ui.util.decorator.ObserveDecorator; -import fr.ird.observe.ui.util.decorator.ReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.decorator.SpeciesDecorator; import fr.ird.observe.ui.util.decorator.TargetCatchDecorator; import fr.ird.observe.ui.util.decorator.TripLonglineDecorator; @@ -238,16 +240,8 @@ public class DecoratorService extends DecoratorProvider { } public String decorate(Object o) { - //FIXME - if (o == null) { - return null; - } - Decorator<Object> decorator = getDecorator(o); - String result = ""; - if (decorator != null) { - result = decorator.toString(o); - } - return result; + return decorate(null, o); + } public String decorate(String context, Object o) { @@ -421,140 +415,143 @@ public class DecoratorService extends DecoratorProvider { Locale locale = referentialLocale.getLocale(); String libelle = referentialLocale.getLibelle(); - registerReferenceDtoDecorator(ProgramDto.class, - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); - registerReferenceDtoDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); - registerReferenceDtoDecorator(ActivitySeineDto.class, - "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", - "${time}$tH:%1$tM##${vesselActivitySeine}$s", - " - "); - registerObserveDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); - - registerReferenceDtoDecorator(ActivityLonglineDto.class, - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", - " - "); - registerReferenceDtoDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); - registerReferentialReferenceDtoDecorator(SexDto.class, libelle); + + registerReferentialAndReferentialReferenceDecorator(ProgramDto.class, + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); + registerReferentialAndReferentialReferenceDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); + registerReferentialAndReferentialReferenceDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); + registerReferentialAndReferentialReferenceDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); + + registerReferentialAndReferentialReferenceDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); + registerReferentialAndReferentialReferenceDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); + // Species decorator + String oldCode = l(locale, "observe.common.oldCode3L"); + registerDecorator(new SpeciesDecorator(oldCode)); + registerReferentialReferenceDecorator(SpeciesDto.class, + "${faoCode}$s##${scientificLabel}$s##" + oldCode + " ${homeId}$s"); + // LengthWeightParameter decorator + registerDecorator(new LengthWeightParameterDecorator()); + registerReferentialReferenceDecorator(LengthWeightParameterDto.class, + "${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); + + registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); //FIXME Use startDate - endDate - registerReferentialReferenceDtoDecorator(FpaZoneDto.class, libelle); - registerReferentialReferenceDtoDecorator(OceanDto.class, libelle); - registerReferentialReferenceDtoDecorator(DetectionModeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselDto.class, libelle); - registerReferentialReferenceDtoDecorator(CountryDto.class, libelle); - registerReferenceDtoDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); - registerReferentialReferenceDtoDecorator(VesselTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselActivitySeineDto.class, libelle); - registerReferentialReferenceDtoDecorator(SurroundingActivityDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObservedSystemDto.class, libelle); - registerReferenceDtoDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); - registerReferenceDtoDecorator(FloatingObjectDto.class, "DCP ${objectType/" + libelle + "}$s", "DCP ${objectType}$s", " - "); + registerDefaultReferentialAndReferentialReferenceDecorator(FpaZoneDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(OceanDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(DetectionModeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(CountryDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivitySeineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SurroundingActivityDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObservedSystemDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectFateDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(OrganismDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectOperationDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyOperationDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNullSetDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNoFishingDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(WeightCategoryDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForDiscardDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesFateDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesGroupDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesListDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitHaulingStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitSettingStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(CatchFateLonglineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(EncounterTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HealthnessDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookSizeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ItemVerticalPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ItemHorizontalPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksColorDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LineTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(MaturityStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(MitigationTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SensorDataFormatDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SensorTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SettingShapeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SizeMeasureTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(StomacFullnessDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TripTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivityLonglineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(WeightMeasureTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearDto.class, libelle); + + // Data decorators + + registerDataAndDataReferenceDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); + registerDataAndDataReferenceDecorator(ActivitySeineDto.class, + "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", + "${time}$tH:%1$tM##${vesselActivitySeine}$s", + " - "); + registerDataAndDataReferenceDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); + + registerDataAndDataReferenceDecorator(ActivityLonglineDto.class, + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", + " - "); //FIXME Remove this - registerReferenceDtoDecorator(SetSeineDto.class, t("observe.common.setSeine")); + registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.common.setSeine")); //FIXME Remove this - registerReferenceDtoDecorator(SetLonglineDto.class, t("observe.common.setLongline")); - registerReferentialReferenceDtoDecorator(ObjectFateDto.class, libelle); - registerReferentialReferenceDtoDecorator(OrganismDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObjectTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObjectOperationDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(TransmittingBuoyTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(TransmittingBuoyOperationDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForNullSetDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForNoFishingDto.class, libelle); - registerReferentialReferenceDtoDecorator(WeightCategoryDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForDiscardDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesFateDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesGroupDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesListDto.class, libelle); - - registerReferentialReferenceDtoDecorator(BaitHaulingStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(BaitSettingStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(BaitTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(CatchFateLonglineDto.class, libelle); - registerReferentialReferenceDtoDecorator(EncounterTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(HealthnessDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookSizeDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(ItemVerticalPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(ItemHorizontalPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(LightsticksColorDto.class, libelle); - registerReferentialReferenceDtoDecorator(LightsticksTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(LineTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(MaturityStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(MitigationTypeDto.class, libelle); - registerReferenceDtoDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); - registerReferentialReferenceDtoDecorator(SensorDataFormatDto.class, libelle); - registerReferentialReferenceDtoDecorator(SensorTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(SettingShapeDto.class, libelle); - registerReferentialReferenceDtoDecorator(SizeMeasureTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(StomacFullnessDto.class, libelle); - registerReferentialReferenceDtoDecorator(TripTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselActivityLonglineDto.class, libelle); - registerReferentialReferenceDtoDecorator(WeightMeasureTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearCaracteristicTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearCaracteristicDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearDto.class, libelle); - - registerReferenceDtoDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); - - registerReferenceDtoDecorator(ObjectSchoolEstimateDto.class, - "${species/scientificLabel}$s##${weight}$d", - "${species}$s##${weight}$d"); - registerReferenceDtoDecorator(SchoolEstimateDto.class, - "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", - "${species}$s##${totalWeight}$d##${meanWeight}$d"); - - registerReferenceDtoDecorator( - TargetLengthDto.class, - "${species/scientificLabel}$s##${length}$f##${count}$d", - "${species}$s##${length}$f##${count}$d"); - - registerObserveDecorator( - TransmittingBuoyDto.class, - "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); + registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.common.setLongline")); + + registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, + "${species/scientificLabel}$s##${weight}$d", + "${species}$s##${weight}$d"); + registerDataAndDataReferenceDecorator(SchoolEstimateDto.class, + "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", + "${species}$s##${totalWeight}$d##${meanWeight}$d"); + + registerDataAndDataReferenceDecorator(TargetLengthDto.class, + "${species/scientificLabel}$s##${length}$f##${count}$d", + "${species}$s##${length}$f##${count}$d"); + + registerObserveDecorator(TransmittingBuoyDto.class, + "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); + + registerDataAndDataReferenceDecorator(FloatingObjectDto.class, + "DCP ${objectType/" + libelle + "}$s", "DCP ${objectType}$s", " - "); String settingIdentifier = l(locale, "observe.common.settingIdentifier"); String haulingIdentifier = l(locale, "observe.common.haulingIdentifier"); - registerReferenceDtoDecorator( - SectionDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(SectionDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator( - BasketDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(BasketDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator( - BranchlineDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(BranchlineDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); // TripSeine decorator registerDecorator(new TripSeineDecorator()); - registerDecorator(TripSeineDto.class.getSimpleName(), - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + registerDataReferenceDecorator(TripSeineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); // TripLongline decorator registerDecorator(new TripLonglineDecorator()); - registerDecorator(TripLonglineDto.class.getSimpleName(), - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + registerDataReferenceDecorator(TripLonglineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); // Trip commun decorator registerDecorator(TRIP_CONTEXT, - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); - - - // Species decorator - String oldCode = l(locale, "observe.common.oldCode3L"); - registerDecorator(new SpeciesDecorator(oldCode)); - registerDecorator(SpeciesDto.class.getSimpleName(), - new ReferenceDecorator("${faoCode}$s##${scientificLabel}$s##" + oldCode + " ${homeId}$s")); + new DataReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); // ObjectObservedSpecies decorator registerDecorator(new ObjectObservedSpeciesDecorator()); @@ -564,17 +561,22 @@ public class DecoratorService extends DecoratorProvider { // NonTargetCatch decorator registerDecorator(new NonTargetCatchDecorator()); - registerDecorator(NonTargetCatchDto.class.getSimpleName(), - new ReferenceDecorator("${species}$s##${speciesFate}$s")); + registerDataReferenceDecorator(NonTargetCatchDto.class, "${species}$s##${speciesFate}$s"); // NonTargetLength decorator registerDecorator(new NonTargetLengthDecorator()); - // LengthWeightParameter decorator - registerDecorator(new LengthWeightParameterDecorator()); - registerDecorator(LengthWeightParameterDto.class.getSimpleName(), - new ReferenceDecorator("${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + - t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s")); + registerDataAndDataReferenceDecorator(CatchLonglineDto.class, "${homeId}$s"); + + registerDataAndDataReferenceDecorator(TdrDto.class, "${homeId}$s"); + + //FIXME how to decorate ? + registerObserveDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); + + registerDataAndDataReferenceDecorator(EncounterDto.class, + "${encounterType/label}$s##${species/label}$s", + "${encounterType}$s##${species}$s", + " - "); // gps decorators registerObserveDecorator("activity-gps", @@ -593,73 +595,105 @@ public class DecoratorService extends DecoratorProvider { registerObserveDecorator(SectionTemplate.class, "${id}$s##${floatlineLengths}$s", " "); - registerReferenceDtoDecorator(CatchLonglineDto.class, "${homeId}$s"); - - registerReferenceDtoDecorator(TdrDto.class, "${homeId}$s"); - - //FIXME how to decorate ? - registerObserveDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); - - registerReferenceDtoDecorator(EncounterDto.class, - "${encounterType/label}$s##${species/label}$s", - "${encounterType}$s##${species}$s", - " - "); - } - public <T extends ReferentialDto> Decorator<ReferentialReferenceDto<T>> getReferentialReferenceDecorator(Class<T> referenceType) { - Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + public <T extends ReferentialDto> ReferentialReferenceDecorator<T> getReferentialReferenceDecorator(Class<T> referenceType) { + ReferentialReferenceDecorator<T> decorator = (ReferentialReferenceDecorator) getDecoratorByType(ReferentialReference.class, referenceType.getSimpleName()); return decorator; - } - public <T extends IdDto> Decorator<ReferenceDto<T>> getReferenceDecorator(Class<T> referenceType) { - Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType) { + DataReferenceDecorator<T> decorator = (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()); return decorator; + } + public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType, String context) { + DataReferenceDecorator<T> decorator = (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()+ context); + return decorator; } - protected <T extends ReferentialDto> void registerReferentialReferenceDtoDecorator(Class<T> referenceType, - String libelle) { - registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator("${code}$s##${label}$s")); + protected <T extends ReferentialDto> void registerDefaultReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String libelle) { + registerReferentialReferenceDecorator(referenceType, "${code}$s##${label}$s"); registerObserveDecorator(referenceType, "${code}$s##${" + libelle + "}$s", " "); } + protected <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression) { + registerReferentialReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression); + } + + protected <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerReferentialReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, expression); + } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, String expression) { - registerReferenceDtoDecorator(referenceType, expression, expression); + protected <T extends ReferentialDto> void registerReferentialReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName(), new ReferentialReferenceDecorator<>(referenceExpression)); } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, - String expression, - String referenceExpression) { - registerReferenceDtoDecorator(referenceType, expression, referenceExpression, " "); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(String context, Class<T> referenceType, String expression) { + registerDataReferenceDecorator(context, referenceType, expression); + registerObserveDecorator(context, referenceType, expression, " "); } - protected <T extends IdDto> void registerReferenceDtoDecorator(String context, - Class<T> referenceType, - String expression) { - registerReferenceDtoDecorator(context, referenceType, expression, expression, " "); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression) { + registerDataReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression, " "); } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, - String expression, - String referenceExpression, - String separator) { - registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator(referenceExpression)); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerDataReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, referenceExpression, " "); + } + + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression, String separator) { + registerDataReferenceDecorator(referenceType, referenceExpression); registerObserveDecorator(referenceType, expression, separator); } - protected <T extends IdDto> void registerReferenceDtoDecorator(String context, - Class<T> referenceType, - String expression, - String referenceExpression, - String separator) { - registerDecorator(referenceType.getSimpleName() + context, new ReferenceDecorator(referenceExpression)); - registerObserveDecorator(context, referenceType, expression, separator); + protected <T extends IdDto> void registerDataReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDataReferenceDecorator(null, referenceType, referenceExpression); + } + + protected <T extends IdDto> void registerDataReferenceDecorator(String context, Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName() + (context == null ? "" : context), new DataReferenceDecorator<>(referenceExpression)); } +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, String expression) { +// registerReferenceDtoDecorator(referenceType, expression, expression); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, +// String expression, +// String referenceExpression) { +// registerReferenceDtoDecorator(referenceType, expression, referenceExpression, " "); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(String context, +// Class<T> referenceType, +// String expression) { +// registerReferenceDtoDecorator(context, referenceType, expression, expression, " "); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, +// String expression, +// String referenceExpression, +// String separator) { +// registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator(referenceExpression)); +// registerObserveDecorator(referenceType, expression, separator); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(String context, +// Class<T> referenceType, +// String expression, +// String referenceExpression, +// String separator) { +// registerDecorator(referenceType.getSimpleName() + context, new ReferenceDecorator(referenceExpression)); +// registerObserveDecorator(context, referenceType, expression, separator); +// } + + protected <T> void registerObserveDecorator(Class<T> referenceType, String expression) { registerDecorator(new ObserveDecorator<>(referenceType, expression)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java index cb1c9ef..bc3220a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java @@ -22,6 +22,7 @@ package fr.ird.observe.ui; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.ui.util.table.ObserveBooleanTableCellRenderer; @@ -353,8 +354,15 @@ public class UIHelper extends SwingUtil { return new DecoratorTableCellRenderer(renderer, decorator); } + public static <T extends DataDto> DecoratorTableCellRenderer newDataReferenceDecorateTableCellRenderer(TableCellRenderer renderer, + Class<T> entityClass, + String context) { + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(entityClass,context); + return new DecoratorTableCellRenderer(renderer, decorator); + } + public static <T extends ReferentialDto> DecoratorTableCellRenderer newReferentialReferenceDecorateTableCellRenderer(TableCellRenderer renderer, - Class<T> entityClass) { + Class<T> entityClass) { Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(entityClass); return new DecoratorTableCellRenderer(renderer, decorator); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index bcda0e6..356bca6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -27,15 +27,12 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesListDto; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.ObserveMainUIHandler; import fr.ird.observe.ui.ObserveUICallback; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.config.ConfigUIHelper; import jaxx.runtime.swing.config.model.ConfigUIModelBuilder; @@ -122,12 +119,11 @@ public class ShowConfigAction extends AbstractAction { if (dataSource != null) { - ReferentialService service = dataSource.newService(ReferentialService.class); - ReferenceSetDto<SpeciesListDto> referentialReferenceSet = service.getReferentialReferenceSet(SpeciesListDto.class); - Set<ReferentialReferenceDto<SpeciesListDto>> speciesLists = (Set) referentialReferenceSet.getReference(); - Map<String, ReferentialReferenceDto<SpeciesListDto>> speciesListMap = IdDtos.splitById(speciesLists); + Set<ReferentialReference<SpeciesListDto>> speciesLists = dataSource.getReferentialReferences(SpeciesListDto.class); - Decorator<ReferentialReferenceDto<SpeciesListDto>> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(SpeciesListDto.class); + Map<String, ReferentialReference<SpeciesListDto>> speciesListMap = ReferentialReference.splitById(speciesLists); + + ReferentialReferenceDecorator<SpeciesListDto> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(SpeciesListDto.class); editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, referenceDecorator); renderer = new SpeciesListsTableCellRenderer(speciesListMap, referenceDecorator); @@ -413,11 +409,11 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; + private final Map<String, ReferentialReference<SpeciesListDto>> entityMap; - private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; + private final Decorator<ReferentialReference<SpeciesListDto>> decorator; - public SpeciesListsTableCellRenderer(Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { + public SpeciesListsTableCellRenderer(Map<String, ReferentialReference<SpeciesListDto>> entityMap, Decorator<ReferentialReference<SpeciesListDto>> decorator) { this.entityMap = entityMap; this.decorator = decorator; } @@ -428,7 +424,7 @@ public class ShowConfigAction extends AbstractAction { int row, int column) { String speciesListId = String.valueOf(value); - ReferenceDto<SpeciesListDto> speciesList = entityMap.get(speciesListId); + ReferentialReference<SpeciesListDto> speciesList = entityMap.get(speciesListId); return super.getTableCellRendererComponent(table, decorator.toString(speciesList), isSelected, hasFocus, row, column); } @@ -438,23 +434,23 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; + private final Map<String, ReferentialReference<SpeciesListDto>> entityMap; - private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; + private final ReferentialReferenceDecorator<SpeciesListDto> decorator; - protected SpeciesListTableCellEditor(Collection<ReferentialReferenceDto<SpeciesListDto>> entities, - Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, - Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { + protected SpeciesListTableCellEditor(Collection<ReferentialReference<SpeciesListDto>> entities, + Map<String, ReferentialReference<SpeciesListDto>> entityMap, + ReferentialReferenceDecorator<SpeciesListDto> decorator) { super(new JComboBox()); this.entityMap = entityMap; this.decorator = decorator; - final BeanFilterableComboBox<ReferentialReferenceDto<SpeciesListDto>> component = new BeanFilterableComboBox<>(); + final BeanFilterableComboBox<ReferentialReference<SpeciesListDto>> component = new BeanFilterableComboBox<>(); component.setI18nPrefix("observe.common."); component.setShowReset(true); - component.setBeanType((Class) ReferenceDto.class); + component.setBeanType((Class) ReferentialReference.class); setClickCountToStart(1); @@ -476,8 +472,8 @@ public class ShowConfigAction extends AbstractAction { public Object getCellEditorValue() { String result = null; Object selectedItem = component.getSelectedItem(); - if (selectedItem != null && ReferenceDto.class.isInstance(selectedItem)) { - ReferenceDto reference = (ReferenceDto) selectedItem; + if (selectedItem != null && ReferentialReference.class.isInstance(selectedItem)) { + ReferentialReference reference = (ReferentialReference) selectedItem; result = reference.getId(); } return result; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java index 0880e1b..ab3614e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java @@ -24,22 +24,21 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.longline.ActivityLonglinesUI; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -95,6 +94,8 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { if (!(ui instanceof ActivityLonglinesUI)) { throw new IllegalStateException("Can not come here!"); } + ActivityLonglinesUI activityLonglinesUI = (ActivityLonglinesUI) ui; + // get current triplongline id ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); @@ -107,8 +108,8 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { if (tripLonglineId != null) { // change the tripLongline of the selected activities - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<ActivityLonglineDto>> selectedDatas = activityLonglinesUI.getModel().getSelectedDatas(); + List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); List<Integer> positions = service.moveActivityLonglinesToTripLongline(activityIds, tripLonglineId); @@ -127,7 +128,7 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { int tripLonglineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<TripLonglineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripLonglineDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(TripLonglineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuelle DecoratedNodeEntity[] decoratedTripLonglines = new DecoratedNodeEntity[tripLonglineNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java index ae5a511..4d9f92e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java @@ -24,8 +24,7 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.ActivitySeineService; @@ -38,9 +37,9 @@ import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -108,8 +107,8 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { if (routeId != null) { // change the route of the selected activities - List<ReferenceDto<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); + List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); List<Integer> positions = service.moveActivitySeinesToRoute(activityIds, routeId); @@ -128,7 +127,7 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { int routeNb = routesNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<RouteDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(RouteDto.class); + DataReferenceDecorator<RouteDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(RouteDto.class); //on crée un tableau avec une route en moins car on ne propose pas la route actuel DecoratedNodeEntity[] decoratedRoutes = new DecoratedNodeEntity[routeNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 8c94322..ec2f97b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -24,22 +24,21 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.RouteService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.seine.RoutesUI; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -96,6 +95,8 @@ public class MoveRoutesUIAction extends AbstractUIAction { throw new IllegalStateException("Can not come here!"); } + RoutesUI theUi = (RoutesUI) ui; + // get current tripseine id ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); ObserveNode oldRoutesNode = treeHelper.getSelectedNode(); @@ -103,12 +104,12 @@ public class MoveRoutesUIAction extends AbstractUIAction { String oldTripSeineId = oldTripSeineNode.getId(); // choose the new tripseine - String tripSeineId = chooseNewTripSeine(ui, oldTripSeineNode); + String tripSeineId = chooseNewTripSeine(theUi, oldTripSeineNode); if (tripSeineId != null) { // change the tripseine of the selected routes - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> routeIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<RouteDto>> selectedDatas = theUi.getModel().getSelectedDatas(); + List<String> routeIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); List<Integer> positions = service.moveRoutesToTripSeine(routeIds, tripSeineId); @@ -127,7 +128,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { int tripSeineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<TripSeineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripSeineDto.class); + DataReferenceDecorator<TripSeineDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(TripSeineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuel DecoratedNodeEntity[] decoratedTripSeines = new DecoratedNodeEntity[tripSeineNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index 35a9577..71027f8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -56,7 +56,7 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction<TripLonglineDto protected void updateModelData(ContentUI<?> ui) { TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; TripLonglinesUIModel model = tripLonglinesUI.getModel(); - List<ReferenceDto<TripLonglineDto>> data = new ArrayList<>(model.getData()); + List<DataReference<TripLonglineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 7981613..005fd57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; @@ -56,7 +56,7 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction<TripSeineDto> { protected void updateModelData(ContentUI<?> ui) { TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; TripSeinesUIModel model = tripSeinesUI.getModel(); - List<ReferenceDto<TripSeineDto>> data = new ArrayList<>(model.getData()); + List<DataReference<TripSeineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index b9881aa..b314d72 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.ObserveMainUI; @@ -36,9 +35,9 @@ import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.menu.MoveTripNodeMenuPopulator; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -56,7 +55,7 @@ import static org.nuiton.i18n.I18n.t; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIAction { +public abstract class MoveTripsUIAction<T extends DataDto> extends AbstractUIAction { private static final long serialVersionUID = 1L; @@ -105,8 +104,8 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio if (programId != null) { // change the program of the selected trips - List<ReferenceDto<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<String> tripIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); // update the tree @@ -121,29 +120,6 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio protected String chooseNewProgram(ContentUI<?> ui, String oldProgramId) { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); -// -// LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) -// .getReferentialReferenceSet(ProgramDto.class) -// .getReference(); -// -// GearType gearType = getGearType(ui); -// -// List<ReferenceDto> filteredPrograms = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); -// List<ReferenceDto<ProgramDto>> programs = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(filteredPrograms)); -// ObserveTreeHelper.sortPrograms(programs); -// -// Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, -// ProgramDto.class.getSimpleName()); -// -// //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel -// DecoratedProgram[] decoratedPrograms = new DecoratedProgram[programs.size() - 1]; -// -// int j = 0; -// for (ReferenceDto program : programs) { -// if (!oldProgramId.equals(program.getId())) { -// decoratedPrograms[j++] = new DecoratedProgram(program.getId(), decorator.toString(program)); -// } -// } ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); @@ -152,7 +128,7 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio // racine ObserveNode rootNode = treeHelper.getRootNode(); - Decorator<ReferenceDto<ProgramDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(ProgramDto.class); + ReferentialReferenceDecorator<ProgramDto> decorator = applicationContext.getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel List<DecoratedNodeEntity> decoratedProgramList = new ArrayList<>(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java index 00ca65b..e427021 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.content.list.ContentListUI; @@ -81,8 +81,7 @@ public class ReOpenUIAction extends AbstractUIAction { openUI = (ContentOpenableUI<?>) ui; } else if (ui instanceof ContentListUI<?, ?>) { - IdDto selectedData = - ((ContentListUI<?, ?>) ui).getSelectedData(); + DataReference<?> selectedData = ((ContentListUI<?, ?>) ui).getSelectedData(); String id = selectedData.getId(); 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 dbbcef8..c18e63c 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 @@ -29,9 +29,9 @@ import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -126,6 +126,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { protected EnumSet<DbMode> availableIncomingModes; PropertyChangeListener listenStepChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -222,6 +223,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenValidationModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ValidateModel source = (ValidateModel) evt.getSource(); @@ -241,6 +243,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenReportModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ReportModel source = (ReportModel) evt.getSource(); @@ -255,6 +258,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenerSelectedDataForReport = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -268,6 +272,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenConsolidateModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ConsolidateModel source = (ConsolidateModel) evt.getSource(); @@ -282,6 +287,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenGPSModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { if (log.isDebugEnabled()) { @@ -294,6 +300,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenSaveLocalChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -404,14 +411,14 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return false; } - public ReferenceDto getSelectedTrip() { - Set<ReferenceDto> data = getSelectionDataModel().getSelectedData(); + public DataReference getSelectedTrip() { + Set<DataReference> data = getSelectionDataModel().getSelectedData(); if (data.isEmpty()) { // pas de Trip selectionne return null; } - ReferenceDto dto = data.iterator().next(); + DataReference dto = data.iterator().next(); if (IdDtos.isTrip(dto)) { return dto; } @@ -528,7 +535,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { log.debug("Close previous source " + - previousSource.getLabel()); + previousSource.getLabel()); } doCloseSource(previousSource, false); } @@ -635,6 +642,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { centralSourceModel.addPropertyChangeListener(new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { String name = evt.getPropertyName(); @@ -757,6 +765,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { localSourceModel.addPropertyChangeListener(new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { String name = evt.getPropertyName(); @@ -1113,7 +1122,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // validate &= centralSourceModel.isValid() && // centralSourceModel.getPgConfig().isCanWriteData(); validate &= centralSourceModel.getDataSourceInformation() != null - && centralSourceModel.getDataSourceInformation().canWriteData(); + && centralSourceModel.getDataSourceInformation().canWriteData(); } if (containsOperation(AdminStep.IMPORT_GPS)) { @@ -1319,15 +1328,15 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { protected void computeExistingTrips(ObserveSwingDataSource source) { - List<ReferenceDto> existingTrip = Lists.newArrayList(); + List<DataReference<?>> existingTrip = Lists.newArrayList(); TripSeineService tripSeineService = source.newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); - existingTrip.addAll(tripSeineSet.getReference()); + DataReferenceSet<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); + existingTrip.addAll(tripSeineSet.getReferences()); TripLonglineService tripLonglineService = source.newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); - existingTrip.addAll(tripLonglineSet.getReference()); + DataReferenceSet<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); + existingTrip.addAll(tripLonglineSet.getReferences()); getExportModel().setExistingTripIds(existingTrip); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java index 31e1e31..92d26de 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java @@ -24,9 +24,7 @@ package fr.ird.observe.ui.admin.consolidate; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.service.actions.consolidate.ConsolidateActivitySeineDataResult; import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService; import fr.ird.observe.services.service.actions.consolidate.ConsolidateTripSeineDataRequest; @@ -87,6 +85,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { ui.getStepUI(AdminStep.SELECT_DATA); PropertyChangeListener listener = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -112,6 +111,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { addAdminWorker( ((ConsolidateUI) ui).getStartButton().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return doAction(); @@ -132,11 +132,11 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { // une erreur ou une annulation return init; } - Set<ReferenceDto> trips = model.getSelectionDataModel().getSelectedData(); + Set<DataReference> trips = model.getSelectionDataModel().getSelectedData(); ImmutableSet<String> tripIds = ImmutableSet.copyOf( Iterables.transform( - Iterables.filter(trips, IdDtos.<ReferenceDto>newTripSeinePredicate()), - ReferenceDtos.getIdFunction())); + Iterables.filter(trips, DataReference.newTripSeinePredicate()), + DataReference.getIdFunction())); ObserveSwingDataSource dataSource = getStepModel().getSource(); @@ -175,7 +175,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { } sendMessage(t("observe.message.consolidate.operation.done", - new Date())); + new Date())); } finally { 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 4b79bbe..8b8f901 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 @@ -24,14 +24,17 @@ 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.AbstractReference; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; 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 fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -49,16 +52,16 @@ public class ExportModel extends AdminActionModel { protected int[] exportDataSelectedIndex; /** les ids des marées déjà existante sur la base distante lors d'un export */ - protected List<ReferenceDto> existingTrips; + protected List<DataReference<?>> existingTrips; /** les données exportables */ protected List<TripEntry> data; - protected Decorator<ReferenceDto> programDecorator; + protected ReferentialReferenceDecorator<ProgramDto> programDecorator; - protected Decorator<ReferenceDto> tripSeineDecorator; + protected DataReferenceDecorator<TripSeineDto> tripSeineDecorator; - protected Decorator<ReferenceDto> tripLonglineDecorator; + protected DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator; protected ObserveSwingDataSource source; @@ -72,11 +75,11 @@ public class ExportModel extends AdminActionModel { this.exportDataSelectedIndex = exportDataSelectedIndex; } - public List<ReferenceDto> getExistingTrips() { + public List<DataReference<?>> getExistingTrips() { return existingTrips; } - public void setExistingTripIds(List<ReferenceDto> existingTrips) { + public void setExistingTripIds(List<DataReference<?>> existingTrips) { this.existingTrips = existingTrips; } @@ -102,11 +105,11 @@ public class ExportModel extends AdminActionModel { List<TripEntry> tripEntries = Lists.newArrayList(); - for (Map.Entry<ReferenceDto<ProgramDto>, List<ReferenceDto>> entry : selectionModel.getSelectedDataByProgram().entrySet()) { + for (Map.Entry<ReferentialReference<ProgramDto>, List<DataReference>> entry : selectionModel.getSelectedDataByProgram().entrySet()) { - ReferenceDto<ProgramDto> program = entry.getKey(); + ReferentialReference<ProgramDto> program = entry.getKey(); - for (ReferenceDto trip : entry.getValue()) { + for (DataReference trip : entry.getValue()) { boolean exists = existingTrips.contains(trip); @@ -136,20 +139,20 @@ public class ExportModel extends AdminActionModel { this.centralSource = centralSource; } - public void setProgramDecorator(Decorator<ReferenceDto> programDecorator) { + public void setProgramDecorator(ReferentialReferenceDecorator<ProgramDto> programDecorator) { this.programDecorator = programDecorator; } - public void setTripSeineDecorator(Decorator<ReferenceDto> mareeDecorator) { + public void setTripSeineDecorator(DataReferenceDecorator<TripSeineDto> mareeDecorator) { this.tripSeineDecorator = mareeDecorator; } - public void setTripLonglineDecorator(Decorator<ReferenceDto> tripLonglineDecorator) { + public void setTripLonglineDecorator(DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator) { this.tripLonglineDecorator = tripLonglineDecorator; } - public String decorate(ReferenceDto referenceDto) { - String decor= null; + public String decorate(AbstractReference referenceDto) { + String decor = null; if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { decor = programDecorator.toString(referenceDto); 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 8b6d885..d6a0891 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 @@ -22,9 +22,10 @@ package fr.ird.observe.ui.admin.export; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.services.service.seine.TripSeineService; @@ -37,11 +38,12 @@ 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 fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.swing.editor.MyDefaultCellEditor; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; @@ -128,7 +130,7 @@ public class ExportUIHandler extends AdminTabUIHandler { UIHelper.setTableColumnRenderer(table4, 0, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer5, ProgramDto.class)); - UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, ReferenceDto.class, DecoratorService.TRIP_CONTEXT)); + UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, DataReference.class, DecoratorService.TRIP_CONTEXT)); UIHelper.setTableColumnRenderer(table4, 3, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnEditor(table4, 0, MyDefaultCellEditor.newBooleanEditor(false)); @@ -201,9 +203,9 @@ public class ExportUIHandler extends AdminTabUIHandler { DecoratorService decoratorProvider = getDecoratorService(); ExportModel stepModel = model.getExportModel(); - 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()); + ReferentialReferenceDecorator<ProgramDto> pDecorator = decoratorProvider.getReferentialReferenceDecorator(ProgramDto.class); + DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator = decoratorProvider.getDataReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripSeineDto> tripSeineDecorator = decoratorProvider.getDataReferenceDecorator(TripSeineDto.class); stepModel.setProgramDecorator(pDecorator); stepModel.setTripSeineDecorator(tripSeineDecorator); stepModel.setTripLonglineDecorator(tripLonglineDecorator); @@ -274,8 +276,8 @@ public class ExportUIHandler extends AdminTabUIHandler { ObserveSwingDataSource centralSource = stepModel.getCentralSource(); ObserveSwingDataSource source = stepModel.getSource(); - ReferenceDto<ProgramDto> program = tripEntry.getProgram(); - ReferenceDto trip = tripEntry.getTrip(); + ReferentialReference<ProgramDto> program = tripEntry.getProgram(); + DataReference trip = tripEntry.getTrip(); String tripId = trip.getId(); String tripDecorated = stepModel.decorate(trip); 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 32a35bf..27f2e32 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,9 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import java.io.Serializable; @@ -31,23 +32,23 @@ public class TripEntry implements Serializable { private static final long serialVersionUID = 1L; - protected final ReferenceDto<ProgramDto> program; + protected final ReferentialReference<ProgramDto> program; - protected final ReferenceDto trip; + protected final DataReference trip; protected final boolean exist; - public TripEntry(ReferenceDto<ProgramDto> program, ReferenceDto trip, boolean exist) { + public TripEntry(ReferentialReference<ProgramDto> program, DataReference trip, boolean exist) { this.program = program; this.trip = trip; this.exist = exist; } - public ReferenceDto<ProgramDto> getProgram() { + public ReferentialReference<ProgramDto> getProgram() { return program; } - public ReferenceDto getTrip() { + public DataReference getTrip() { return trip; } 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 7a9f61b..385d870 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,8 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.referential.ReferentialReference; import javax.swing.table.AbstractTableModel; import java.util.HashSet; @@ -39,8 +40,8 @@ public class TripToExportTableModel extends AbstractTableModel { protected static final Class<?>[] COLUMN_CLASSES = { Boolean.class, - ReferenceDto.class, //program - ReferenceDto.class, // trip + ReferentialReference.class, //program + DataReference.class, // trip Boolean.class }; @@ -53,7 +54,7 @@ public class TripToExportTableModel extends AbstractTableModel { protected boolean selectAll; public TripToExportTableModel() { - selected = new HashSet<Integer>(); + selected = new HashSet<>(); } @Override @@ -123,9 +124,7 @@ public class TripToExportTableModel extends AbstractTableModel { value = tripEntry.isExist(); break; default: - throw new IllegalStateException( - "can not get value for row " + rowIndex + - ", col " + columnIndex); + throw new IllegalStateException("can not get value for row " + rowIndex + ", col " + columnIndex); } } return value; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java index ce401f2..f8d4ab0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java @@ -24,11 +24,12 @@ package fr.ird.observe.ui.admin.report; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.actions.report.ReportService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; @@ -81,9 +82,11 @@ public class ReportUIHandler extends AdminTabUIHandler { /** Logger */ private static final Log log = LogFactory.getLog(ReportUIHandler.class); + private static final TimeLog timeLog = new TimeLog(ReportUIHandler.class, 0, 1000); final Runnable revalidateTabUI = new Runnable() { + @Override public void run() { getUi().revalidate(); @@ -108,6 +111,7 @@ public class ReportUIHandler extends AdminTabUIHandler { ReportModel stepModel = getStepModel(); stepModel.addPropertyChangeListener(new PropertyChangeListener() { + @SuppressWarnings({"unchecked"}) @Override public void propertyChange(PropertyChangeEvent evt) { @@ -215,6 +219,7 @@ public class ReportUIHandler extends AdminTabUIHandler { final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); ui.getModel().addPropertyChangeListener(AdminUIModel.SELECTION_MODEL_CHANGED_PROPERTY_NAME, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -360,8 +365,10 @@ public class ReportUIHandler extends AdminTabUIHandler { combo.setShowReset(true); variablesPanel.add(combo); Decorator decorator; - if (IdDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getDecoratorByType(ReferenceDto.class, variable.getType().getSimpleName()); + if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType()); + } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getDataReferenceDecorator(variable.getType()); } else { decorator = getDecoratorService().getDecoratorByType(variable.getType()); } @@ -369,6 +376,7 @@ public class ReportUIHandler extends AdminTabUIHandler { JComboBox jComboBox = combo.getCombobox(); jComboBox.putClientProperty(VARIABLE_NAME, variableName); jComboBox.addItemListener(new ItemListener() { + @Override public void itemStateChanged(ItemEvent e) { @@ -400,8 +408,7 @@ public class ReportUIHandler extends AdminTabUIHandler { } } - protected void onVariablesChanges(ReportModel model, - Map<String, Object> variables) { + protected void onVariablesChanges(ReportModel model, Map<String, Object> variables) { Report report = model.getSelectedReport(); if (report != null) { @@ -426,13 +433,12 @@ public class ReportUIHandler extends AdminTabUIHandler { try { - Report report = model.getSelectedReport();; + Report report = model.getSelectedReport(); - ReferenceDto trip = getModel().getSelectedTrip(); + DataReference trip = getModel().getSelectedTrip(); if (log.isDebugEnabled()) { - log.debug("Build result for report [" + report.getName() + - "] on " + trip); + log.debug("Build result for report [" + report.getName() + "] on " + trip); } Map<String, Object> variables = model.getVariables(); @@ -467,8 +473,7 @@ public class ReportUIHandler extends AdminTabUIHandler { copyReportToClipBoard(report, model.getResultModel(), model.isCopyRowHeaders(), - model.isCopyColumnHeaders() - ); + model.isCopyColumnHeaders()); } } catch (Exception e) { @@ -490,8 +495,7 @@ public class ReportUIHandler extends AdminTabUIHandler { return model.getReportModel(); } - protected void updateValidState(Report report, - Map<String, Object> variables) { + protected void updateValidState(Report report, Map<String, Object> variables) { boolean canExecute = report != null && report.canExecute(variables); getStepModel().setValid(canExecute); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java index ae4cf28..abc1777 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java @@ -22,7 +22,8 @@ package fr.ird.observe.ui.admin.validate; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.actions.validate.ValidateResultForDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDtos; import fr.ird.observe.ui.DecoratorService; @@ -48,8 +49,7 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl private static final long serialVersionUID = 1L; /** Logger */ - private static final Log log = - LogFactory.getLog(ValidateEntityListCellRenderer.class); + private static final Log log = LogFactory.getLog(ValidateEntityListCellRenderer.class); protected final ValidateModel model; @@ -59,7 +59,7 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl public ValidateEntityListCellRenderer(ValidateModel model) { this.model = model; - renderCache = new HashMap<Object, String>(); + renderCache = new HashMap<>(); // on ecoute les modifications de messages sur le model this.model.addPropertyChangeListener(ValidateModel.PROPERTY_MESSAGES, this); } @@ -106,14 +106,13 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl if (value instanceof Class<?>) { value = renderCache.get(value); } else { - value = valueFromRefDto(decoratorService, (ReferenceDto) value); + value = valueFromRefDto(decoratorService, (AbstractReference) value); } } return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); } - public Object valueFromRefDto(DecoratorService decoratorService, - ReferenceDto value) { + public Object valueFromRefDto(DecoratorService decoratorService, AbstractReference value) { String s = renderCache.get(value); if (s != null) { return s; @@ -130,7 +129,12 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl StringBuilder buffer = new StringBuilder(); - Decorator<?> decorator = decoratorService.getDecoratorByType(ReferenceDto.class, value.getType().getSimpleName()); + Decorator<?> decorator; + if (value instanceof ReferentialReference) { + decorator = decoratorService.getReferentialReferenceDecorator(value.getType()); + } else { + decorator = decoratorService.getDataReferenceDecorator(value.getType()); + } buffer.append(decorator.toString(value)); buffer.append(" ("); @@ -151,6 +155,5 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl return s; } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java index d945487..0e1d4d6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java @@ -25,8 +25,8 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDtoType; import fr.ird.observe.services.service.actions.validate.ValidatorDto; @@ -101,7 +101,7 @@ public class ValidateModel extends AdminActionModel { public ValidateModel() { super(AdminStep.VALIDATE); scopes = EnumSet.noneOf(NuitonValidatorScope.class); - messages = new TreeMap<Class<? extends IdDto>, ValidateResultForDtoType>(); + messages = new TreeMap<>(); } /** @@ -195,7 +195,6 @@ public class ValidateModel extends AdminActionModel { return messages; } - public void setMessages(Map<Class<? extends IdDto>, ValidateResultForDtoType> messages) { Object oldValue = this.messages; this.messages = messages; @@ -214,9 +213,9 @@ public class ValidateModel extends AdminActionModel { return result; } - public List<ReferenceDto> getMessagesDto(Class dtoType) { + public List<AbstractReference> getMessagesDto(Class dtoType) { - List<ReferenceDto> result = Lists.newArrayList(); + List<AbstractReference> result = Lists.newArrayList(); if (messages != null) { @@ -232,7 +231,7 @@ public class ValidateModel extends AdminActionModel { return result; } - public ValidateResultForDto getMessages(ReferenceDto referenceDto) { + public ValidateResultForDto getMessages(AbstractReference referenceDto) { ValidateResultForDto result = null; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java index 5f633e6..d51fe50 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java @@ -27,9 +27,9 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.actions.validate.ValidateDataRequest; @@ -156,6 +156,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); getModel().getValidateModel().addPropertyChangeListener(ValidateModel.PROPERTY_MODEL_MODE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ValidationModelMode value = (ValidationModelMode) evt.getNewValue(); @@ -188,6 +189,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { }); selectTabUI.getModel().addPropertyChangeListener(AdminUIModel.SELECTION_MODEL_CHANGED_PROPERTY_NAME, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -280,8 +282,8 @@ public class ValidateUIHandler extends AdminTabUIHandler { Class<?> type = (Class<?>) o; - List<ReferenceDto> refs = tabUI.getStepModel().getMessagesDto(type); - for (ReferenceDto ref : Iterables.limit(refs, 100)) { + List<AbstractReference> refs = tabUI.getStepModel().getMessagesDto(type); + for (AbstractReference ref : Iterables.limit(refs, 100)) { if (log.isDebugEnabled()) { log.debug("add ref = " + ref); } @@ -313,7 +315,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { return; } - ReferenceDto ref = (ReferenceDto) o; + AbstractReference ref = (AbstractReference) o; if (log.isDebugEnabled()) { log.debug(ref); @@ -333,6 +335,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { addAdminWorker( ((ValidateUI) ui).getStartButton().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return doAction(); @@ -361,8 +364,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { // pas de validation ou bien pas d'erreurs rencontrées sendMessage(t("observe.message.validation.nothing.to.do")); - sendMessage( - t("observe.message.validation.operation.done", new Date())); + sendMessage(t("observe.message.validation.operation.done", new Date())); return WizardState.SUCCESSED; } @@ -393,7 +395,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { Set<ValidatorDto> validators = validationModel.getValidators(); sendMessage(t("observe.message.validation.use.storage", - source.getLabel())); + source.getLabel())); sendMessage(t("observe.message.validation.prepare.validators")); @@ -422,7 +424,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { ObserveSwingDataSource dataSourceToValidate = model.getLocalSource(); - if (! dataSourceToValidate.isOpen()) { + if (!dataSourceToValidate.isOpen()) { dataSourceToValidate.open(); } @@ -449,7 +451,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { // validation des donnees observateur selectionnee ValidateDataRequest request = new ValidateDataRequest(); - request.setDataIds(ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), IdDtos.getIdFunction()))); + request.setDataIds(ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), DataReference.getIdFunction()))); request.setScopes(ImmutableSet.copyOf(stepModel.getScopes())); request.setValidationContext(stepModel.getContextName()); @@ -487,6 +489,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { } } + //FIXME A remplacer par une template public void generateReportFile(ValidateModel validationModel) throws IOException { File reportFile = validationModel.getReportFile(); if (log.isInfoEnabled()) { @@ -511,7 +514,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { ImmutableSet<ValidateResultForDto> validateResultForDtos = validateResultForDtoType.getValidateResultForDto(); for (ValidateResultForDto validateResultForDto : validateResultForDtos) { - ReferenceDto referenceDto = validateResultForDto.getDto(); + AbstractReference referenceDto = validateResultForDto.getDto(); String refStr = service.decorate(referenceDto); @@ -545,7 +548,6 @@ public class ValidateUIHandler extends AdminTabUIHandler { } - // ------------------------------------------------------------------------ // -- ValidateConfgUI methods // ------------------------------------------------------------------------ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 1e00947..5c69bd9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -22,20 +22,26 @@ package fr.ird.observe.ui.content; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.AbstractObserveDto; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestKeyDefinition; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.actions.shared.AbstractUIAction; @@ -43,6 +49,8 @@ import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import fr.ird.observe.ui.tree.AbstractObserveTreeCellRenderer; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.ErrorDialogUI; @@ -74,7 +82,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -102,17 +110,6 @@ public abstract class ContentUIHandler<E extends IdDto> { /** l'interface graphique que le controleur utilise */ protected ObserveContentUI<E> ui; - public ContentUIHandler(ObserveContentUI<E> ui, DataContextType parentType, DataContextType type) { - this.ui = ui; - this.parentType = parentType; - this.type = type; - prefix = "[" + ui.getClass().getSimpleName() + "] "; - if (log.isDebugEnabled()) { - log.debug("New handler [" + this + "] for ui " + prefix); - } - errorIcon = UIManager.getIcon("action.error"); - } - public static <E extends IdDto> ContentUIHandler<E> newHandler(ObserveContentUI<E> ui) { String uiName = ui.getClass().getName(); @@ -250,37 +247,15 @@ public abstract class ContentUIHandler<E extends IdDto> { model.removeMessages((JComponent) ui, null); } - /** - * Calcule le mode de l'écran. - * - * @param dataContext le context de données - * @return {@code null} si l'écran est éditable, autrement le mode - * restreint READ @param dataContext le context de données - */ - protected abstract ContentMode getContentMode(DataContext dataContext); - - /** - * Pour calculer la propriete {@code canWrite} du modèle. - * - * @param dataSsource la base source de l'ui - * @return {@code true} si on peut écrire (donc éditer), {@code false} autrement. - */ - protected abstract boolean computeCanWrite(ObserveSwingDataSource dataSsource); - - protected final String getSelectedParentId() { - String s = null; - if (parentType != null) { - s = parentType.getSelectedId(getDataContext()); - } - return s; - } - - protected final String getSelectedId() { - String s = null; - if (type != null) { - s = type.getSelectedId(getDataContext()); + public ContentUIHandler(ObserveContentUI<E> ui, DataContextType parentType, DataContextType type) { + this.ui = ui; + this.parentType = parentType; + this.type = type; + prefix = "[" + ui.getClass().getSimpleName() + "] "; + if (log.isDebugEnabled()) { + log.debug("New handler [" + this + "] for ui " + prefix); } - return s; + errorIcon = UIManager.getIcon("action.error"); } public ObserveContentUI<E> getUi() { @@ -302,39 +277,21 @@ public abstract class ContentUIHandler<E extends IdDto> { return bean; } - protected DataContext getDataContext() { - DataContext dataContext = ui.getDataContext(); - return dataContext; - } - public DecoratorService getDecoratorService() { DecoratorService result = ObserveSwingApplicationContext.get().getDecoratorService(); return result; } - public ObserveSwingBinderService getBinderService() { - return ObserveSwingApplicationContext.get().getBinderService(); - } - - protected ObserveSwingDataSource getDataSource() { - return ObserveSwingApplicationContext.get().getDataSource(); - } - - protected ObserveOpenDataManager getOpenDataManager() { - ObserveOpenDataManager openDataManager = ObserveSwingApplicationContext.get().getOpenDataManager(); - return openDataManager; - } - public void initUI() throws Exception { final ContentUIInitializer<E, ObserveContentUI<E>> uiInitializer = new ContentUIInitializer<>(ui); uiInitializer.initUI(); - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); } }); @@ -490,16 +447,6 @@ public abstract class ContentUIHandler<E extends IdDto> { } } - protected boolean doSave(E bean) throws Exception { - return false; - } - - protected void afterSave(boolean refresh) { - - // mettre les validateurs en mode non modifié - SwingValidatorUtil.setValidatorChanged(ui, false); - } - public final boolean closeUI() throws Exception { boolean b = checkEdit(ui); if (log.isDebugEnabled()) { @@ -511,27 +458,6 @@ public abstract class ContentUIHandler<E extends IdDto> { return b; } - protected void closeSafeUI() { - - removeAllMessages(ui); - ContentUIModel<E> model = getModel(); - - boolean create = model.isCreatingMode(); - if (create && model.isEditable()) { - // remove node - ObserveTreeHelper treehelper = getTreeHelper(ui); - ObserveNode node = treehelper.getSelectedNode(); - - ObserveNode parentNode = node.getParent(); - if (parentNode != null) { - // node still attached, so remove it - treehelper.removeNode(node); - treehelper.selectNode(parentNode); - } - } - - } - public final void deleteUI() { boolean ok = false; ui.stopEdit(); @@ -552,30 +478,7 @@ public abstract class ContentUIHandler<E extends IdDto> { } } - protected boolean doDelete(E bean) throws Exception { - return false; - } - - protected boolean askToDelete(E bean) { - boolean accept = - UIHelper.confirmForEntityDelete(ui, getBeanType(), bean); - - return !accept; - } - - protected void afterDelete() { - ui.stopEdit(); - removeAllMessages(ui); - if (!(getBean() instanceof ReferentialDto)) { - - ObserveTreeHelper treeHelper = getTreeHelper(ui); - ObserveNode node = treeHelper.getSelectedNode(); - ObserveNode parentNode = treeHelper.removeNode(node); - treeHelper.selectNode(parentNode); - } - } - - public void gotoChild(IdDto entity) { + public <C extends DataDto> void gotoChild(DataReference<C> entity) { if (entity == null) { // rien a faire @@ -625,6 +528,149 @@ public abstract class ContentUIHandler<E extends IdDto> { } } + public String updateTitle(String title) { + if (ContentReferenceUIHandler.class.isAssignableFrom(getClass())) { + return DecoratorService.getEntityLabel(getBeanType()); + } + return title; + } + + protected void loadReferentialReferenceSetsInModel(Form<E> form) { + + String requestName = form.getReferentialReferenceSetsRequestName(); + + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + + // calculer les listes de référentiels à utiliser dans le modèle + + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); + + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + + if (!propertyDefinition.isReferential()) { + continue; + } + + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filtredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filtredReferentialReferenceSet); + + } + + getModel().setReferentialReferenceSets(modelReferentialReferenceSets.build()); + + } + + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + return incomingReferences; + } + + /** + * Calcule le mode de l'écran. + * + * @param dataContext le context de données + * @return {@code null} si l'écran est éditable, autrement le mode + * restreint READ @param dataContext le context de données + */ + protected abstract ContentMode getContentMode(DataContext dataContext); + + /** + * Pour calculer la propriete {@code canWrite} du modèle. + * + * @param dataSsource la base source de l'ui + * @return {@code true} si on peut écrire (donc éditer), {@code false} autrement. + */ + protected abstract boolean computeCanWrite(ObserveSwingDataSource dataSsource); + + protected final String getSelectedParentId() { + String s = null; + if (parentType != null) { + s = parentType.getSelectedId(getDataContext()); + } + return s; + } + + protected final String getSelectedId() { + String s = null; + if (type != null) { + s = type.getSelectedId(getDataContext()); + } + return s; + } + + protected DataContext getDataContext() { + DataContext dataContext = ui.getDataContext(); + return dataContext; + } + + protected ObserveSwingDataSource getDataSource() { + return ObserveSwingApplicationContext.get().getDataSource(); + } + + protected ObserveOpenDataManager getOpenDataManager() { + ObserveOpenDataManager openDataManager = ObserveSwingApplicationContext.get().getOpenDataManager(); + return openDataManager; + } + + protected boolean doSave(E bean) throws Exception { + return false; + } + + protected void afterSave(boolean refresh) { + + // mettre les validateurs en mode non modifié + SwingValidatorUtil.setValidatorChanged(ui, false); + } + + protected void closeSafeUI() { + + removeAllMessages(ui); + ContentUIModel<E> model = getModel(); + + boolean create = model.isCreatingMode(); + if (create && model.isEditable()) { + // remove node + ObserveTreeHelper treehelper = getTreeHelper(ui); + ObserveNode node = treehelper.getSelectedNode(); + + ObserveNode parentNode = node.getParent(); + if (parentNode != null) { + // node still attached, so remove it + treehelper.removeNode(node); + treehelper.selectNode(parentNode); + } + } + + } + + protected boolean doDelete(E bean) throws Exception { + return false; + } + + protected boolean askToDelete(E bean) { + boolean accept = + UIHelper.confirmForEntityDelete(ui, getBeanType(), bean); + + return !accept; + } + + protected void afterDelete() { + ui.stopEdit(); + removeAllMessages(ui); + if (!(getBean() instanceof ReferentialDto)) { + + ObserveTreeHelper treeHelper = getTreeHelper(ui); + ObserveNode node = treeHelper.getSelectedNode(); + ObserveNode parentNode = treeHelper.removeNode(node); + treeHelper.selectNode(parentNode); + } + } + protected void addInfoMessage(String message) { addMessage(ui, NuitonValidatorScope.INFO, @@ -742,13 +788,6 @@ public abstract class ContentUIHandler<E extends IdDto> { getModel().setMode(newMode); } - public String updateTitle(String title) { - if (ContentReferenceUIHandler.class.isAssignableFrom(getClass())) { - return DecoratorService.getEntityLabel(getBeanType()); - } - return title; - } - //FIXME Do it in jaxx protected void resetQuadrant(CoordinatesEditor editor) { @@ -776,30 +815,9 @@ public abstract class ContentUIHandler<E extends IdDto> { } /** - * Pour mettre à jour les referencesSets liés au formulaire et rafraichir les ui en conséquence. + * Pour mettre à jour les composants graphiques avec les référentiels chargés dans le modèle */ - protected void updateReferenceSets() { - - getDataSource().loadReferenceSets(getModel().getFormDto()); - - updateReferenceSets(false); - - } - - /** - * Pour mettre à jour les referenceSets liés au formulaire si le drapeau est à vrai et que l'écran est en édition. - * - * On rafraichit dans tous les cas l'ui (pour vider par exemple les combobox, si les referenceSets sont vides). - * - * @param reloadReferenceSets pour tenter de recharger les referenceSets - */ - protected void updateReferenceSets(boolean reloadReferenceSets) { - - if (reloadReferenceSets && ContentMode.READ != getModel().getMode()) { - - getDataSource().loadReferenceSets(getModel().getFormDto()); - - } + protected void updateUiWithReferenceSetsFromModel() { for (String name : ui.get$objectMap().keySet()) { Object o = ui.getObjectById(name); @@ -809,17 +827,44 @@ public abstract class ContentUIHandler<E extends IdDto> { } if (o instanceof BeanComboBox) { - updateData((BeanComboBox) o); + + BeanComboBox beanComboBox = (BeanComboBox) o; + + Class dtoClass = getDtoClass(beanComboBox); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialBeanComboBox(dtoClass, beanComboBox); + } else { + updateDataBeanComboBox(dtoClass, beanComboBox); + } + continue; } if (o instanceof BeanListHeader) { - updateData((BeanListHeader) o); + + BeanListHeader beanListHeader = (BeanListHeader) o; + + Class dtoClass = getDtoClass(beanListHeader); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialBeanListHeader(dtoClass, beanListHeader); + } else { + updateDataBeanListHeader(dtoClass, beanListHeader); + } + continue; } if (o instanceof FilterableDoubleList) { - updateData((FilterableDoubleList) o); + + FilterableDoubleList filterableDoubleList = (FilterableDoubleList) o; + + Class dtoClass = getDtoClass(filterableDoubleList); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialFilterableDoubleList(dtoClass, filterableDoubleList); + } else { + updateDataFilterableDoubleList(dtoClass, filterableDoubleList); + } + continue; } @@ -827,98 +872,168 @@ public abstract class ContentUIHandler<E extends IdDto> { } - protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { + protected <R extends DataDto> void updateDataFilterableDoubleList(Class<R> dtoClass, FilterableDoubleList<DataReference<R>> list) { - Class<R> dtoClass = getDtoClass(list); - FormDto<E> formDto = getModel().getFormDto(); - List<ReferenceDto<R>> data; + List<DataReference<R>> data; - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - //FIXME Bien vérifier que cela fonctionne - Set<ReferentialDto> referenceSetDto = getModel().getReferentialReferences((Class) dtoClass, list.getModel().getProperty()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getModel().getProperty()); + data = new ArrayList<>(referenceSetDto); - data = new ArrayList(referenceSetDto); + } + // sort data from first decorator context + DataReferenceDecorator<R> decorator = getDataReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); + + //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) + List<DataReference<R>> selected = list.getModel().getSelected(); + list.setUniverse(data); + list.setSelected(selected); + + list.putClientProperty("data", data); + } + + protected <R extends ReferentialDto> void updateReferentialFilterableDoubleList(Class<R> dtoClass, FilterableDoubleList<ReferentialReference<R>> list) { + + List<ReferentialReference<R>> data; + + if (getModel().getForm() == null) { + data = Collections.emptyList(); } else { - data = new ArrayList<>(); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getModel().getProperty()); + data = new ArrayList<>(referenceSetDto); } // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + ReferentialReferenceDecorator<R> decorator = getReferentialReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) - List<ReferenceDto<R>> selected = list.getModel().getSelected(); + List<ReferentialReference<R>> selected = list.getModel().getSelected(); list.setUniverse(data); list.setSelected(selected); list.putClientProperty("data", data); } - protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { + protected <R extends ReferentialDto> void updateReferentialBeanListHeader(Class<R> dtoClass, BeanListHeader<ReferentialReference<R>> list) { - Class<R> dtoClass = getDtoClass(list); - FormDto<E> formDto = getModel().getFormDto(); - List<ReferenceDto<R>> data; + List<ReferentialReference<R>> data; - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - ReferenceSetDto<R> referenceSetDto = formDto.getReferenceSetDto(dtoClass); - data = new ArrayList<>(referenceSetDto.getReference()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getName()); + data = new ArrayList<>(referenceSetDto); - } else { - data = new ArrayList<>(); } // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + ReferentialReferenceDecorator<R> decorator = getReferentialReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); list.setData(data); list.putClientProperty("data", data); + } + protected <R extends DataDto> void updateDataBeanListHeader(Class<R> dtoClass, BeanListHeader<DataReference<R>> list) { + + List<DataReference<R>> data; - protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - Class<R> dtoClass = getDtoClass(comboBox); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getName()); + data = new ArrayList<>(referenceSetDto); - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + } + + // sort data from first decorator context + DataReferenceDecorator<R> decorator = getDataReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); + + list.setData(data); + list.putClientProperty("data", data); + + } - List<ReferenceDto<R>> data; - FormDto<E> formDto = getModel().getFormDto(); + protected <R extends ReferentialDto> void updateReferentialBeanComboBox(Class<R> dtoClass, BeanComboBox<ReferentialReference<R>> comboBox) { + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); String propertyName = comboBox.getProperty(); - if (BooleanUtils.isTrue(noLoad) || formDto == null) { + List<ReferentialReference<R>> data; + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { if (log.isInfoEnabled()) { - log.info(String.format("Skip loading of entity list [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + log.info(String.format("Skip loading of comboBox [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); } data = Collections.emptyList(); } else { - data = new ArrayList<>(); + Optional<Set<ReferentialReference<R>>> optionalReferenceSetDto = getModel().tryToGetReferentialReferenceSet(dtoClass, propertyName); + + if (optionalReferenceSetDto.isPresent()) { + + Set<ReferentialReference<R>> references = optionalReferenceSetDto.get(); + data = Lists.newArrayList(references); - // get complete data list from service - Optional<ReferenceSetDto<R>> optionalReferenceSetDto = formDto.tryToGetReferenceSetDto(dtoClass, propertyName); + } else { + data = Collections.emptyList(); + } + + } + + if (log.isInfoEnabled()) { + log.info(String.format("comboBox [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); + } + + comboBox.setData(data); + + } + + protected <R extends DataDto> void updateDataBeanComboBox(Class<R> dtoClass, BeanComboBox<DataReference<R>> comboBox) { + + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + String propertyName = comboBox.getProperty(); + + List<DataReference<R>> data; + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + + if (log.isInfoEnabled()) { + log.info(String.format("Skip loading of comboBox [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + } + data = Collections.emptyList(); + + } else { + + Optional<Set<DataReference<R>>> optionalReferenceSetDto = getModel().tryToGetDataReferenceSet(dtoClass, propertyName); if (optionalReferenceSetDto.isPresent()) { - ReferenceSetDto<R> referenceSetDto = optionalReferenceSetDto.get(); - LinkedHashSet<ReferenceDto<R>> reference = referenceSetDto.getReference(); - data.addAll(reference); + Set<DataReference<R>> references = optionalReferenceSetDto.get(); + data = Lists.newArrayList(references); + } else { + data = Collections.emptyList(); } } if (log.isInfoEnabled()) { - log.info(String.format("entity list [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); + log.info(String.format("entity comboBox [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); } comboBox.setData(data); @@ -929,14 +1044,28 @@ public abstract class ContentUIHandler<E extends IdDto> { return (Class<R>) clientProperty; } - protected <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { - Decorator<ReferenceDto<R>> decorator = getDecoratorService().getReferenceDecorator(dtoType); - return decorator; + protected <R extends DataDto> DataReferenceDecorator<R> getDataReferenceDecorator(Class<R> dtoType) { + return getDecoratorService().getDataReferenceDecorator(dtoType); + } + + protected <R extends ReferentialDto> ReferentialReferenceDecorator<R> getReferentialReferenceDecorator(Class<R> dtoType) { + return getDecoratorService().getReferentialReferenceDecorator(dtoType); } - protected <R extends ReferentialDto> Decorator<ReferentialReferenceDto<R>> getReferentialReferenceDecorator(Class<R> dtoType) { - Decorator<ReferentialReferenceDto<R>> decorator = getDecoratorService().getReferentialReferenceDecorator(dtoType); - return decorator; + private final <D extends ReferentialDto> ReferentialReferenceSet<D> filtredReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, + ReferentialReferenceSet<D> incomingReferentialReferenceSet) { + + Class<D> dtoType = propertyDefinition.getType(); + String propertyName = propertyDefinition.getName(); + + LinkedList<ReferentialReference<D>> incomingReferences = Lists.newLinkedList(incomingReferentialReferenceSet.getReferences()); + + Iterable<ReferentialReference<D>> filtredReferentialReferences = filterReferentialReferences(dtoType, propertyName, incomingReferences); + + ImmutableSet<ReferentialReference<D>> references1 = ImmutableSet.copyOf(filtredReferentialReferences); + ReferentialReferenceSet<D> filtredReferentialReferenceSet = ReferentialReferenceSet.of(dtoType, references1, incomingReferentialReferenceSet.getLastUpdate()); + return filtredReferentialReferenceSet; + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index cbc63b3..b6b4729 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -24,15 +24,18 @@ package fr.ird.observe.ui.content; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.actions.shared.AbstractUIAction; import fr.ird.observe.ui.util.BooleanEditor; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.tripMap.ObserveMapPane; import fr.ird.observe.validation.ObserveSwingValidator; import jaxx.runtime.JAXXValidator; @@ -54,7 +57,6 @@ import org.jdesktop.swingx.JXMonthView; import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.JXPathDecorator; import org.nuiton.jaxx.application.bean.JavaBeanObjectUtil; import org.nuiton.jaxx.widgets.datetime.DateTimeEditor; import org.nuiton.jaxx.widgets.datetime.TimeEditor; @@ -89,8 +91,6 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -123,8 +123,11 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E protected final UI ui; + protected final DecoratorService decoratorService; + public ContentUIInitializer(UI ui) { this.ui = ui; + this.decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); } public static TableCellEditor newFloatColumnEditor(JTable table) { @@ -186,8 +189,8 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E } - protected FormDto<E> getFormDto() { - return ui.getModel().getFormDto(); + protected Form<E> getFormDto() { + return ui.getModel().getForm(); } public void initUI() throws Exception { @@ -351,17 +354,24 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E editor.init(); } - @SuppressWarnings("unchecked") protected void init(BeanComboBox beanComboBox) { if (log.isDebugEnabled()) { log.debug("init combobox for " + beanComboBox.getBeanType()); } beanComboBox.setI18nPrefix("observe.common."); beanComboBox.setMinimumSize(new Dimension(0, 24)); - prepareBeanComboBox(beanComboBox); + + Class dtoClass = getDtoClass(beanComboBox); + + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialBeanComboBox(dtoClass, beanComboBox); + } else { + prepareDataBeanComboBox(dtoClass, beanComboBox); + } + } - protected <E extends IdDto> void init(BeanListHeader<ReferenceDto<E>> beanList) { + protected void init(BeanListHeader beanList) { beanList.setI18nPrefix("observe.common."); @@ -369,33 +379,16 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E log.info("init list for " + beanList.getBeanType()); } - Class<E> dtoClass = (Class<E>) beanList.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - prepareEntityList(dtoClass, beanList); - - JList jlist = beanList.getList(); + Class dtoClass = getDtoClass(beanList); - Object init = jlist.getClientProperty("addDecorator"); - if (init != null) { - Class<? extends IdDto> klass = (Class<? extends IdDto>) init; - if (log.isDebugEnabled()) { - log.debug("addDecorator to list " + - jlist.getName()); - } - Decorator<? extends IdDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(klass); - jlist.putClientProperty("decorator", decorator); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialEntityList(dtoClass, beanList); + } else { + prepareDataEntityList(dtoClass, beanList); } - init = jlist.getClientProperty("addToogleListSelectionModel"); - if (init != null && init instanceof Boolean && (Boolean) init) { - if (log.isDebugEnabled()) { - log.debug("addToogleListSelectionModel to list " + - jlist.getName()); - } - prepareToogleListSelectionModel(jlist); - } } - @SuppressWarnings("unchecked") protected void init(FilterableDoubleList beanList) { beanList.setI18nPrefix("observe.common."); @@ -404,7 +397,13 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E log.info("init list for " + beanList.getBeanType()); } - prepareEntityList(beanList); + Class dtoClass = getDtoClass(beanList); + + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialFilterableDoubleList(dtoClass, beanList); + } else { + prepareDataFilterableDoubleList(dtoClass, beanList); + } } @@ -586,9 +585,8 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E /** * Ajoute à une liste graphique donnée le comportement de * sélection-déselection en un seul click. - * <p/> - * TODO: il faudrait que cela ne perturbe pas le comportement des raccourcis - * clavier. + * + * TODO: il faudrait que cela ne perturbe pas le comportement des raccourcis clavier. * * @param list la liste graphique à traiter */ @@ -604,39 +602,25 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * type donné sur un service de persistance donné. * * @param list le component graphique à initialiser - * @si un problème lors de la récupération - * des entités * @since 1.5 */ - protected <E extends IdDto> void prepareEntityList(FilterableDoubleList<ReferenceDto<E>> list) { + protected <D extends DataDto> void prepareDataFilterableDoubleList(Class<D> dtoClass, FilterableDoubleList<DataReference<D>> list) { - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); - - Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - // init list - Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } list.putClientProperty("decorator", decorator); - // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto<E>>) decorator, new ArrayList<ReferenceDto<E>>(), new ArrayList<ReferenceDto<E>>()); + list.init(decorator, new ArrayList<DataReference<D>>(), new ArrayList<DataReference<D>>()); - // get the renderer initialized - ListCellRenderer renderer = list.getSelectedList().getCellRenderer(); + JList<AbstractReference<D>> selectedList = list.getSelectedList(); + ListCellRenderer<? super AbstractReference<D>> renderer = selectedList.getCellRenderer(); - // add the specific renderer - list.getSelectedList().setCellRenderer(new ReferentielListCellRenderer(renderer)); - list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer(renderer)); + selectedList.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer<>(renderer)); - //FIXME - // listen on cache modification -// EntityDoubleListPropertyChangeListener<E> listener = -// new EntityDoubleListPropertyChangeListener<E>(entityClass, list); -// DataService service = ObserveContext.get().getDataService(); -// service.addReferentielPropertyChangeListener(entityClass, listener); } /** @@ -644,109 +628,122 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * type donné sur un service de persistance donné. * * @param list le component graphique à initialiser - * @si un problème lors de la récupération - * des entités * @since 1.5 */ - protected <E extends IdDto> void prepareEntityList(Class<E> dtoClass, - BeanListHeader<ReferenceDto<E>> list) { + protected <D extends ReferentialDto> void prepareReferentialFilterableDoubleList(Class<D> dtoClass, FilterableDoubleList<ReferentialReference<D>> list) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + if (log.isDebugEnabled()) { + log.debug("Will use decorator " + decorator); + } + + list.putClientProperty("decorator", decorator); + + list.init(decorator, new ArrayList<ReferentialReference<D>>(), new ArrayList<ReferentialReference<D>>()); + + JList<AbstractReference<D>> selectedList = list.getSelectedList(); + ListCellRenderer<? super AbstractReference<D>> renderer = selectedList.getCellRenderer(); + + selectedList.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + + } - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); + /** + * Remplit le modèle d'une liste graphique avec la liste des entités d'un + * type donné sur un service de persistance donné. + * + * @param list le component graphique à initialiser + * @since 1.5 + */ + protected <D extends DataDto> void prepareDataEntityList(Class<D> dtoClass, BeanListHeader<DataReference<D>> list) { - // init list - Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } list.putClientProperty("decorator", decorator); - // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); + list.init(decorator, Collections.<DataReference<D>>emptyList()); + + JList<AbstractReference<D>> list1 = list.getList(); + ListCellRenderer<? super AbstractReference<D>> renderer = list1.getCellRenderer(); + list1.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + + } + + /** + * Remplit le modèle d'une liste graphique avec la liste des entités d'un + * type donné sur un service de persistance donné. + * + * @param list le component graphique à initialiser + * @since 1.5 + */ + protected <D extends ReferentialDto> void prepareReferentialEntityList(Class<D> dtoClass, BeanListHeader<ReferentialReference<D>> list) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + if (log.isDebugEnabled()) { + log.debug("Will use decorator " + decorator); + } + + list.putClientProperty("decorator", decorator); - // get the renderer initialized - ListCellRenderer renderer = list.getList().getCellRenderer(); + list.init(decorator, Collections.<ReferentialReference<D>>emptyList()); - // add the specific renderer - list.getList().setCellRenderer(new ReferentielListCellRenderer(renderer)); + JList<AbstractReference<D>> list1 = list.getList(); + ListCellRenderer<? super AbstractReference<D>> renderer = list1.getCellRenderer(); + list1.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); - //FIXME - // listen on cache modification -// EntityListPropertyChangeListener<E> listener = -// new EntityListPropertyChangeListener<E>(dtoClass, list); -// DataService service = ObserveContext.get().getDataService(); -// service.addReferentielPropertyChangeListener(entityClass, listener); } /** - * Prépare un component de choix d'entités pour un type d'entité donné et - * pour un service de persistance donné. + * Prépare un component de choix d'entités pour un type d'entité donné et pour un service de persistance donné. * - * @param <E> le type de l'entité + * @param <D> le type de l'entité * @param comboBox le component graphique à initialiser - * @si un pb pendant la récupération des - * entités */ - protected <E extends IdDto> void prepareBeanComboBox(BeanComboBox<ReferenceDto<E>> comboBox) { + protected <D extends DataDto> void prepareDataBeanComboBox(Class<D> dtoClass, BeanComboBox<DataReference<D>> comboBox) { - ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); - // init combobox - Class<E> dtoClass = (Class<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - Decorator<ReferenceDto<E>> decorator = context.getDecoratorService().getReferenceDecorator(dtoClass); + comboBox.init(decorator, Collections.<DataReference<D>>emptyList()); - // add data list to combo box - comboBox.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); + JComboBox<DataReference<D>> combobox = comboBox.getCombobox(); - final ListCellRenderer renderer = comboBox.getCombobox().getRenderer(); + ListCellRenderer<DataReference<D>> toolTipRenderer = new ComboBoxListCellRenderer<>(combobox.getRenderer()); + combobox.setRenderer(toolTipRenderer); + if (log.isDebugEnabled()) { + log.debug("combo list [" + dtoClass.getName() + "] : " + comboBox.getData().size()); + } - ListCellRenderer toolTipRenderer = new ListCellRenderer() { + } - @Override - public Component getListCellRendererComponent(JList list, - Object value, - int index, - boolean isSelected, - boolean cellHasFocus) { - Component comp = renderer.getListCellRendererComponent( - list, - value, - index, - isSelected, - cellHasFocus - ); - if (comp instanceof JLabel) { - JLabel jcomp = (JLabel) comp; - jcomp.setToolTipText(jcomp.getText()); - } - return comp; - } - }; + /** + * Prépare un component de choix d'entités pour un type d'entité donné et pour un service de persistance donné. + * + * @param <D> le type de l'entité + * @param comboBox le component graphique à initialiser + */ + protected <D extends ReferentialDto> void prepareReferentialBeanComboBox(Class<D> dtoClass, BeanComboBox<ReferentialReference<D>> comboBox) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + + comboBox.init(decorator, Collections.<ReferentialReference<D>>emptyList()); - comboBox.getCombobox().setRenderer(toolTipRenderer); + JComboBox<ReferentialReference<D>> combobox = comboBox.getCombobox(); + + ListCellRenderer<ReferentialReference<D>> toolTipRenderer = new ComboBoxListCellRenderer<>(combobox.getRenderer()); + combobox.setRenderer(toolTipRenderer); if (log.isDebugEnabled()) { - log.debug("combo list [" + dtoClass.getName() + "] : " + - comboBox.getData().size()); - } - -// if (referentialEntity) { - //FIXME - - // listen on cache modification -// BeanComboBoxPropertyChangeListener listener = -// new BeanComboBoxPropertyChangeListener(realEntityClass, comboBox) { -// @Override -// public void propertyChange(PropertyChangeEvent evt) { -// if (log.isDebugEnabled()) { -// log.debug("entity list [" + evt.getPropertyName() + "]"); -// } -// super.propertyChange(evt); -// } -// }; -// service.addReferentielPropertyChangeListener(entityClass, listener); + log.debug("combo list [" + dtoClass.getName() + "] : " + comboBox.getData().size()); + } -// } + } + protected <D extends IdDto> Class<D> getDtoClass(JComponent list) { + Object clientProperty = list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + return (Class<D>) clientProperty; } /** @@ -756,7 +753,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * @author Tony Chemit - chemit@codelutin.com * @since 1.2 */ - public static class ReferentielListCellRenderer implements ListCellRenderer { + public static class ReferentielListCellRenderer<D extends IdDto> implements ListCellRenderer<AbstractReference<D>> { /** la couleur normal pour les entites non desactivees */ protected Color normalColor; @@ -764,18 +761,14 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E /** la couleur a utiliser pour les entites desactivees */ protected Color disableColor = Color.LIGHT_GRAY; - protected ListCellRenderer delegate; + protected ListCellRenderer<? super AbstractReference<D>> delegate; - public ReferentielListCellRenderer(ListCellRenderer delegate) { + public ReferentielListCellRenderer(ListCellRenderer<? super AbstractReference<D>> delegate) { this.delegate = delegate; } @Override - public Component getListCellRendererComponent(JList list, - Object value, - int index, - boolean isSelected, - boolean cellHasFocus) { + public Component getListCellRendererComponent(JList<? extends AbstractReference<D>> list, AbstractReference<D> value, int index, boolean isSelected, boolean cellHasFocus) { JComponent comp; comp = (JComponent) delegate.getListCellRendererComponent( list, @@ -792,19 +785,13 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E // par defaut, on utilise la couleur normale Color col = normalColor; - if (value != null && - (value instanceof ReferentialDto || value instanceof ReferenceDto)) { + if (value != null) { boolean enabled = true; - if (value instanceof ReferentialDto) { - - ReferentialDto e = (ReferentialDto) value; - enabled = e.isEnabled(); - - } else if (value instanceof ReferentialReferenceDto) { + if (value instanceof ReferentialReference<?>) { - ReferentialReferenceDto e = (ReferentialReferenceDto) value; + ReferentialReference e = (ReferentialReference) value; enabled = e.isEnabled(); } @@ -820,61 +807,79 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E comp.setToolTipText(tip); return comp; } +// +// @Override +// public Component getListCellRendererComponent(JList<? extends D> list, +// D value, +// int index, +// boolean isSelected, +// boolean cellHasFocus) { +// JComponent comp; +// comp = (JComponent) delegate.getListCellRendererComponent( +// list, +// value, +// index, +// isSelected, +// cellHasFocus); +// if (normalColor == null) { +// // premiere fois, on intialise la couleur dite normale +// normalColor = comp.getForeground(); +// } +// +// String tip = null; +// +// // par defaut, on utilise la couleur normale +// Color col = normalColor; +// if (value != null) { +// +// boolean enabled = true; +// +// if (value instanceof ReferentialReference<?>) { +// +// ReferentialReference e = (ReferentialReference) value; +// enabled = e.isEnabled(); +// +// } +// +// if (!enabled) { +// // l'entite est desactivee +// // on la grise pour bien la differencier +// col = disableColor; +// tip = t("observe.common.obsolete.entity", ((JLabel) comp).getText()); +// } +// } +// comp.setForeground(col); +// comp.setToolTipText(tip); +// return comp; +// } } - /** - * Un écouteur de changement des entités d'un type donnés contenues dans le - * modèle d'une liste déroulante graphique donnée. - * - * @param <E> le type des entités - */ - protected static class BeanComboBoxPropertyChangeListener - <E extends ReferentialDto> implements PropertyChangeListener { - - /** le type des entités à écouter */ - private final Class<E> entityClass; + private static class ComboBoxListCellRenderer<E> implements ListCellRenderer<E> { - /** la liste à choix graphique */ - private final BeanComboBox<E> comboBox; + private final ListCellRenderer<? super E> renderer; - public BeanComboBoxPropertyChangeListener(Class<E> entityClass, BeanComboBox<E> comboBox) { - this.entityClass = entityClass; - this.comboBox = comboBox; + public ComboBoxListCellRenderer(ListCellRenderer<? super E> renderer) { + this.renderer = renderer; } - @SuppressWarnings({"unchecked"}) @Override - public void propertyChange(PropertyChangeEvent evt) { - - // recuperation de la liste des entites - //TC-20100209 : on veut une copie de la liste puisqu'on peut la - // modifer via le filtre sur les entites sur le caractère actif - List<E> newValue = new ArrayList<E>((List<E>) evt.getNewValue()); - - if (log.isDebugEnabled()) { - log.debug("reloading entities list for [" + entityClass + - "], size : " + newValue.size()); - } - //TC-20100208 : on ne veut pas voir les elements du referentiel non actif - ReferentialDtos.filterReferentialListByStatus(newValue); - - E selectedItem = (E) comboBox.getSelectedItem(); - - comboBox.setData(newValue); - - if (selectedItem != null) { - - // obtain back the selected item from the new list - - E newSelectedItem = UIHelper.getEntity(newValue, selectedItem); - - comboBox.setSelectedItem(null); - - if (newSelectedItem != null) { - comboBox.setSelectedItem(newSelectedItem); - } + public Component getListCellRendererComponent(JList<? extends E> list, + E value, + int index, + boolean isSelected, + boolean cellHasFocus) { + Component comp = renderer.getListCellRendererComponent( + list, + value, + index, + isSelected, + cellHasFocus + ); + if (comp instanceof JLabel) { + JLabel jcomp = (JLabel) comp; + jcomp.setToolTipText(jcomp.getText()); } + return comp; } } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index e6a47de..b8d0a20 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -21,18 +21,21 @@ */ package fr.ird.observe.ui.content; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveSwingTechnicalException; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; -import java.util.LinkedHashSet; import java.util.Set; /** @@ -65,10 +68,11 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public static final String PROPERTY_CAN_WRITE = "canWrite"; - public static final String PROPERTY_FORM_DTO = "formDto"; + public static final String PROPERTY_FORM = "form"; /** Logger */ static private final Log log = LogFactory.getLog(ContentUIModel.class); + private static final long serialVersionUID = 1L; protected final Class<E> beanType; @@ -76,7 +80,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab //FIXME // protected TopiaEntityBinder<E> loadBinder; - protected FormDto<E> formDto; + protected Form<E> form; protected E bean; @@ -94,19 +98,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab protected boolean canWrite; - public ContentUIModel(Class<E> beanType) { - this.beanType = beanType; - try { - setBean(beanType.newInstance()); - - } catch (Exception e) { - // ne devrait jamain arrive - if (log.isErrorEnabled()) { - log.error(e); - } - } - - } + private ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { @@ -125,6 +117,20 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab } + public ContentUIModel(Class<E> beanType) { + this.beanType = beanType; + try { + setBean(beanType.newInstance()); + + } catch (Exception e) { + // ne devrait jamain arrive + if (log.isErrorEnabled()) { + log.error(e); + } + } + + } + public E getBean() { return bean; } @@ -135,14 +141,14 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_EDIT_BEAN, oldValue, bean); } - public FormDto<E> getFormDto() { - return formDto; + public Form<E> getForm() { + return form; } - public void setFormDto(FormDto<E> formDto) { - Object oldValue = getFormDto(); - this.formDto = formDto; - firePropertyChange(PROPERTY_FORM_DTO, oldValue, formDto); + public void setForm(Form<E> form) { + Object oldValue = getForm(); + this.form = form; + firePropertyChange(PROPERTY_FORM, oldValue, form); } public ContentMode getMode() { @@ -246,36 +252,70 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_CAN_WRITE, oldValue, canWrite); } - public <D extends ReferentialDto> Set<ReferentialReferenceDto<D>> getReferentialReferences(Class<D> type, String name) { + public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(Class<D> type, String name) { - ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); - LinkedHashSet<ReferentialReferenceDto<D>> reference = (LinkedHashSet)referenceSetDto1.getReference(); - return reference; + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); +// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); +// return reference; + return null; + + } + + public <D extends DataDto> Set<DataReference<D>> getDataReferences(Class<D> type, String name) { + + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); +// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); +// return reference; + return null; } - public <D extends IdDto> ReferenceSetDto<D> getReferenceSet(Class<D> type, String name) { + public <D extends DataDto> DataReferenceSet<D> getDataReferenceSet(Class<D> type, String name) { - ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); - return referenceSetDto; + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); +// return referenceSetDto; + return null; } - public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String name, String id) { + public <D extends ReferentialDto> ReferentialReference<D> getReferentialReferenceById(Class<D> type, String name, String id) { + + ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); - ReferentialReferenceDto<D> referenceSetDto = (ReferentialReferenceDto<D>) formDto.getReferenceById(type, name, id); - return referenceSetDto; + ReferentialReference<D> reference = null; + if (referentialReferenceSet != null) { + reference = referentialReferenceSet.getReferenceById(id); + } + return reference; } - public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { + public void setReferentialReferenceSets(ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName) { + this.referentialReferenceSetsByPropertyName = referentialReferenceSetsByPropertyName; + } - ReferenceDto<D> referenceSetDto = formDto.getReferenceById(type, name, id); - return referenceSetDto; + protected <R extends DataDto> Optional<Set<DataReference<R>>> tryToGetDataReferenceSet(Class<R> dtoClass, String propertyName) { + //FIXME A mettre dans ce modèle + return null; + } + protected <R extends ReferentialDto> Optional<Set<ReferentialReference<R>>> tryToGetReferentialReferenceSet(Class<R> dtoClass, String propertyName) { + ReferentialReferenceSet<R> referentialReferenceSet = getReferentialReferenceSet(propertyName); + Set<ReferentialReference<R>> references = null; + if (referentialReferenceSet != null) { + references = referentialReferenceSet.getReferences(); + } + return Optional.fromNullable(references); } protected void firePropertyChange(String propertyName, Object newValue) { firePropertyChange(propertyName, null, newValue); } + + private <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(String propertyName) { + return (ReferentialReferenceSet<R>) referentialReferenceSetsByPropertyName.get(propertyName); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx index 9d82cf9..74ec41d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx @@ -25,7 +25,7 @@ <import> fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BranchlineDto - fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.services.dto.referential.longline.BaitTypeDto fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto @@ -90,7 +90,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='topTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -100,7 +100,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='tracelineTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -180,7 +180,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='hookTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='hookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> + <BeanComboBox id='hookType' constructorParams='this' genericType='ReferentialReference<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -190,7 +190,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='hookSizeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> + <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferentialReference<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> @@ -210,7 +210,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferentialReference<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -220,7 +220,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitSettingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferentialReference<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> @@ -230,7 +230,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferentialReference<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 1478989..608d4fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -31,8 +31,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.entities.longline.SectionWithTemplate; import fr.ird.observe.entities.longline.SectionWithTemplates; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.FormDtos; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -412,16 +411,16 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong SetLonglineDetailCompositionService setLonglineService = getSetLonglineDetailCompositionService(); - FormDto<SetLonglineDetailCompositionDto> setLonglineDtoFormDto = setLonglineService.loadForm(setId); - getModel().setFormDto(setLonglineDtoFormDto); + Form<SetLonglineDetailCompositionDto> setLonglineDtoForm = setLonglineService.loadForm(setId); + getModel().setForm(setLonglineDtoForm); SetLonglineDetailCompositionDto bean = getBean(); - SetLonglineDetailCompositionDtos.copySetLonglineDetailCompositionDto(setLonglineDtoFormDto.getForm(), bean); + SetLonglineDetailCompositionDtos.copySetLonglineDetailCompositionDto(setLonglineDtoForm.getObject(), bean); //FIXME Voir comment gérer ça - FormDto<BranchlineDto> branchlineDtoFormDto = FormDtos.newFormDto(BranchlineDto.class, null, null, null); + Form<BranchlineDto> branchlineDtoForm = Form.newFormDto(BranchlineDto.class, null, null, null); - getUi().getBranchlineDetailUI().getModel().setFormDto(branchlineDtoFormDto); + getUi().getBranchlineDetailUI().getModel().setForm(branchlineDtoForm); //FIXME Validate this default date if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css index bd7fb4a..c826cfb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css @@ -54,7 +54,7 @@ #mitigationType { bean:{bean}; property: {SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE}; - selected:{bean.getMitigationType()}; + selected:{(Collection)bean.getMitigationType()}; _validatorLabel: {t("observe.longlineGlobalComposition.mitigationType")}; showListLabel: true; universeLabel:{t("observe.longlineGlobalComposition.availableMitigationType")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx index c017aa1..27c7475 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx @@ -26,8 +26,8 @@ <import> fr.ird.observe.ObserveSwingApplicationContext fr.ird.observe.services.dto.CommentableDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.MitigationTypeDto fr.ird.observe.ui.actions.shared.ResetEditUIAction fr.ird.observe.ui.actions.shared.SaveEditUIAction @@ -44,6 +44,7 @@ java.awt.Dimension javax.swing.JLabel + java.util.Collection static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n @@ -113,7 +114,7 @@ <Table fill='both' constraints='BorderLayout.NORTH'> <row> <cell weighty="1" weightx="1"> - <FilterableDoubleList id='mitigationType' genericType='ReferentialReferenceDto<MitigationTypeDto>' _entityClass='MitigationTypeDto.class'/> + <FilterableDoubleList id='mitigationType' genericType='ReferentialReference<MitigationTypeDto>' _entityClass='MitigationTypeDto.class'/> </cell> </row> </Table> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 2144003..54620da 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -26,7 +26,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDtos; @@ -143,9 +143,9 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong ContentMode mode = computeContentMode(); // update mode - FormDto<SetLonglineGlobalCompositionDto> formDto = getSetLonglineGlobalCompositionService().loadForm(setId); - getModel().setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), getBean()); + Form<SetLonglineGlobalCompositionDto> form = getSetLonglineGlobalCompositionService().loadForm(setId); + getModel().setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), getBean()); // utilisation du mode requis setContentMode(mode); @@ -157,8 +157,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open floatlinesComposition tab FloatlinesCompositionUIModel floatlinesCompositionModel = getUi().getFloatlinesCompositionModel(); - floatlinesCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), floatlinesCompositionModel.getBean()); + floatlinesCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), floatlinesCompositionModel.getBean()); FloatlinesCompositionUI compositionUI = getUi().getFloatlinesCompositionUI(); compositionUI.open(); @@ -168,8 +168,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open branchlinesComposition tab BranchlinesCompositionUIModel branchlinesCompositionModel = getUi().getBranchlinesCompositionModel(); - branchlinesCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), branchlinesCompositionModel.getBean()); + branchlinesCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), branchlinesCompositionModel.getBean()); BranchlinesCompositionUI compositionUI = getUi().getBranchlinesCompositionUI(); compositionUI.open(); @@ -179,8 +179,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open hooksComposition tab HooksCompositionUIModel hooksCompositionModel = getUi().getHooksCompositionModel(); - hooksCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), hooksCompositionModel.getBean()); + hooksCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), hooksCompositionModel.getBean()); HooksCompositionUI compositionUI = getUi().getHooksCompositionUI(); compositionUI.open(); @@ -190,8 +190,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open baitsComposition tab BaitsCompositionUIModel baitsCompositionModel = getUi().getBaitsCompositionModel(); - baitsCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), baitsCompositionModel.getBean()); + baitsCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), baitsCompositionModel.getBean()); BaitsCompositionUI compositionUI = getUi().getBaitsCompositionUI(); compositionUI.open(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx index 8ff2397..dc21bf8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx @@ -23,9 +23,9 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDto' contentTitle='{n("observe.setLongline.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.SetLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.SettingShapeDto fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto @@ -167,7 +167,7 @@ <JLabel id='settingShapeLabel'/> </cell> <cell columns="2" fill="both"> - <BeanComboBox id='settingShape' constructorParams='this' genericType='ReferenceDto<SettingShapeDto>' _entityClass='SettingShapeDto.class'/> + <BeanComboBox id='settingShape' constructorParams='this' genericType='ReferentialReference<SettingShapeDto>' _entityClass='SettingShapeDto.class'/> </cell> </row> <!-- line type --> @@ -176,7 +176,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -186,7 +186,7 @@ <JLabel id='lightsticksTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksType' constructorParams='this' genericType='ReferenceDto<LightsticksTypeDto>' _entityClass='LightsticksTypeDto.class'/> + <BeanComboBox id='lightsticksType' constructorParams='this' genericType='ReferentialReference<LightsticksTypeDto>' _entityClass='LightsticksTypeDto.class'/> </cell> </row> @@ -196,7 +196,7 @@ <JLabel id='lightsticksColorLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='ReferenceDto<LightsticksColorDto>' _entityClass='LightsticksColorDto.class'/> + <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='ReferentialReference<LightsticksColorDto>' _entityClass='LightsticksColorDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index 1467bb2..ef90f9c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -22,14 +22,12 @@ package fr.ird.observe.ui.content.impl.longline; * #L% */ -import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDtos; @@ -216,21 +214,21 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { SetLonglineDto bean = getBean(); - FormDto<SetLonglineDto> formDto; + Form<SetLonglineDto> form; if (setId == null) { // create mode - formDto = getSetLonglineService().preCreate(activityId); + form = getSetLonglineService().preCreate(activityId); } else { // update mode - formDto = getSetLonglineService().loadForm(setId); + form = getSetLonglineService().loadForm(setId); } - getModel().setFormDto(formDto); - SetLonglineDtos.copySetLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + SetLonglineDtos.copySetLonglineDto(form.getObject(), bean); getUi().getSettingStartCoordinates().setLatitudeAndLongitude(bean.getSettingStartLatitude(), bean.getSettingStartLongitude()); getUi().getSettingEndCoordinates().setLatitudeAndLongitude(bean.getSettingEndLatitude(), bean.getSettingEndLongitude()); @@ -367,7 +365,9 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<SetLonglineDto> refBean = ReferenceDtos.newReferenceDto(bean, ImmutableSet.<String>of()); + //FIXME DataReference +// DataReference<SetLonglineDto> refBean = ReferenceDtos.newReferenceDto(bean, ImmutableSet.<String>of()); + DataReference<SetLonglineDto> refBean = null; node = treeHelper.addSetLongline(parentNode, refBean); stopEditUI(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css index 0be8c63..7bde865 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css @@ -35,7 +35,7 @@ #observedSystem { bean:{bean}; property: {ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getObservedSystem())}; + selected:{(Collection)bean.getObservedSystem()}; _validatorLabel: {t("observe.common.observedSystem")}; showListLabel: true; universeLabel:{t("observe.activityObservedSystem.availableObservedSystem")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx index 0fa035b..fe6310f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx @@ -23,9 +23,8 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='ActivitySeineObservedSystemDto' contentTitle='{n("observe.activitySeineObservedSystem.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ObservedSystemDto fr.ird.observe.ui.actions.shared.ResetEditUIAction fr.ird.observe.ui.actions.shared.SaveEditUIAction @@ -35,6 +34,7 @@ java.util.List java.util.ArrayList + java.util.Collection java.awt.Dimension @@ -72,7 +72,7 @@ <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='observedSystemPane' onFocusGained='observedSystem.requestFocus()'> <FilterableDoubleList id='observedSystem' - genericType='ReferenceDto<ObservedSystemDto>' + genericType='ReferentialReference<ObservedSystemDto>' _entityClass='ObservedSystemDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 0591cab..1153c7d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; @@ -89,9 +89,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ getModel().setMode(mode); - FormDto<ActivitySeineObservedSystemDto> formDto = getActivitySeineObservedSystemService().loadForm(activityId); - getModel().setFormDto(formDto); - ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(formDto.getForm(), getBean()); + Form<ActivitySeineObservedSystemDto> form = getActivitySeineObservedSystemService().loadForm(activityId); + getModel().setForm(form); + ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(form.getObject(), getBean()); if (mode == ContentMode.UPDATE) { getUi().startEdit(null); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index fc99f0d..063d22f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -24,13 +24,12 @@ contentTitle='{n("observe.floatingObjectTransmittingBuoyOperation.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto fr.ird.observe.services.dto.seine.TransmittingBuoyDto fr.ird.observe.services.dto.constants.seine.Ownership fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation fr.ird.observe.services.dto.referential.CountryDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto fr.ird.observe.ui.actions.shared.ResetEditUIAction @@ -143,7 +142,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyOperation1' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyOperationDto>' + genericType='ReferentialReference<TransmittingBuoyOperationDto>' _entityClass='TransmittingBuoyOperationDto.class'/> </cell> </row> @@ -153,7 +152,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyType1' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyTypeDto>' + genericType='ReferentialReference<TransmittingBuoyTypeDto>' _entityClass='TransmittingBuoyTypeDto.class'/> </cell> </row> @@ -172,7 +171,7 @@ <JLabel id='country1Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country1' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country1' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> @@ -202,7 +201,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyOperation2' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyOperationDto>' + genericType='ReferentialReference<TransmittingBuoyOperationDto>' _entityClass='TransmittingBuoyOperationDto.class'/> </cell> </row> @@ -212,7 +211,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyType2' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyTypeDto>' + genericType='ReferentialReference<TransmittingBuoyTypeDto>' _entityClass='TransmittingBuoyTypeDto.class'/> </cell> </row> @@ -231,7 +230,7 @@ <JLabel id='country2Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country2' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country2' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 3ef90fc..9bac199 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -26,10 +26,10 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; @@ -119,10 +119,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH getModel().setEditing(false); - FormDto<FloatingObjectTransmittingBuoyDto> formDto = getTransmittingBuoyOperationService().loadForm(dcpId); + Form<FloatingObjectTransmittingBuoyDto> form = getTransmittingBuoyOperationService().loadForm(dcpId); - getModel().setFormDto(formDto); - FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(formDto.getForm(), bean); + getModel().setForm(form); + FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(form.getObject(), bean); if (bean.sizeTransmittingBuoy() >= 1) { TransmittingBuoyDtos.copyTransmittingBuoyDto( @@ -205,7 +205,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH return operation != null && "3".equals(operation.getCode()); } - public boolean isBalisePose(ReferentialReferenceDto<TransmittingBuoyOperationDto> operation) { + public boolean isBalisePose(ReferentialReference<TransmittingBuoyOperationDto> operation) { return operation != null && "3".equals(operation.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE)); } @@ -253,11 +253,11 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH editorPanel.removeAll(); String[] codeOperations = typeOperation.getCodeOperation(); - List<ReferentialReferenceDto<TransmittingBuoyOperationDto>> operations = + List<ReferentialReference<TransmittingBuoyOperationDto>> operations = ui.getTransmittingBuoyOperation1().getData(); TransmittingBuoyDto transmittingBuoy; - ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation; + ReferentialReference<TransmittingBuoyOperationDto> objectOperation; switch (nbBalises) { case 0: // no balise @@ -317,7 +317,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } protected void bindEditBalise(TransmittingBuoyDto editBean, - ReferentialReferenceDto<TransmittingBuoyOperationDto> transmittingBuoyOperation, + ReferentialReference<TransmittingBuoyOperationDto> transmittingBuoyOperation, TransmittingBuoyDto transmittingBuoy) { //FIXME @@ -348,10 +348,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH bean.getTransmittingBuoy().add(editBean); } - protected ReferentialReferenceDto<TransmittingBuoyOperationDto> getObjectOperation(List<ReferentialReferenceDto<TransmittingBuoyOperationDto>> objectOperations, + protected ReferentialReference<TransmittingBuoyOperationDto> getObjectOperation(List<ReferentialReference<TransmittingBuoyOperationDto>> objectOperations, String codeOperation) { - ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation = null; - for (ReferentialReferenceDto<TransmittingBuoyOperationDto> op : objectOperations) { + ReferentialReference<TransmittingBuoyOperationDto> objectOperation = null; + for (ReferentialReference<TransmittingBuoyOperationDto> op : objectOperations) { if (codeOperation.equals(op.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE))) { objectOperation = op; break; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx index 96942fc..029265f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' contentTitle='{n("observe.floatingObject.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ObjectFateDto fr.ird.observe.services.dto.referential.seine.ObjectOperationDto fr.ird.observe.services.dto.referential.seine.ObjectTypeDto @@ -64,7 +64,7 @@ <JLabel id='objectOperationLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectOperation' constructorParams='this' genericType='ReferenceDto<ObjectOperationDto>' _entityClass='ObjectOperationDto.class'/> + <BeanComboBox id='objectOperation' constructorParams='this' genericType='ReferentialReference<ObjectOperationDto>' _entityClass='ObjectOperationDto.class'/> </cell> </row> <row> @@ -72,7 +72,7 @@ <JLabel id='objectTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectType' constructorParams='this' genericType='ReferenceDto<ObjectTypeDto>' _entityClass='ObjectTypeDto.class'/> + <BeanComboBox id='objectType' constructorParams='this' genericType='ReferentialReference<ObjectTypeDto>' _entityClass='ObjectTypeDto.class'/> </cell> </row> <row> @@ -80,7 +80,7 @@ <JLabel id='objectFateLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectFate' constructorParams='this' genericType='ReferenceDto<ObjectFateDto>' _entityClass='ObjectFateDto.class'/> + <BeanComboBox id='objectFate' constructorParams='this' genericType='ReferentialReference<ObjectFateDto>' _entityClass='ObjectFateDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index d0b926e..29f70a6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -23,10 +23,10 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.FloatingObjectDtos; @@ -110,21 +110,21 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> FloatingObjectDto bean = getBean(); - FormDto<FloatingObjectDto> formDto; + Form<FloatingObjectDto> form; if (dcpId == null) { // create mode - formDto = getFloatingObjectService().preCreate(activityId); + form = getFloatingObjectService().preCreate(activityId); } else { // update mode - formDto = getFloatingObjectService().loadForm(dcpId); + form = getFloatingObjectService().loadForm(dcpId); } - getModel().setFormDto(formDto); - FloatingObjectDtos.copyFloatingObjectDto(formDto.getForm(), bean); + getModel().setForm(form); + FloatingObjectDtos.copyFloatingObjectDto(form.getObject(), bean); // utilisation du mode requis setContentMode(mode); @@ -186,7 +186,8 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<FloatingObjectDto> beanRef = FloatingObjectDtos.newReferenceDto(bean); + + DataReference<FloatingObjectDto> beanRef = ObserveSwingApplicationContext.get().getReferenceBinderEngine().transformDataDtoToReference(getDecoratorService().getReferentialLocale(), bean); node = treeHelper.addFloatingObject(parentNode, beanRef); stopEditUI(); if (refresh) { @@ -215,6 +216,6 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> } protected FloatingObjectService getFloatingObjectService() { - return ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); + return getDataSource().newService(FloatingObjectService.class); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx index 3f0f532..f5bfefa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx @@ -23,9 +23,9 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetSeineDto' contentTitle='{n("observe.setSeine.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto fr.ird.observe.ui.actions.shared.CancelCreateUIAction fr.ird.observe.ui.actions.shared.DeleteDataUIAction @@ -93,7 +93,7 @@ <JLabel id='reasonForNullSetLabel'/> </cell> <cell anchor='east' fill='both'> - <BeanComboBox id='reasonForNullSet' genericType='ReferenceDto<ReasonForNullSetDto>' _entityClass='ReasonForNullSetDto.class' constructorParams='this'/> + <BeanComboBox id='reasonForNullSet' genericType='ReferentialReference<ReasonForNullSetDto>' _entityClass='ReasonForNullSetDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 6ac234a..7252aec 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -21,15 +21,13 @@ */ package fr.ird.observe.ui.content.impl.seine; -import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.db.constants.ConstantsI18n; -import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.db.constants.ConstantsI18n; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.SchoolType; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; @@ -170,33 +168,33 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { SetSeineDto bean = getBean(); - FormDto<SetSeineDto> formDto; + Form<SetSeineDto> form; if (setId == null) { // create mode - formDto = getSetSeineService().preCreate(selectedRouteId, activityId); + form = getSetSeineService().preCreate(selectedRouteId, activityId); } else { // update mode - formDto = getSetSeineService().loadForm(setId); + form = getSetSeineService().loadForm(setId); } // utilisation du mode requis setContentMode(mode); - getModel().setFormDto(formDto); - SetSeineDtos.copySetSeineDto(formDto.getForm(), bean); + getModel().setForm(form); + SetSeineDtos.copySetSeineDto(form.getObject(), bean); RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); //FIXME ! Pourquoi donc récupérer le formulaire d'une route ici ? juste remonter la donnée dont on a //FIXME besoin depuis le service - FormDto<RouteDto> route = routeService.loadForm(selectedRouteId); + Form<RouteDto> route = routeService.loadForm(selectedRouteId); Date time = bean.getStartTime(); - Date date = route.getForm().getDate(); + Date date = route.getObject().getDate(); Date dateAndTime = DateUtil.getDateAndTime(date, time, false, false); @@ -274,9 +272,11 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<SetSeineDto> refBean = ReferenceDtos.newReferenceDto(SetSeineDto.class, ImmutableSet.of(SetSeineDto.PROPERTY_ID)); - refBean.setId(bean.getId()); - refBean.setPropertyValue(SetSeineDto.PROPERTY_ID, bean.getId()); + //FIXME DataReference + DataReference<SetSeineDto> refBean = null; +// ReferenceDtos.newReferenceDto(SetSeineDto.class, ImmutableSet.of(SetSeineDto.PROPERTY_ID)); +// refBean.setId(bean.getId()); +// refBean.setPropertyValue(SetSeineDto.PROPERTY_ID, bean.getId()); node = treeHelper.addSetSeine(parentNode, refBean); stopEditUI(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index d919ca3..967e396 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -29,7 +29,7 @@ } #listHeader { - beanType:{(Class)ReferenceDto.class}; + beanType:{(Class)DataReference.class}; _doInit:{getModel().getChildType()}; showReset:true; list:{list}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 42adbab..d5d3801 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -23,14 +23,15 @@ <fr.ird.observe.ui.content.ContentUI abstract='true' superGenericType='E' - genericType='E extends IdDto, C extends IdDto'> + genericType='E extends IdDto, C extends DataDto'> <import> fr.ird.observe.ui.actions.shared.ReOpenUIAction fr.ird.observe.ui.actions.shared.SelectNodeUIAction - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.IdDto + fr.ird.observe.services.dto.DataDto + fr.ird.observe.services.dto.DataReference jaxx.runtime.swing.editor.bean.BeanListHeader @@ -57,12 +58,12 @@ <script><![CDATA[ -public final ReferenceDto<C> getSelectedData() { - return (ReferenceDto<C>) getSelectedBean(list); +public final DataReference<C> getSelectedData() { + return (DataReference<C>) getSelectedBean(list); } -public final List<ReferenceDto<C>> getSelectedDatas() { - return (List<ReferenceDto<C>>) list.getSelectedValuesList(); +public final List<DataReference<C>> getSelectedDatas() { + return (List<DataReference<C>>) list.getSelectedValuesList(); } ]]></script> @@ -75,7 +76,7 @@ public final List<ReferenceDto<C>> getSelectedDatas() { <JList id='list' onMouseClicked='getHandler().onDataSelected(event)'/> - <BeanListHeader id='listHeader' genericType='ReferenceDto< C >' _entityClass="getModel().getChildType()"/> + <BeanListHeader id='listHeader' genericType='DataReference< C >' _entityClass="getModel().getChildType()"/> </JScrollPane> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java index b6db1fe..bb87833 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java @@ -21,10 +21,11 @@ */ package fr.ird.observe.ui.content.list; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.actions.shared.SelectNodeUIAction; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -35,8 +36,14 @@ import jaxx.runtime.swing.editor.bean.BeanListHeader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.*; -import java.awt.*; +import javax.swing.DefaultListCellRenderer; +import javax.swing.Icon; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; +import java.awt.Color; +import java.awt.Component; import java.awt.event.MouseEvent; import java.util.List; @@ -46,7 +53,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.5 */ -public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> extends ContentUIHandler<E> { +public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> extends ContentUIHandler<E> { /** Logger */ static private Log log = LogFactory.getLog(ContentListUIHandler.class); @@ -64,7 +71,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext * @param bean the container of entities to display * @return the list of entities to display */ - protected abstract List<ReferenceDto<C>> getChilds(E bean); + protected abstract List<DataReference<C>> getChilds(E bean); @Override protected boolean computeCanWrite(ObserveSwingDataSource source) { @@ -130,7 +137,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext loadParentBean(); E bean = getBean(); - List<ReferenceDto<C>> data = getChilds(bean); + List<DataReference<C>> data = getChilds(bean); model.setData(data); @@ -155,7 +162,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext * @param event the mouse event fired */ public void onDataSelected(MouseEvent event) { - ReferenceDto<C> selectedData = getUi().getSelectedData(); + DataReference<C> selectedData = getUi().getSelectedData(); if (event.getClickCount() > 1) { gotoChild(selectedData); return; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index e3a1958..069a31c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -21,8 +21,9 @@ */ package fr.ird.observe.ui.content.list; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.content.ContentUIModel; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; @@ -36,7 +37,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since .14 */ -public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> extends ContentUIModel<E> { +public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> extends ContentUIModel<E> { public static final String PROPERTY_DATA = "data"; @@ -55,10 +56,10 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten protected final Class<C> childType; /** liste des entites */ - protected List<ReferenceDto<C>> data; + protected List<DataReference<C>> data; /** entités sélectionnées dans la liste */ - protected List<ReferenceDto<C>> selectedDatas; + protected List<DataReference<C>> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -72,11 +73,11 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten return childType; } - public List<ReferenceDto<C>> getData() { + public List<DataReference<C>> getData() { return data; } - public void setData(List<ReferenceDto<C>> data) { + public void setData(List<DataReference<C>> data) { boolean wasEmpty = isEmpty(); this.data = data; // on force toujours la propagation de la liste @@ -85,16 +86,16 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten setSelectedDatas(null); } - public ReferenceDto<C> getSelectedData() { + public DataReference<C> getSelectedData() { return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public List<ReferenceDto<C>> getSelectedDatas() { + public List<DataReference<C>> getSelectedDatas() { return selectedDatas; } - public void setSelectedDatas(List<ReferenceDto<C>> selectedDatas) { - List<ReferenceDto<C>> old = getSelectedDatas(); + public void setSelectedDatas(List<DataReference<C>> selectedDatas) { + List<DataReference<C>> old = getSelectedDatas(); this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { log.debug("New selected datas : " + selectedDatas); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index d20e932..62ff0cb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -25,9 +25,9 @@ package fr.ird.observe.ui.content.list.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDtos; @@ -114,24 +114,24 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin } @Override - protected List<ReferenceDto<ActivityLonglineDto>> getChilds(TripLonglineDto bean) { + protected List<DataReference<ActivityLonglineDto>> getChilds(TripLonglineDto bean) { ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceSetDto<ActivityLonglineDto> activityLonglineStubByRoute = service.getActivityLonglineByTripLongline(bean.getId()); + DataReferenceSet<ActivityLonglineDto> activityLonglineStubByRoute = service.getActivityLonglineByTripLongline(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + activityLonglineStubByRoute.sizeReference() + " activities."); } - return new ArrayList<>(activityLonglineStubByRoute.getReference()); + return new ArrayList<>(activityLonglineStubByRoute.getReferences()); } @Override protected void loadParentBean() { - TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - FormDto<TripLonglineDto> tripLonglineDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(tripLonglineDtoFormDto); - TripLonglineDtos.copyTripLonglineDto(tripLonglineDtoFormDto.getForm(), getBean()); + TripLonglineService service = getDataSource().newService(TripLonglineService.class); + Form<TripLonglineDto> form = service.loadForm(getSelectedParentId()); + getModel().setForm(form); + TripLonglineDtos.copyTripLonglineDto(form.getObject(), getBean()); } } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx index d94773e..182fbb2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx @@ -24,7 +24,6 @@ emptyListMessage='{n("observe.message.no.trip.for.program")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.referential.ProgramDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java index 620bcab..d69a402 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -25,9 +25,9 @@ package fr.ird.observe.ui.content.list.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; @@ -97,24 +97,24 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri } @Override - protected List<ReferenceDto<TripLonglineDto>> getChilds(ProgramDto bean) { + protected List<DataReference<TripLonglineDto>> getChilds(ProgramDto bean) { TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(bean.getId()); + DataReferenceSet<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + tripLonglineByProgram.sizeReference() + " trips."); } - return new ArrayList<>(tripLonglineByProgram.getReference()); + return new ArrayList<>(tripLonglineByProgram.getReferences()); } @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - FormDto<ProgramDto> programDtoFormDto = service.loadToRead(ProgramDto.class, getSelectedParentId()); - getModel().setFormDto(programDtoFormDto); - ProgramDtos.copyProgramDto(programDtoFormDto.getForm(), getBean()); + Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); + getModel().setForm(programDtoForm); + ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java index d81c3fe..ae7b15b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.list.impl.longline; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.content.list.ContentListUIModel; @@ -44,7 +44,7 @@ public class TripLonglinesUIModel extends ContentListUIModel<ProgramDto, TripLon } @Override - public void setData(List<ReferenceDto<TripLonglineDto>> data) { + public void setData(List<DataReference<TripLonglineDto>> data) { super.setData(data); setSelectedDatas(null); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 7adb4c1..5121191 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.RouteDtos; @@ -112,23 +112,23 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti } @Override - protected List<ReferenceDto<ActivitySeineDto>> getChilds(RouteDto bean) { + protected List<DataReference<ActivitySeineDto>> getChilds(RouteDto bean) { ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceSetDto<ActivitySeineDto> activitySeineByRoute = service.getActivitySeineByRoute(bean.getId()); + DataReferenceSet<ActivitySeineDto> activitySeineByRoute = service.getActivitySeineByRoute(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + activitySeineByRoute.sizeReference() + " activities."); } - return new ArrayList<>(activitySeineByRoute.getReference()); + return new ArrayList<>(activitySeineByRoute.getReferences()); } @Override protected void loadParentBean() { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - FormDto<RouteDto> routeDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(routeDtoFormDto); - RouteDtos.copyRouteDto(routeDtoFormDto.getForm(), getBean()); + Form<RouteDto> routeDtoForm = service.loadForm(getSelectedParentId()); + getModel().setForm(routeDtoForm); + RouteDtos.copyRouteDto(routeDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index 0392ab5..e569cac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDtos; @@ -109,24 +109,24 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto } @Override - protected List<ReferenceDto<RouteDto>> getChilds(TripSeineDto bean) { + protected List<DataReference<RouteDto>> getChilds(TripSeineDto bean) { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceSetDto<RouteDto> routeByTripSeine = service.getRouteByTripSeine(bean.getId()); + DataReferenceSet<RouteDto> routeByTripSeine = service.getRouteByTripSeine(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + routeByTripSeine.sizeReference() + " routes."); } - return new ArrayList<>(routeByTripSeine.getReference()); + return new ArrayList<>(routeByTripSeine.getReferences()); } @Override protected void loadParentBean() { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(tripSeineDtoFormDto); - TripSeineDtos.copyTripSeineDto(tripSeineDtoFormDto.getForm(), getBean()); + Form<TripSeineDto> tripSeineDtoForm = service.loadForm(getSelectedParentId()); + getModel().setForm(tripSeineDtoForm); + TripSeineDtos.copyTripSeineDto(tripSeineDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx index aa5089a..a3a18fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx @@ -25,7 +25,6 @@ emptyListMessage='{n("observe.message.no.trip.for.program")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.ActivitySeineDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java index f978250..1dbf48f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -94,24 +94,24 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe } @Override - protected List<ReferenceDto<TripSeineDto>> getChilds(ProgramDto bean) { + protected List<DataReference<TripSeineDto>> getChilds(ProgramDto bean) { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(bean.getId()); + DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + tripSeineByProgram.sizeReference() + " trips."); } - return new ArrayList<>(tripSeineByProgram.getReference()); + return new ArrayList<>(tripSeineByProgram.getReferences()); } @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - FormDto<ProgramDto> programDtoFormDto = service.loadToRead(ProgramDto.class, getSelectedParentId()); - getModel().setFormDto(programDtoFormDto); - ProgramDtos.copyProgramDto(programDtoFormDto.getForm(), getBean()); + Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); + getModel().setForm(programDtoForm); + ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index f28ed51..a245b37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -22,10 +22,13 @@ package fr.ird.observe.ui.content.list.impl.seine; * #L% */ +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; +import java.util.List; + /** * Created on 9/26/14. * @@ -40,4 +43,10 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD super(ProgramDto.class, TripSeineDto.class); } + @Override + public void setData(List<DataReference<TripSeineDto>> data) { + super.setData(data); + setSelectedDatas(null); + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java index 9d39bfe..7f43399 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java @@ -101,7 +101,7 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU ContentOpenableUI<E> ui = getUi(); // On charge les ensembles de références utilisées dans les combobox - updateReferenceSets(); + updateUiWithReferenceSetsFromModel(); // on repaint le parent (le program devient alors ouvert) ObserveTreeHelper treeHelper = getTreeHelper(ui); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx index 77486f9..35e1fd6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx @@ -26,10 +26,10 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.SetLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto fr.ird.observe.ui.actions.shared.DeleteDataUIAction @@ -93,7 +93,7 @@ <JLabel id='vesselActivityLonglineLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='vesselActivityLongline' genericType='ReferenceDto<VesselActivityLonglineDto>' _entityClass='VesselActivityLonglineDto.class' constructorParams='this'/> + <BeanComboBox id='vesselActivityLongline' genericType='ReferentialReference<VesselActivityLonglineDto>' _entityClass='VesselActivityLonglineDto.class' constructorParams='this'/> </cell> </row> @@ -102,7 +102,7 @@ <JLabel id='fpaZoneLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='fpaZone' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class' constructorParams='this'/> + <BeanComboBox id='fpaZone' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index e0424d7..8b7a80c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.open.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDtos; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -172,22 +172,22 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity boolean create = activityId == null; - FormDto<ActivityLonglineDto> formDto; + Form<ActivityLonglineDto> form; if (create) { // create mode - formDto = getActivityLonglineService().preCreate(tripId); + form = getActivityLonglineService().preCreate(tripId); } else { // update mode - formDto = getActivityLonglineService().loadForm(activityId); + form = getActivityLonglineService().loadForm(activityId); } setContentMode(mode); - getModel().setFormDto(formDto); - ActivityLonglineDtos.copyActivityLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + ActivityLonglineDtos.copyActivityLonglineDto(form.getObject(), bean); if (log.isDebugEnabled()) { log.debug(" long - lat = " + bean.getLongitude() + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java index b32227c..a490de1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.open.impl.longline; import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; import org.nuiton.util.DateUtil; @@ -54,7 +54,7 @@ public class ActivityLonglineUIModel extends ContentOpenableUIModel<ActivityLong } public boolean isSetOperation() { - ReferentialReferenceDto<VesselActivityLonglineDto> vesselActivityLongline = bean.getVesselActivityLongline(); + ReferentialReference<VesselActivityLonglineDto> vesselActivityLongline = bean.getVesselActivityLongline(); return vesselActivityLongline != null && VESSEL_ACTIVITY_ID_FOR_SET.equals(vesselActivityLongline.getId()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx index 02f3057..068d309 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx @@ -26,10 +26,10 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.ActivityLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.PersonDtos fr.ird.observe.services.dto.referential.VesselDto @@ -93,7 +93,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='tripTypeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='tripType' constructorParams='this' genericType='ReferenceDto<TripTypeDto>' _entityClass='TripTypeDto.class'/> + <BeanComboBox id='tripType' constructorParams='this' genericType='ReferentialReference<TripTypeDto>' _entityClass='TripTypeDto.class'/> </cell> </row> @@ -103,7 +103,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -113,7 +113,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -123,7 +123,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -133,7 +133,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferentialReference<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -143,7 +143,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -153,7 +153,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -163,7 +163,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 783bd67..169cbf4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -22,14 +22,19 @@ package fr.ird.observe.ui.content.open.impl.longline; * #L% */ +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDtos; +import fr.ird.observe.services.dto.referential.PersonDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.content.ContentMode; @@ -45,6 +50,7 @@ import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.util.Date; +import java.util.LinkedList; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -75,15 +81,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override - protected boolean doOpenData() { - boolean result = getOpenDataManager().canOpenTripLongline(); - if (result) { - getOpenDataManager().openTripLongline(getSelectedParentId(), getSelectedId()); - } - return result; - } - - @Override public boolean doCloseData() { boolean result = getOpenDataManager().isOpenTripLongline(getSelectedId()); if (result) { @@ -93,27 +90,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override - protected ContentMode getContentMode(DataContext dataContext) { - - String tripLongLineId = getSelectedId(); - - if (tripLongLineId == null) { - - // maree en cours de creation - return ContentMode.CREATE; - } - - if (getOpenDataManager().isOpenTripLongline(tripLongLineId)) { - - // maree ouverte - return ContentMode.UPDATE; - } - - addInfoMessage(t(closeMessage)); - return ContentMode.READ; - } - - @Override public void initUI() throws Exception { super.initUI(); @@ -124,6 +100,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline tripMap.getHandler().setConfig(config); getUi().getTripLonglineTabPane().addChangeListener(new ChangeListener() { + @Override public void stateChanged(ChangeEvent e) { JTabbedPane tripLonglineTabPane = (JTabbedPane) e.getSource(); @@ -134,6 +111,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline if (buildTripMap) { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { @@ -175,14 +153,14 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline boolean create = tripId == null; - FormDto<TripLonglineDto> formDto; + Form<TripLonglineDto> form; if (create) { if (log.isInfoEnabled()) { log.info(prefix + "create a new trip"); } // create mode - formDto = getTripLonglineService().preCreate(programId); + form = getTripLonglineService().preCreate(programId); } else { @@ -192,12 +170,12 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } // update mode - formDto = getTripLonglineService().loadForm(tripId); + form = getTripLonglineService().loadForm(tripId); } setContentMode(mode); - getModel().setFormDto(formDto); - TripLonglineDtos.copyTripLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + TripLonglineDtos.copyTripLonglineDto(form.getObject(), bean); getUi().getTripLonglineTabPane().setSelectedIndex(0); getUi().getTripMap().getHandler().doCloseMap(); @@ -257,6 +235,36 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override + protected boolean doOpenData() { + boolean result = getOpenDataManager().canOpenTripLongline(); + if (result) { + getOpenDataManager().openTripLongline(getSelectedParentId(), getSelectedId()); + } + return result; + } + + @Override + protected ContentMode getContentMode(DataContext dataContext) { + + String tripLongLineId = getSelectedId(); + + if (tripLongLineId == null) { + + // maree en cours de creation + return ContentMode.CREATE; + } + + if (getOpenDataManager().isOpenTripLongline(tripLongLineId)) { + + // maree ouverte + return ContentMode.UPDATE; + } + + addInfoMessage(t(closeMessage)); + return ContentMode.READ; + } + + @Override protected boolean doSave(TripLonglineDto bean) throws Exception { String programId = getDataContext().getSelectedProgramId(); @@ -316,6 +324,38 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } + @Override + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Iterable<ReferentialReference<D>> result; + + switch (propertyName) { + + case TripLonglineDto.PROPERTY_CAPTAIN: { + Predicate predicate = PersonDtos.newCaptainReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + case TripLonglineDto.PROPERTY_OBSERVER: { + Predicate predicate = PersonDtos.newObserverReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + case TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR: { + Predicate predicate = PersonDtos.newDataEntryOperatorReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + default: + result = incomingReferences; + } + + return result; + } + protected TripLonglineService getTripLonglineService() { return ObserveSwingApplicationContext.get().newService(TripLonglineService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx index 60bcf47..03e6491 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx @@ -26,11 +26,11 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.ActivitySeineDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.FloatingObjectDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto @@ -127,7 +127,7 @@ void $afterCompleteSetup() { <JLabel id='vesselActivitySeineLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='vesselActivitySeine' genericType='ReferenceDto<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> + <BeanComboBox id='vesselActivitySeine' genericType='ReferentialReference<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> </cell> </row> @@ -137,7 +137,7 @@ void $afterCompleteSetup() { <JLabel id='surroundingActivityLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferenceDto<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> + <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferentialReference<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> </cell> </row> @@ -147,7 +147,7 @@ void $afterCompleteSetup() { <JLabel id='previousFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -157,7 +157,7 @@ void $afterCompleteSetup() { <JLabel id='currentFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -167,7 +167,7 @@ void $afterCompleteSetup() { <JLabel id='nextFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -217,7 +217,7 @@ void $afterCompleteSetup() { <JLabel id='windLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='wind' genericType='ReferenceDto<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> + <BeanComboBox id='wind' genericType='ReferentialReference<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> </cell> </row> @@ -227,7 +227,7 @@ void $afterCompleteSetup() { <JLabel id='detectionModeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='detectionMode' genericType='ReferenceDto<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> + <BeanComboBox id='detectionMode' genericType='ReferentialReference<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> </cell> </row> @@ -237,7 +237,7 @@ void $afterCompleteSetup() { <JLabel id='reasonForNoFishingLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='reasonForNoFishing' genericType='ReferenceDto<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> + <BeanComboBox id='reasonForNoFishing' genericType='ReferentialReference<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index dba9572..684dfcd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -24,17 +24,16 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineDtos; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.open.ContentOpenableUIHandler; @@ -200,22 +199,22 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei boolean create = activityId == null; - FormDto<ActivitySeineDto> formDto; + Form<ActivitySeineDto> form; if (create) { // create mode - formDto = getActivitySeineService().preCreate(routeId); + form = getActivitySeineService().preCreate(routeId); } else { // update mode - formDto = getActivitySeineService().loadForm(activityId); + form = getActivitySeineService().loadForm(activityId); } setContentMode(mode); - getModel().setFormDto(formDto); - ActivitySeineDtos.copyActivitySeineDto(formDto.getForm(), bean); + getModel().setForm(form); + ActivitySeineDtos.copyActivitySeineDto(form.getObject(), bean); if (log.isDebugEnabled()) { log.debug(prefix + "long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); @@ -326,9 +325,9 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei public String getActivity6Label() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<VesselActivitySeineDto> activities = service.getReferentialReferenceSet(VesselActivitySeineDto.class); + Set<ReferentialReference<VesselActivitySeineDto>> activities = getDataSource().getReferentialReferences(VesselActivitySeineDto.class); - for (ReferenceDto vesselActivity : activities.getReference()) { + for (ReferentialReference<VesselActivitySeineDto> vesselActivity : activities) { if (ActivitySeineDto.ACTIVITY_FIN_DE_PECHE.equals(vesselActivity.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE))) { String label = getDecoratorService().decorate(VesselActivitySeineDto.class.getSimpleName(), vesselActivity); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java index d006be5..ccbc9d9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java @@ -23,10 +23,8 @@ package fr.ird.observe.ui.content.open.impl.seine; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.Set; @@ -95,7 +93,7 @@ public class ActivitySeineUIModel extends ContentOpenableUIModel<ActivitySeineDt public boolean isChangedZoneOperation() { //FIXME -// ReferentialReferenceDto<VesselActivitySeineDto> vesselActivitySeine = bean.getVesselActivitySeine(); +// ReferentialReference<VesselActivitySeineDto> vesselActivitySeine = bean.getVesselActivitySeine(); // Serializable code = vesselActivitySeine.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE); // return vesselActivitySeine != null && ACTIVITY_CHANGED_ZONE.equals(code); return false; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index bde2aca..032a298 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; @@ -133,22 +132,22 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { boolean create = routeId == null; - FormDto<RouteDto> formDto; + Form<RouteDto> form; if (create) { // create mode - formDto = getRouteService().preCreate(tripId); + form = getRouteService().preCreate(tripId); } else { // update mode - formDto = getRouteService().loadForm(routeId); + form = getRouteService().loadForm(routeId); } setContentMode(mode); - getModel().setFormDto(formDto); - RouteDtos.copyRouteDto(formDto.getForm(), editBean); + getModel().setForm(form); + RouteDtos.copyRouteDto(form.getObject(), editBean); finalizeOpenUI(mode, create); } @@ -380,12 +379,12 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { ActivitySeineUI selectedUI = (ActivitySeineUI) ObserveSwingApplicationContext.get().getSelectedContentUI(); // on recupère l'activity de fin de veille - ReferentialReferenceDto<VesselActivitySeineDto> vesselActivitySeine = null; + ReferentialReference<VesselActivitySeineDto> vesselActivitySeine = null; - for (ReferenceDto<VesselActivitySeineDto> refVesselActivity : selectedUI.getVesselActivitySeine().getData()) { + for (ReferentialReference<VesselActivitySeineDto> refVesselActivity : selectedUI.getVesselActivitySeine().getData()) { if (ActivitySeineDto.ACTIVITY_FIN_DE_VEILLE.equals(refVesselActivity.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE))) { - vesselActivitySeine = (ReferentialReferenceDto) refVesselActivity; + vesselActivitySeine = refVesselActivity; break; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx index 4ae57ef..07ac37c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx @@ -24,9 +24,9 @@ contentTitle='{n("observe.tripSeine.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.PersonDtos fr.ird.observe.services.dto.referential.VesselDto @@ -89,7 +89,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -99,7 +99,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -109,7 +109,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -119,7 +119,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferentialReference<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -129,7 +129,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -139,7 +139,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -149,7 +149,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 4167254..7098d7f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -21,12 +21,17 @@ */ package fr.ird.observe.ui.content.open.impl.seine; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; +import fr.ird.observe.services.dto.referential.PersonDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDtos; @@ -44,6 +49,7 @@ import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.util.Date; +import java.util.LinkedList; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -73,15 +79,6 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override - protected boolean doOpenData() { - boolean result = getOpenDataManager().canOpenTripSeine(); - if (result) { - getOpenDataManager().openTripSeine(getSelectedParentId(), getSelectedId()); - } - return result; - } - - @Override public boolean doCloseData() { boolean result = getOpenDataManager().isOpenTripSeine(getSelectedId()); if (result) { @@ -91,28 +88,6 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override - protected ContentMode getContentMode(DataContext dataContext) { - - String tripSeineId = getSelectedId(); - - if (tripSeineId == null) { - - // maree en cours de creation - return ContentMode.CREATE; - } - - if (getOpenDataManager().isOpenTripSeine(tripSeineId)) { - - // maree ouverte - return ContentMode.UPDATE; - } - - addInfoMessage(t(closeMessage)); - return ContentMode.READ; - - } - - @Override public void initUI() throws Exception { super.initUI(); @@ -176,14 +151,14 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { boolean create = tripId == null; - FormDto<TripSeineDto> formDto; + Form<TripSeineDto> form; if (create) { // create mode if (log.isInfoEnabled()) { log.info(prefix + "create a new trip"); } - formDto = getTripSeineService().preCreate(programId); + form = getTripSeineService().preCreate(programId); } else { @@ -191,13 +166,13 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { if (log.isInfoEnabled()) { log.info(prefix + "load existing trip " + tripId); } - formDto = getTripSeineService().loadForm(tripId); + form = getTripSeineService().loadForm(tripId); } setContentMode(mode); - getModel().setFormDto(formDto); - TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); + getModel().setForm(form); + TripSeineDtos.copyTripSeineDto(form.getObject(), bean); getUi().getTripSeineTabPane().setSelectedIndex(0); getUi().getTripMap().getHandler().doCloseMap(); @@ -257,6 +232,37 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override + protected boolean doOpenData() { + boolean result = getOpenDataManager().canOpenTripSeine(); + if (result) { + getOpenDataManager().openTripSeine(getSelectedParentId(), getSelectedId()); + } + return result; + } + + @Override + protected ContentMode getContentMode(DataContext dataContext) { + + String tripSeineId = getSelectedId(); + + if (tripSeineId == null) { + + // maree en cours de creation + return ContentMode.CREATE; + } + + if (getOpenDataManager().isOpenTripSeine(tripSeineId)) { + + // maree ouverte + return ContentMode.UPDATE; + } + + addInfoMessage(t(closeMessage)); + return ContentMode.READ; + + } + + @Override protected boolean doSave(TripSeineDto bean) throws Exception { // on force toujours la date a etre sans heure, minute,... @@ -311,6 +317,38 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { return !create && getOpenDataManager().canOpenTripSeine(); } + @Override + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Iterable<ReferentialReference<D>> result; + + switch (propertyName) { + + case TripSeineDto.PROPERTY_CAPTAIN: { + Predicate referentialReferencePredicate = PersonDtos.newCaptainReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + case TripSeineDto.PROPERTY_OBSERVER: { + Predicate referentialReferencePredicate = PersonDtos.newObserverReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + case TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR: { + Predicate referentialReferencePredicate = PersonDtos.newDataEntryOperatorReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + default: + result = incomingReferences; + } + + return result; + } + protected TripSeineService getTripSeineService() { return ObserveSwingApplicationContext.get().newService(TripSeineService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css index 1774596..182cb6d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css @@ -50,7 +50,7 @@ } #listHeader { - beanType:{ReferenceDto.class}; + beanType:{(Class)ReferentialReference.class}; showReset:true; list:{list}; labelText:{getContentTitle()}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx index cd9bbfd..b7ab6e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx @@ -25,8 +25,8 @@ genericType='E extends ReferentialDto'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.referential.ReferentialDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.ui.UIHelper fr.ird.observe.ui.actions.shared.DeleteReferenceUIAction @@ -84,10 +84,10 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JScrollPane id='listPane' constraints='BorderLayout.CENTER' columnHeaderView='{listHeader}'> <JList id='list' - onValueChanged='getHandler().selectBean((ReferenceDto<E>)getSelectedBean(list))' + onValueChanged='getHandler().selectBean((ReferentialReference<E>)getSelectedBean(list))' onMouseClicked='if (event.getClickCount() == 2) { getHandler().modifyUI(); }'/> - <BeanListHeader id='listHeader' genericType='ReferenceDto' _entityClass="getModel().getBeanType()"/> + <BeanListHeader id='listHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> </JScrollPane> </JPanel> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index c582143..a33b29e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -25,16 +25,14 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.DtoMap; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferentialService; @@ -42,15 +40,14 @@ import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; -import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.usage.UsagesUI; import fr.ird.observe.ui.util.SpringUtilities; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.CardLayout2Ext; import jaxx.runtime.swing.ErrorDialogUI; -import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.apache.commons.lang3.StringUtils; @@ -58,9 +55,6 @@ import org.apache.commons.lang3.time.FastDateFormat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; -import org.nuiton.jaxx.widgets.select.FilterableDoubleList; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -91,11 +85,10 @@ import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -213,18 +206,13 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return false; } - public void selectBean(ReferenceDto<E> selectedReference) { + public void selectBean(ReferentialReference<E> selectedReference) { if (selectedReference != null) { - FormDto<E> formDto; - if (getDataSource().canWriteReferential()) { - formDto = getReferentialService().loadToEdit(getBeanType(), selectedReference.getId()); - } else { - formDto = getReferentialService().loadToRead(getBeanType(), selectedReference.getId()); - } + Form<E> form = getReferentialService().loadForm(getBeanType(), selectedReference.getId()); - E selectedBean = formDto.getForm(); + E selectedBean = form.getObject(); getModel().setSelectedBean(selectedBean); @@ -272,8 +260,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content public void showUniqueKeys(JButton button) { Class<E> beanType = getBeanType(); - ReferenceSetDto<E> entities = getReferentialService().getReferentialReferenceSet(beanType); - List<Object[]> datas = new ArrayList<>(entities.sizeReference()); + Set<ReferentialReference<E>> entities = getDataSource().getReferentialReferences(beanType); + List<Object[]> datas = new ArrayList<>(entities.size()); String[] naturalIds = getModel().getNaturalIds(); int nbColumns = naturalIds.length + 1; @@ -283,9 +271,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content columns[0] = StringUtils.removeEnd(Introspector.decapitalize(beanType.getSimpleName()), "Dto"); DecoratorService dService = getDecoratorService(); - Decorator<ReferenceDto> decorator = dService.getDecoratorByType(ReferenceDto.class, beanType.getSimpleName()); + ReferentialReferenceDecorator<E> decorator = dService.getReferentialReferenceDecorator(beanType); - for (ReferenceDto<E> e : entities.getReference()) { + for (ReferentialReference<E> e : entities) { Object[] data = new Object[nbColumns]; int index = 0; @@ -472,7 +460,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUIModel<E> model = getModel(); // Chargement des données - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); ContentReferenceUI<E> ui = getUi(); @@ -550,10 +538,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content addInfoMessage(t("observe.message.creating.referentiel")); // creation mode - FormDto<E> formDto = getReferentialService().preCreate(getBeanType()); - getModel().setFormDto(formDto); + Form<E> form = getReferentialService().preCreate(getBeanType()); + getModel().setForm(form); - copyIntoBean(formDto.getForm(), bean); + copyIntoBean(form.getObject(), bean); } else { addInfoMessage(t("observe.message.updating.referentiel")); @@ -587,8 +575,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content @Override protected void prepareValidationContext() { super.prepareValidationContext(); - BeanListHeader<ReferenceDto> jList = getUi().getListHeader(); - List<ReferenceDto> data = jList.getData(); + BeanListHeader<ReferentialReference<E>> jList = getUi().getListHeader(); + List<ReferentialReference<E>> data = jList.getData(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ValidationContext validationContext = applicationContext.getValidationContext(); if (log.isDebugEnabled()) { @@ -648,7 +636,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content addInfoMessage(t("observe.message.referentiel.editable")); } - updateReferenceSets(false); + updateUiWithReferenceSetsFromModel(); + } @Override @@ -695,7 +684,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // add the program in tree ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); + //FIXME ReferentialReference +// treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); } return true; @@ -855,17 +845,17 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // return beanToSave; // } - public <I> int[] updateIndices(JList jlist, Collection<I> list) { + public <I> int[] updateIndices(JList<I> jlist, Collection<I> list) { if (log.isDebugEnabled()) { log.debug(list == null ? 0 : list.size()); } - List<Integer> indices = new ArrayList<Integer>(); + List<Integer> indices = new ArrayList<>(); if (list != null && !list.isEmpty()) { - ListModel model = jlist.getModel(); + ListModel<I> model = jlist.getModel(); for (int i = 0, max = model.getSize(); i < max; i++) { - I s = (I) model.getElementAt(i); + I s = model.getElementAt(i); if (list.contains(s)) { indices.add(i); } @@ -882,13 +872,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } public boolean canSeeI18nTable(E bean) { - return bean instanceof I18nReferentialDto || - bean instanceof VesselSizeCategoryDto; + return bean instanceof I18nReferentialDto || bean instanceof VesselSizeCategoryDto; } - public void decorateUniqueKeyTable(JTable table, - TableCellRenderer renderer, - JScrollPane pane) { + public void decorateUniqueKeyTable(JTable table, TableCellRenderer renderer, JScrollPane pane) { table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); UIHelper.fixTableColumnWidth(table, 1, 70); } @@ -897,9 +884,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content if (log.isDebugEnabled()) { log.debug("Editing has changed : " + editing); } - return editing ? - ContentReferenceUI.DETAIL_VIEW : - ContentReferenceUI.LIST_VIEW; + return editing ? ContentReferenceUI.DETAIL_VIEW : ContentReferenceUI.LIST_VIEW; } protected void copyIntoBean(E source, E target) { @@ -911,84 +896,4 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return ObserveSwingApplicationContext.get().newService(ReferentialService.class); } - @Override - protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { - - Class<R> dtoClass = getDtoClass(comboBox); - - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); - - List<ReferenceDto<R>> data; - - if (noLoad != null && noLoad) { - - if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); - } - data = Collections.emptyList(); - - } else { - - data = new ArrayList<>(); - - // get complete data list from service - ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSet((Class) dtoClass); - LinkedHashSet<ReferenceDto<R>> reference = referentialReferenceSet.getReference(); - - data.addAll(reference); - - } - - if (log.isInfoEnabled()) { - log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); - } - - comboBox.setData(data); - } - - @Override - protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { - - Class<R> dtoClass = getDtoClass(list); - - // Attention ici on charge les references avec aussi les données techniques - // On en a besoin pour l'écran justement des informations techniques d'une entité en cours d'édition - ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSetWithTechnicalInformations((Class) dtoClass); - - List<ReferenceDto<R>> data = new ArrayList<>(referentialReferenceSet.getReference()); - - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); - - list.setData(data); - list.putClientProperty("data", data); - } - - @Override - protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { - Class<R> dtoClass = getDtoClass(list); - List<ReferenceDto<R>> data; - - if (ReferentialDto.class.isAssignableFrom(dtoClass)) { - - ReferentialService service = getReferentialService(); - ReferenceSetDto<R> referentialReferenceSet = service.getReferentialReferenceSet((Class) dtoClass); - - data = new ArrayList<>(referentialReferenceSet.getReference()); - - } else { - - data = new ArrayList<>(); - - } - - // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); - - list.setUniverse(data); - list.putClientProperty("data", data); - } - - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx index c17097a..bbe768f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx @@ -34,8 +34,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearCaracteristicDto fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -101,7 +101,7 @@ <JLabel id='gearCaracteristicTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='ReferenceDto<GearCaracteristicTypeDto>' _entityClass='GearCaracteristicTypeDto.class'/> + <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='ReferentialReference<GearCaracteristicTypeDto>' _entityClass='GearCaracteristicTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css index da7961e..5c59970 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css @@ -41,7 +41,7 @@ #gearCaracteristic { property:{GearDto.PROPERTY_GEAR_CARACTERISTIC}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getGearCaracteristic())}; + selected:{(Collection)bean.getGearCaracteristic()}; _validatorLabel: {t("observe.gear.gearCaracteristic")}; showListLabel: true; universeLabel:{t("observe.gear.availableGearCaracteristic")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx index 118a82b..71834d8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx @@ -34,15 +34,15 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.services.dto.referential.GearCaracteristicDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel org.nuiton.jaxx.widgets.select.FilterableDoubleList + java.util.Collection static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -180,7 +180,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='gearCaracteristicPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='gearCaracteristic' - genericType='ReferenceDto<GearCaracteristicDto>' + genericType='ReferentialReference<GearCaracteristicDto>' _entityClass='GearCaracteristicDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java index f69b03b..56a0367 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class GearUIHandler extends ContentReferenceUIHandler<GearDto> { } @Override - public void selectBean(ReferenceDto<GearDto> selectedBean) { + public void selectBean(ReferentialReference<GearDto> selectedBean) { super.selectBean(selectedBean); @@ -84,7 +84,7 @@ public class GearUIHandler extends ContentReferenceUIHandler<GearDto> { protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { - Set<String> errorProperties = new HashSet<String>(); + Set<String> errorProperties = new HashSet<>(); int rowCount = errorTableModel.getRowCount(); for (int i = 0; i < rowCount; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx index a7b3cc2..19ddb96 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -122,7 +122,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx index 7b04232..754a3ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.OceanDto @@ -104,7 +104,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='sex' constructorParams='this' - genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> + genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -115,7 +115,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -126,7 +126,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='ocean' constructorParams='this' - genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class'/> + genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java index caac165..882eddc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class LengthWeightParameterUIHandler extends ContentReferenceUIHandler<Le } @Override - public void selectBean(ReferenceDto<LengthWeightParameterDto> selectedBean) { + public void selectBean(ReferentialReference<LengthWeightParameterDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx index 1208f00..aa65696 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx @@ -36,8 +36,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.OrganismDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -96,7 +96,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx index 7fe68f3..0cffce9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.PersonDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.UIHelper @@ -130,7 +130,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx index 8ada4d8..0a4bbb4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx @@ -36,13 +36,13 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.constants.GearType - fr.ird.observe.ui.content.ref.impl.ProgramObservationEnum + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.ProgramDto fr.ird.observe.services.dto.referential.OrganismDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel + fr.ird.observe.ui.content.ref.impl.ProgramObservationEnum jaxx.runtime.swing.editor.bean.BeanComboBox @@ -108,7 +108,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='organism' constructorParams='this' - genericType='ReferenceDto<OrganismDto>' _entityClass='OrganismDto.class'/> + genericType='ReferentialReference<OrganismDto>' _entityClass='OrganismDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java index e20b5d4..ad32cb0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class ProgramUIHandler extends ContentReferenceUIHandler<ProgramDto> { } @Override - public void selectBean(ReferenceDto<ProgramDto> selectedBean) { + public void selectBean(ReferentialReference<ProgramDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css index 0f3f1b3..eef39e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css @@ -41,7 +41,7 @@ #species { property: species; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getSpecies())}; + selected:{(Collection)bean.getSpecies()}; _validatorLabel: {t("observe.common.species")}; showListLabel: true; universeLabel:{t("observe.speciesList.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx index 375baf0..f53993c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx @@ -35,9 +35,7 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesListDto fr.ird.observe.services.dto.referential.SpeciesDto @@ -49,6 +47,8 @@ javax.swing.DefaultListModel javax.swing.ListSelectionModel + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -186,7 +186,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='speciesPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='species' - genericType='ReferenceDto<SpeciesDto>' + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java index e94f308..4b42979 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class SpeciesListUIHandler extends ContentReferenceUIHandler<SpeciesListD } @Override - public void selectBean(ReferenceDto<SpeciesListDto> selectedBean) { + public void selectBean(ReferentialReference<SpeciesListDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css index 31c9898..a4c9a02 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css @@ -70,7 +70,7 @@ #ocean { property: ocean; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getOcean())}; + selected:{(Collection)bean.getOcean()}; _validatorLabel: {t("observe.common.ocean")}; showListLabel: true; universeLabel:{t("observe.species.availableOcean")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx index fc83d15..046c388 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx @@ -36,9 +36,7 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.SpeciesGroupDto @@ -48,6 +46,8 @@ jaxx.runtime.swing.editor.bean.BeanComboBox org.nuiton.jaxx.widgets.select.FilterableDoubleList + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -121,7 +121,7 @@ <JLabel id='speciesGroupLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='speciesGroup' constructorParams='this' genericType='ReferenceDto<SpeciesGroupDto>' _entityClass='SpeciesGroupDto.class'/> + <BeanComboBox id='speciesGroup' constructorParams='this' genericType='ReferentialReference<SpeciesGroupDto>' _entityClass='SpeciesGroupDto.class'/> </cell> </row> <!-- needComment --> @@ -262,7 +262,7 @@ <cell weightx="1"> <JScrollPane id='oceanPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='ocean' - genericType='ReferenceDto<OceanDto>' + genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java index ce33651..fae41e0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class SpeciesUIHandler extends ContentReferenceUIHandler<SpeciesDto> { } @Override - public void selectBean(ReferenceDto<SpeciesDto> selectedBean) { + public void selectBean(ReferentialReference<SpeciesDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx index 6f1fc68..20c387e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx @@ -36,8 +36,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.VesselDto fr.ird.observe.services.dto.referential.VesselSizeCategoryDto fr.ird.observe.services.dto.referential.CountryDto @@ -119,7 +119,7 @@ <JLabel id='vesselTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselType' constructorParams='this' genericType='ReferenceDto<VesselTypeDto>' _entityClass='VesselTypeDto.class'/> + <BeanComboBox id='vesselType' constructorParams='this' genericType='ReferentialReference<VesselTypeDto>' _entityClass='VesselTypeDto.class'/> </cell> </row> @@ -129,7 +129,7 @@ <JLabel id='vesselSizeCategoryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType='ReferenceDto<VesselSizeCategoryDto>' _entityClass='VesselSizeCategoryDto.class'/> + <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType='ReferentialReference<VesselSizeCategoryDto>' _entityClass='VesselSizeCategoryDto.class'/> </cell> </row> @@ -139,7 +139,7 @@ <JLabel id='flagCountryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='flagCountry' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='flagCountry' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java index ec88a5a..af18cec 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class VesselUIHandler extends ContentReferenceUIHandler<VesselDto> { } @Override - public void selectBean(ReferenceDto<VesselDto> selectedBean) { + public void selectBean(ReferentialReference<VesselDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx index 437700c..a1e0a37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx @@ -36,8 +36,8 @@ <style source="../I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.UIHelper @@ -88,7 +88,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 0e164ea..8572f1a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -29,7 +29,7 @@ import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.seine.TargetCatchDto; @@ -250,11 +250,11 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex new ContentTableUIInitializer<>(getUi()); uiInitializer.initUI(); - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); } }); @@ -451,7 +451,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex * @param weightCategory la catégorie de poids * @return la référence sur l'espèce de la catégorie de poids */ - protected ReferentialReferenceDto<SpeciesDto> getWeightCategorySpecies(ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected ReferentialReference<SpeciesDto> getWeightCategorySpecies(ReferentialReference<WeightCategoryDto> weightCategory) { //FIXME Il faut que les références dans les dto du form remontés soient les même que ceux remontés par les ensembles de références //FIXME i.e pas de référence de référence @@ -461,7 +461,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex if (ref instanceof String) { speciesId = (String) ref; } else { - speciesId = ((ReferentialReferenceDto<?>) ref).getId(); + speciesId = ((ReferentialReference<?>) ref).getId(); } return getModel().getReferentialReferenceById(SpeciesDto.class, TargetCatchDto.PROPERTY_SPECIES, speciesId); } @@ -470,15 +470,15 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex * @param speciesId l'identifiant de l'espèce * @return la liste de toutes les catégories de poids de l'espèce */ - protected List<ReferentialReferenceDto<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { + protected List<ReferentialReference<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { - Set<ReferentialReferenceDto<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + Set<ReferentialReference<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); return Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); } - private static class WeightCategorySpeciesPredicate implements Predicate<ReferentialReferenceDto<WeightCategoryDto>> { + private static class WeightCategorySpeciesPredicate implements Predicate<ReferentialReference<WeightCategoryDto>> { private final String speciesId; @@ -487,7 +487,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex } @Override - public boolean apply(ReferentialReferenceDto<WeightCategoryDto> input) { + public boolean apply(ReferentialReference<WeightCategoryDto> input) { return speciesId.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx index d54fb7e..06da75c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.BaitsCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.BaitTypeDto fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='baitTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferentialReference<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -88,7 +88,7 @@ <JLabel id='baitSettingStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferentialReference<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx index 7fc0ecd..eea26bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.BranchlinesCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.ui.content.table.* @@ -77,7 +77,7 @@ <JLabel id='topTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -87,7 +87,7 @@ <JLabel id='tracelineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css index cd67214..6f1d282 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css @@ -253,7 +253,7 @@ #predator { property: predator; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getPredator())}; + selected:{(Collection)tableEditBean.getPredator()}; _validatorLabel: {t("observe.catchLongline.predator")}; showListLabel: true; universeLabel:{t("observe.catchLongline.availablePredator")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx index c0ca084..d8f323a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -30,15 +30,14 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos + fr.ird.observe.services.dto.DataReference fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.CatchLonglineDto fr.ird.observe.services.dto.longline.SectionDto fr.ird.observe.services.dto.longline.SetLonglineCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto @@ -56,6 +55,8 @@ java.awt.Dimension + java.util.Collection + org.apache.commons.lang3.BooleanUtils static fr.ird.observe.ui.UIHelper.getStringValue @@ -138,7 +139,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> + <BeanComboBox id='section' genericType='DataReference<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -146,7 +147,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> + <BeanComboBox id='basket' genericType='DataReference<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -154,7 +155,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='DataReference<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -168,10 +169,7 @@ <JLabel id='speciesCatchLabel'/> </cell> <cell weightx='1' anchor='east' columns="3"> - <BeanComboBox id='speciesCatch' - genericType='ReferentialReferenceDto<SpeciesDto>' - _entityClass='SpeciesDto.class' - constructorParams='this'/> + <BeanComboBox id='speciesCatch' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -200,13 +198,13 @@ <JLabel id='catchHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> + <BeanComboBox id='catchHealthness' constructorParams='this' genericType='ReferentialReference<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> <cell> <JLabel id='hookPositionLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookPosition' constructorParams='this' genericType='ReferenceDto<HookPositionDto>' _entityClass='HookPositionDto.class'/> + <BeanComboBox id='hookPosition' constructorParams='this' genericType='ReferentialReference<HookPositionDto>' _entityClass='HookPositionDto.class'/> </cell> </row> @@ -217,13 +215,13 @@ <JLabel id='catchFateLonglineLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='ReferenceDto<CatchFateLonglineDto>' _entityClass='CatchFateLonglineDto.class'/> + <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='ReferentialReference<CatchFateLonglineDto>' _entityClass='CatchFateLonglineDto.class'/> </cell> <cell> <JLabel id='discardHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='discardHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> + <BeanComboBox id='discardHealthness' constructorParams='this' genericType='ReferentialReference<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> </row> @@ -274,9 +272,7 @@ <row> <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='predatorPane'> - <FilterableDoubleList id='predator' - genericType='ReferenceDto<SpeciesDto>' - _entityClass='SpeciesDto.class'/> + <FilterableDoubleList id='predator' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> </row> @@ -295,7 +291,7 @@ <JLabel id='stomacFullnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='stomacFullness' constructorParams='this' genericType='ReferenceDto<StomacFullnessDto>' _entityClass='StomacFullnessDto.class'/> + <BeanComboBox id='stomacFullness' constructorParams='this' genericType='ReferentialReference<StomacFullnessDto>' _entityClass='StomacFullnessDto.class'/> </cell> </row> @@ -305,7 +301,7 @@ <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' constructorParams='this' genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> + <BeanComboBox id='sex' constructorParams='this' genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -315,7 +311,7 @@ <JLabel id='maturityStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='maturityStatus' constructorParams='this' genericType='ReferenceDto<MaturityStatusDto>' _entityClass='MaturityStatusDto.class'/> + <BeanComboBox id='maturityStatus' constructorParams='this' genericType='ReferentialReference<MaturityStatusDto>' _entityClass='MaturityStatusDto.class'/> </cell> </row> @@ -395,7 +391,7 @@ <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferentialReference<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 0848a00..f02817d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -25,9 +25,8 @@ package fr.ird.observe.ui.content.table.impl.longline; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.BranchlineDtos; @@ -37,13 +36,13 @@ import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchDtos; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; import fr.ird.observe.services.dto.referential.longline.HealthnessDto; import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.BranchlineService; import fr.ird.observe.services.service.longline.SetLonglineCatchService; import fr.ird.observe.ui.DecoratorService; @@ -52,6 +51,7 @@ import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.validator.swing.SwingValidator; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -59,7 +59,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -69,7 +68,6 @@ import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -104,7 +102,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override public void propertyChange(PropertyChangeEvent evt) { - onCatchFateChanged((ReferenceDto<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); + onCatchFateChanged((ReferentialReference<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); } }; @@ -112,7 +110,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override public void propertyChange(PropertyChangeEvent evt) { - onBranchlineChanged((ReferenceDto<BranchlineDto>) evt.getNewValue()); + onBranchlineChanged((DataReference<BranchlineDto>) evt.getNewValue()); } }; @@ -158,6 +156,165 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } @Override + public void initUI() throws Exception { + + final CatchLonglineContentTableUIInitializer uiInitializer = new CatchLonglineContentTableUIInitializer(getUi()); + uiInitializer.initUI(); + + getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + showIndividualTabs(newValue); + } + }); + + getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + updateUiWithReferenceSetsFromModel(); + } + }); + + setTableModelEditable(getModel().isEditable()); + + LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<>( + getUi().getSection(), + getUi().getBasket(), + getUi().getBranchline(), + getTableEditBean()); + + POSITION_HELPER_ENTRY.setContextValue(getUi(), positionHelper); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // Reset all sections + LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); + getUi().getSection().setData(positionHelper.getSections()); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + public void resetBranchline() { + + onBranchlineChanged(null); + + onBranchlineChanged(getTableEditBean().getBranchline()); + + } + + public void saveBranchline() { + + if (log.isInfoEnabled()) { + log.info("Saved modified branchline"); + } + + CatchLonglineUI ui = getUi(); + + BranchlineDto branchline = ui.getBranchlineBean(); + + getBranchLineService().save(branchline); + + getUi().getBranchlineValidator().setChanged(false); + + } + + public void updateCatchAcquisitionMode(CatchAcquisitionModeEnum newMode) { + + if (log.isDebugEnabled()) { + log.debug("Change CatchAcquisitionMode " + newMode); + } + if (newMode == null) { + + // mode null (cela peut arriver avec les bindings) + return; + } + + CatchLonglineUI ui = getUi(); + + boolean createMode = ui.getTableModel().isCreate(); + + CatchLonglineDto editBean = ui.getTableEditBean(); + + switch (newMode) { + + case GROUPED: + + if (createMode) { + + editBean.setTotalWeight(null); + editBean.setCount(null); + editBean.setHookPosition(null); + + } + + break; + + case INDIVIDUAL: + + if (createMode) { + + // on positionne le count à 1 (seule valeur possible) + editBean.setCount(1); + + } + + break; + } + + boolean isGrouped = CatchAcquisitionModeEnum.GROUPED.equals(newMode); + + ui.getTotalWeight().setEnabled(isGrouped); + ui.getCount().setEnabled(isGrouped); + + boolean isIndividual = CatchAcquisitionModeEnum.INDIVIDUAL.equals(newMode); + + ui.getHookPosition().setEnabled(isIndividual); + ui.getSection().setEnabled(isIndividual); + ui.getBasket().setEnabled(isIndividual); + ui.getBranchline().setEnabled(isIndividual); + + if (createMode) { + + // on propage le mode de saisie dans le bean + editBean.setAcquisitionMode(newMode.ordinal()); + + } + + boolean showIndividualTabs = !createMode && isIndividual; + + ui.getModel().setShowIndividualTabs(showIndividualTabs); + + } + + @Override protected void onSelectedRowChanged(int editingRow, CatchLonglineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -345,9 +502,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat n("observe.catchlongline.table.comment"), n("observe.catchlongline.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SectionDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BasketDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BranchlineDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, SectionDto.class, DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, BasketDto.class, DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, BranchlineDto.class, DecoratorService.HAULING_IDENTIFIER)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newEnumTableCellRenderer(renderer, CatchAcquisitionModeEnum.class)); @@ -373,15 +530,14 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SizeMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto<SizeMeasureTypeDto>> decorator = getReferenceDecorator(SizeMeasureTypeDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<SizeMeasureTypeDto> sizeMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(SizeMeasureTypeDto.class); + ReferentialReferenceDecorator<SizeMeasureTypeDto> decorator = getReferentialReferenceDecorator(SizeMeasureTypeDto.class); - ArrayList<ReferenceDto<SizeMeasureTypeDto>> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// ReferenceSetDto<SizeMeasureTypeDto> sizeMeasureTypeDtoRefSet = referentialService.getReferenceSet(SizeMeasureTypeDto.class); +// ArrayList<ReferenceDto<SizeMeasureTypeDto>> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReferences()); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(sizeMeasureTypes, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<SizeMeasureTypeDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); SizeMeasuresTableModel tableModel = getModel().getSizeMeasuresTableModel(); @@ -403,15 +559,14 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto<WeightMeasureTypeDto>> decorator = getReferenceDecorator(WeightMeasureTypeDto.class); + ReferentialReferenceDecorator<WeightMeasureTypeDto> decorator = getReferentialReferenceDecorator(WeightMeasureTypeDto.class); - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// ReferenceSetDto<WeightMeasureTypeDto> weightMeasureTypeDtoRefSet = referentialService.getReferenceSet(WeightMeasureTypeDto.class); +// ArrayList<ReferenceDto<WeightMeasureTypeDto>> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReferences()); - ReferenceSetDto<WeightMeasureTypeDto> weightMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(WeightMeasureTypeDto.class); - - ArrayList<ReferenceDto<WeightMeasureTypeDto>> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReference()); - - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(weightMeasureTypes, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<WeightMeasureTypeDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); WeightMeasuresTableModel tableModel = getModel().getWeightMeasuresTableModel(); @@ -437,73 +592,6 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } @Override - public void initUI() throws Exception { - - final CatchLonglineContentTableUIInitializer uiInitializer = new CatchLonglineContentTableUIInitializer(getUi()); - uiInitializer.initUI(); - - getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - showIndividualTabs(newValue); - } - }); - - getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(false); - } - }); - - setTableModelEditable(getModel().isEditable()); - - LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<>( - getUi().getSection(), - getUi().getBasket(), - getUi().getBranchline(), - getTableEditBean()); - - POSITION_HELPER_ENTRY.setContextValue(getUi(), positionHelper); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // Reset all sections - LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - getUi().getSection().setData(positionHelper.getSections()); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void doPersist(SetLonglineCatchDto bean) { SaveResultDto saveResult = getSetLonglineCatchService().save(bean); bean.setLastUpdate(saveResult.getLastUpdate()); @@ -512,19 +600,19 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineCatchDto> formDto = getSetLonglineCatchService().loadForm(beanId); + Form<SetLonglineCatchDto> form = getSetLonglineCatchService().loadForm(beanId); CatchLonglineUIModel model = getModel(); - model.setFormDto(formDto); + model.setForm(form); LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(model.getReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - model.getReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - model.getReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), - formDto.getForm().getCatchLongline()); + positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), + model.getDataReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), + model.getDataReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), + form.getObject().getCatchLongline()); - SetLonglineCatchDtos.copySetLonglineCatchDto(formDto.getForm(), getBean()); + SetLonglineCatchDtos.copySetLonglineCatchDto(form.getObject(), getBean()); } @@ -555,98 +643,6 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - public void resetBranchline() { - - onBranchlineChanged(null); - - onBranchlineChanged(getTableEditBean().getBranchline()); - - } - - public void saveBranchline() { - - if (log.isInfoEnabled()) { - log.info("Saved modified branchline"); - } - - CatchLonglineUI ui = getUi(); - - BranchlineDto branchline = ui.getBranchlineBean(); - - getBranchLineService().save(branchline); - - getUi().getBranchlineValidator().setChanged(false); - - } - - public void updateCatchAcquisitionMode(CatchAcquisitionModeEnum newMode) { - - if (log.isDebugEnabled()) { - log.debug("Change CatchAcquisitionMode " + newMode); - } - if (newMode == null) { - - // mode null (cela peut arriver avec les bindings) - return; - } - - CatchLonglineUI ui = getUi(); - - boolean createMode = ui.getTableModel().isCreate(); - - CatchLonglineDto editBean = ui.getTableEditBean(); - - switch (newMode) { - - case GROUPED: - - if (createMode) { - - editBean.setTotalWeight(null); - editBean.setCount(null); - editBean.setHookPosition(null); - - } - - break; - - case INDIVIDUAL: - - if (createMode) { - - // on positionne le count à 1 (seule valeur possible) - editBean.setCount(1); - - } - - break; - } - - boolean isGrouped = CatchAcquisitionModeEnum.GROUPED.equals(newMode); - - ui.getTotalWeight().setEnabled(isGrouped); - ui.getCount().setEnabled(isGrouped); - - boolean isIndividual = CatchAcquisitionModeEnum.INDIVIDUAL.equals(newMode); - - ui.getHookPosition().setEnabled(isIndividual); - ui.getSection().setEnabled(isIndividual); - ui.getBasket().setEnabled(isIndividual); - ui.getBranchline().setEnabled(isIndividual); - - if (createMode) { - - // on propage le mode de saisie dans le bean - editBean.setAcquisitionMode(newMode.ordinal()); - - } - - boolean showIndividualTabs = !createMode && isIndividual; - - ui.getModel().setShowIndividualTabs(showIndividualTabs); - - } - protected void setTableModelEditable(Boolean newValue) { getModel().getSizeMeasuresTableModel().setEditable(newValue); @@ -689,7 +685,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - protected void onCatchFateChanged(ReferenceDto<CatchFateLonglineDto> newValue, CatchLonglineDto tableEditBean) { + protected void onCatchFateChanged(ReferentialReference<CatchFateLonglineDto> newValue, CatchLonglineDto tableEditBean) { CatchLonglineUI ui = getUi(); @@ -712,7 +708,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - protected void onBranchlineChanged(ReferenceDto<BranchlineDto> newValue) { + protected void onBranchlineChanged(DataReference<BranchlineDto> newValue) { CatchLonglineUI ui = getUi(); @@ -733,8 +729,8 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat log.info("Use branchline: " + newValue); } - FormDto<BranchlineDto> formDto = getBranchLineService().loadForm(newValue.getId()); - BranchlineDtos.copyBranchlineDto(formDto.getForm(), branchline); + Form<BranchlineDto> form = getBranchLineService().loadForm(newValue.getId()); + BranchlineDtos.copyBranchlineDto(form.getObject(), branchline); if (ui.getValidator().getBean() == null) { ui.getValidator().setBean(getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx index 6075382..0df7231 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx @@ -29,10 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto fr.ird.observe.services.dto.longline.EncounterDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.longline.EncounterTypeDto fr.ird.observe.ui.content.table.* @@ -79,7 +79,7 @@ <JLabel id='encounterTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='encounterType' constructorParams='this' genericType='ReferenceDto<EncounterTypeDto>' _entityClass='EncounterTypeDto.class'/> + <BeanComboBox id='encounterType' constructorParams='this' genericType='ReferentialReference<EncounterTypeDto>' _entityClass='EncounterTypeDto.class'/> </cell> </row> @@ -89,7 +89,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 88641f0..cb04e43 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDtos; import fr.ird.observe.services.dto.longline.EncounterDto; @@ -105,9 +105,9 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineEncouterDto> formDto = getActivityLongLineEncouterService().loadForm(beanId); - getModel().setFormDto(formDto); - ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(formDto.getForm(), getBean()); + Form<ActivityLonglineEncouterDto> form = getActivityLongLineEncouterService().loadForm(beanId); + getModel().setForm(form); + ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(form.getObject(), getBean()); } protected ActivityLongLineEncouterService getActivityLongLineEncouterService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx index 8e67564..06a6099 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.FloatlinesCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java index 01dd915..571789c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java @@ -27,7 +27,7 @@ import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDtos; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ObserveContentTableUI; @@ -89,7 +89,7 @@ public class GearUseFeaturesLonglineTableModel extends ContentTableModel<TripLon // new gear usage, add default measurements - ReferentialReferenceDto<GearDto> gear = rowBean.getGear(); + ReferentialReference<GearDto> gear = rowBean.getGear(); List<GearUseFeaturesMeasurementLonglineDto> measurements = gearUseFeaturesLonglineUIHandler.getDefaultGearUseFeaturesMeasurementLongline(gear.getId()); if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx index d12f59b..6e59cbc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx @@ -29,11 +29,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -100,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='ReferenceDto<GearDto>' _entityClass='GearDto.class'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReference<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 4e66bd5..18dcfc5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -28,16 +28,14 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDtos; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.TripLonglineGearUseService; @@ -48,6 +46,7 @@ import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.table.ContentTableUIHandler; import fr.ird.observe.ui.content.table.impl.seine.GearUseFeatureMeasurementCellEditor; import fr.ird.observe.ui.content.table.impl.seine.GearUseFeatureMeasurementCellRenderer; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.table.AutotSelectRowAndShowPopupActionSupport; import fr.ird.observe.ui.util.table.EditableTableModelSupport; import jaxx.runtime.SwingUtil; @@ -55,7 +54,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -72,7 +70,6 @@ import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -127,6 +124,112 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override + public void initUI() throws Exception { + + super.initUI(); + + getModel().addPropertyChangeListener(GearUseFeaturesLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + setTableModelEditable(getModel().isEditable()); + + getTableModel().setGearUseFeaturesLonglineUIHandler(this); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + @Override + public void startEditUI(String... binding) { + + getModel().getMeasurementsTableModel().setEditable(true); + + super.startEditUI(binding); + + } + + public void deleteSelectedMeasurement() { + + GearUseFeaturesMeasurementLonglinesTableModel tableModel = getUi().getMeasurementsTableModel(); + + boolean selectionEmpty = tableModel.isSelectionEmpty(); + + if (!selectionEmpty) { + + GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); + + if (log.isInfoEnabled()) { + log.info("Delete: " + data); + } + + ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); + int response = UIHelper.askUser(mainUI, + t("observe.title.delete"), + t("observe.measurement.delete.message"), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.delete"), + t("observe.choice.cancel")}, + 1); + + if (response != 0) { + + // user cancel + return; + } + + tableModel.removeSelectedRow(); + + } + + } + + public List<GearUseFeaturesMeasurementLonglineDto> getDefaultGearUseFeaturesMeasurementLongline(String gearId) { + + ReferentialService referentialService = getDataSource().newService(ReferentialService.class); + + Form<GearDto> gearDtoForm = referentialService.loadForm(GearDto.class, gearId); + + GearDto gearDto = gearDtoForm.getObject(); + + List<GearUseFeaturesMeasurementLonglineDto> measurements = Lists.newArrayList( + Iterables.transform(gearDto.getGearCaracteristic(), + new Function<ReferentialReference, GearUseFeaturesMeasurementLonglineDto>() { + + @Override + public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReference input) { + GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); + measurementLonglineDto.setGearCaracteristic(input); + return measurementLonglineDto; + } + })); + + return measurements; + } + + @Override protected void onSelectedRowChanged(int editingRow, GearUseFeaturesLonglineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -244,15 +347,14 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); + ReferentialReferenceDecorator<GearCaracteristicDto> decorator = getReferentialReferenceDecorator(GearCaracteristicDto.class); - ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// Set<ReferentialReference<GearCaracteristicDto>> gearCaracteristicreferences = getModel().getReferentialReferences(GearCaracteristicDto.class, ""); +// List<ReferentialReference<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicreferences); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<GearCaracteristicDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); GearUseFeaturesMeasurementLonglinesTableModel tableModel = getModel().getMeasurementsTableModel(); @@ -283,45 +385,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override - public void initUI() throws Exception { - - super.initUI(); - - getModel().addPropertyChangeListener(GearUseFeaturesLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - setTableModelEditable(getModel().isEditable()); - - getTableModel().setGearUseFeaturesLonglineUIHandler(this); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void closeSafeUI() { if (log.isInfoEnabled()) { @@ -335,50 +398,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override - public void startEditUI(String... binding) { - - getModel().getMeasurementsTableModel().setEditable(true); - - super.startEditUI(binding); - - } - - public void deleteSelectedMeasurement() { - - GearUseFeaturesMeasurementLonglinesTableModel tableModel = getUi().getMeasurementsTableModel(); - - boolean selectionEmpty = tableModel.isSelectionEmpty(); - - if (!selectionEmpty) { - - GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); - - if (log.isInfoEnabled()) { - log.info("Delete: " + data); - } - - ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); - int response = UIHelper.askUser(mainUI, - t("observe.title.delete"), - t("observe.measurement.delete.message"), - JOptionPane.WARNING_MESSAGE, - new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, - 1); - - if (response != 0) { - - // user cancel - return; - } - - tableModel.removeSelectedRow(); - - } - - } - - @Override protected void resetEditBean() { UIHelper.stopEditing(getUi().getMeasurementsTable()); @@ -442,7 +461,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } - protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { Set<String> errorProperties = new HashSet<>(); @@ -463,29 +481,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } - public List<GearUseFeaturesMeasurementLonglineDto> getDefaultGearUseFeaturesMeasurementLongline(String gearId) { - - ReferentialService referentialService = getDataSource().newService(ReferentialService.class); - - FormDto<GearDto> gearDtoForm = referentialService.loadToRead(GearDto.class, gearId); - - GearDto gearDto = gearDtoForm.getForm(); - - List<GearUseFeaturesMeasurementLonglineDto> measurements = Lists.newArrayList( - Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementLonglineDto>() { - - @Override - public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); - measurementLonglineDto.setGearCaracteristic(input); - return measurementLonglineDto; - } - })); - - return measurements; - } - @Override protected void doPersist(TripLonglineGearUseDto bean) { SaveResultDto saveResult = getTripLonglineGearUseService().save(bean); @@ -494,9 +489,9 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void loadEditBean(String beanId) { - FormDto<TripLonglineGearUseDto> formDto = getTripLonglineGearUseService().loadForm(beanId); - getModel().setFormDto(formDto); - TripLonglineGearUseDtos.copyTripLonglineGearUseDto(formDto.getForm(), getBean()); + Form<TripLonglineGearUseDto> form = getTripLonglineGearUseService().loadForm(beanId); + getModel().setForm(form); + TripLonglineGearUseDtos.copyTripLonglineGearUseDto(form.getObject(), getBean()); } protected TripLonglineGearUseService getTripLonglineGearUseService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java index cfb15b0..66afdcc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; /** @@ -101,7 +101,7 @@ public class GearUseFeaturesMeasurementLonglinesTableModel extends EditableTable switch (columnIndex) { case 0: - measure.setGearCaracteristic((ReferentialReferenceDto<GearCaracteristicDto>) aValue); + measure.setGearCaracteristic((ReferentialReference<GearCaracteristicDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx index bcc0558..73b3852 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.HooksCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.HookTypeDto fr.ird.observe.services.dto.referential.longline.HookSizeDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='hookTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> + <BeanComboBox id='hookType' constructorParams='this' genericType='ReferentialReference<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -88,7 +88,7 @@ <JLabel id='hookSizeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> + <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferentialReference<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java index 21b7bf1..306d302 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.content.table.impl.longline; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.CatchLonglineDto; @@ -36,11 +35,9 @@ import jaxx.runtime.swing.editor.bean.BeanComboBox; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; /** * Created on 1/6/15. @@ -50,24 +47,24 @@ import java.util.Set; */ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { - final BeanComboBox<ReferenceDto<SectionDto>> uiSection; + protected final BeanComboBox<DataReference<SectionDto>> uiSection; - final BeanComboBox<ReferenceDto<BasketDto>> uiBasket; + protected final BeanComboBox<DataReference<BasketDto>> uiBasket; - final BeanComboBox<ReferenceDto<BranchlineDto>> uiBranchline; + protected final BeanComboBox<DataReference<BranchlineDto>> uiBranchline; // To avoid any propagation when doing some works on locations protected boolean locationIsAdjusting; - ReferenceSetDto<SectionDto> sectionUniverse; + protected DataReferenceSet<SectionDto> sectionUniverse; - ReferenceSetDto<BasketDto> basketUniverse; + protected DataReferenceSet<BasketDto> basketUniverse; - ReferenceSetDto<BranchlineDto> branchlineUniverse; + protected DataReferenceSet<BranchlineDto> branchlineUniverse; - public LonglinePositionHelper(BeanComboBox<ReferenceDto<SectionDto>> uiSection, - BeanComboBox<ReferenceDto<BasketDto>> uiBasket, - BeanComboBox<ReferenceDto<BranchlineDto>> uiBranchline, + public LonglinePositionHelper(BeanComboBox<DataReference<SectionDto>> uiSection, + BeanComboBox<DataReference<BasketDto>> uiBasket, + BeanComboBox<DataReference<BranchlineDto>> uiBranchline, D tableEditBean) { this.uiSection = uiSection; @@ -75,52 +72,50 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { this.uiBranchline = uiBranchline; PropertyChangeListener sectionChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - onSectionChanged((ReferenceDto<SectionDto>) evt.getNewValue(), (D) evt.getSource()); + onSectionChanged((DataReference<SectionDto>) evt.getNewValue(), (D) evt.getSource()); } }; tableEditBean.addPropertyChangeListener(CatchLonglineDto.PROPERTY_SECTION, sectionChanged); PropertyChangeListener basketChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - onBasketChanged((ReferenceDto<BasketDto>) evt.getNewValue(), (D) evt.getSource()); + onBasketChanged((DataReference<BasketDto>) evt.getNewValue(), (D) evt.getSource()); } }; tableEditBean.addPropertyChangeListener(CatchLonglineDto.PROPERTY_BASKET, basketChanged); } - public void initSections(ReferenceSetDto<SectionDto> sectionUniverse, - ReferenceSetDto<BasketDto> basketUniverse, - ReferenceSetDto<BranchlineDto> branchlineUniverse, + public void initSections(DataReferenceSet<SectionDto> sectionUniverse, + DataReferenceSet<BasketDto> basketUniverse, + DataReferenceSet<BranchlineDto> branchlineUniverse, Collection<D> dtos) { this.sectionUniverse = sectionUniverse; - this.basketUniverse = basketUniverse; - this.branchlineUniverse = branchlineUniverse; for (D dto : dtos) { - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); if (branchline != null) { - ReferenceDto<BasketDto> basket = getBasket(branchline); - + DataReference<BasketDto> basket = getBasket(branchline); dto.setBasket(basket); } - ReferenceDto<BasketDto> basket = dto.getBasket(); + DataReference<BasketDto> basket = dto.getBasket(); if (basket != null) { - ReferenceDto<SectionDto> section = getSection(basket); - + DataReference<SectionDto> section = getSection(basket); dto.setSection(section); } @@ -129,9 +124,9 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { public void resetPosition(D dto) { - ReferenceDto<SectionDto> section = dto.getSection(); - ReferenceDto<BasketDto> basket = dto.getBasket(); - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<SectionDto> section = dto.getSection(); + DataReference<BasketDto> basket = dto.getBasket(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); uiBranchline.setSelectedItem(null); uiSection.setSelectedItem(null); @@ -179,27 +174,27 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - public List<ReferenceDto<SectionDto>> getSections() { + public List<DataReference<SectionDto>> getSections() { - List<ReferenceDto<SectionDto>> sections = Lists.newArrayList(); + List<DataReference<SectionDto>> sections = Lists.newArrayList(); if (sectionUniverse != null) { - sections.addAll((Set) sectionUniverse.getReference()); + sections.addAll(sectionUniverse.getReferences()); } return sections; } - protected void onSectionChanged(ReferenceDto<SectionDto> newValue, D dto) { + protected void onSectionChanged(DataReference<SectionDto> newValue, D dto) { locationIsAdjusting = true; try { - ReferenceDto<BasketDto> basket = dto.getBasket(); - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BasketDto> basket = dto.getBasket(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); // on deselectionne le panier dto.setBasket(null); @@ -208,17 +203,17 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { dto.setBranchline(null); // on vide l'ensemble des paniers - uiBasket.setData(Collections.<ReferenceDto<BasketDto>>emptyList()); + uiBasket.setData(Collections.<DataReference<BasketDto>>emptyList()); // on vide l'ensemble des avançons - uiBranchline.setData(Collections.<ReferenceDto<BranchlineDto>>emptyList()); + uiBranchline.setData(Collections.<DataReference<BranchlineDto>>emptyList()); if (newValue != null) { // une section est sélectionnée // on remplit uniquement les paniers de cette section - List<ReferenceDto<BasketDto>> baskets = getBaskets(newValue); + List<DataReference<BasketDto>> baskets = getBaskets(newValue); uiBasket.setData(Lists.newArrayList(baskets)); if (basket != null && baskets.contains(basket)) { @@ -226,7 +221,7 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { // un panier est sélectionné // on repmlit uniquement les avançons du panier - List<ReferenceDto<BranchlineDto>> branchlines = getBranchlines(basket); + List<DataReference<BranchlineDto>> branchlines = getBranchlines(basket); uiBranchline.setData(Lists.newArrayList(branchlines)); dto.setBasket(basket); @@ -249,24 +244,24 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - protected void onBasketChanged(ReferenceDto<BasketDto> newValue, D dto) { + protected void onBasketChanged(DataReference<BasketDto> newValue, D dto) { if (!locationIsAdjusting) { - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); // on deselectionne l'avançon dto.setBranchline(null); // on vide l'ensemble des avançons - uiBranchline.setData(Collections.<ReferenceDto<BranchlineDto>>emptyList()); + uiBranchline.setData(Collections.<DataReference<BranchlineDto>>emptyList()); if (newValue != null) { // un panier est selectionne // on remplit uniquement les avançons des paniers - List<ReferenceDto<BranchlineDto>> branchlines = getBranchlines(newValue); + List<DataReference<BranchlineDto>> branchlines = getBranchlines(newValue); uiBranchline.setData(branchlines); @@ -283,40 +278,36 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - protected ReferenceDto<SectionDto> getSection(ReferenceDto<BasketDto> basket) { + protected DataReference<SectionDto> getSection(DataReference<BasketDto> basket) { String sectionId = (String) basket.getPropertyValue(BasketDto.PROPERTY_SECTION); - - ReferenceDto<SectionDto> section = sectionUniverse.getById(sectionId); - + DataReference<SectionDto> section = sectionUniverse.getReferenceById(sectionId); return section; } - protected ReferenceDto<BasketDto> getBasket(ReferenceDto<BranchlineDto> branchline) { + protected DataReference<BasketDto> getBasket(DataReference<BranchlineDto> branchline) { String basketId = (String) branchline.getPropertyValue(BranchlineDto.PROPERTY_BASKET); - - ReferenceDto<BasketDto> basket = basketUniverse.getById(basketId); - + DataReference<BasketDto> basket = basketUniverse.getReferenceById(basketId); return basket; } - protected List<ReferenceDto<BasketDto>> getBaskets(ReferenceDto<SectionDto> section) { + protected List<DataReference<BasketDto>> getBaskets(DataReference<SectionDto> section) { - ArrayList<ReferenceDto<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( - basketUniverse.getReference(), - ReferenceDtos.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); + List<DataReference<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( + basketUniverse.getReferences(), + DataReference.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); return baskets; } - protected List<ReferenceDto<BranchlineDto>> getBranchlines(ReferenceDto<BasketDto> basket) { + protected List<DataReference<BranchlineDto>> getBranchlines(DataReference<BasketDto> basket) { - ArrayList<ReferenceDto<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( - branchlineUniverse.getReference(), - ReferenceDtos.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); + List<DataReference<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( + branchlineUniverse.getReferences(), + DataReference.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); return branchlines; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx index 30bf5a6..281f030 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx @@ -29,10 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto fr.ird.observe.services.dto.longline.SensorUsedDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.SensorTypeDto fr.ird.observe.services.dto.referential.longline.SensorBrandDto fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto @@ -79,7 +79,7 @@ <JLabel id='sensorTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorType' constructorParams='this' genericType='ReferenceDto<SensorTypeDto>' _entityClass='SensorTypeDto.class'/> + <BeanComboBox id='sensorType' constructorParams='this' genericType='ReferentialReference<SensorTypeDto>' _entityClass='SensorTypeDto.class'/> </cell> </row> @@ -89,7 +89,7 @@ <JLabel id='sensorDataFormatLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='ReferenceDto<SensorDataFormatDto>' _entityClass='SensorDataFormatDto.class'/> + <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='ReferentialReference<SensorDataFormatDto>' _entityClass='SensorDataFormatDto.class'/> </cell> </row> @@ -99,7 +99,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferentialReference<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index 26d45f6..e52cab6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -28,7 +28,7 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDtos; import fr.ird.observe.services.dto.longline.SensorUsedDto; @@ -234,9 +234,9 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineSensorUsedDto> formDto = getActivityLonglineSensorUsedService().loadForm(beanId); - getModel().setFormDto(formDto); - ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(formDto.getForm(), getBean()); + Form<ActivityLonglineSensorUsedDto> form = getActivityLonglineSensorUsedService().loadForm(beanId); + getModel().setForm(form); + ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(form.getObject(), getBean()); } protected ActivityLongLineSensorUsedService getActivityLonglineSensorUsedService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java index 0ef1a90..5ece237 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.services.dto.longline.SizeMeasureDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -81,7 +81,7 @@ public class SizeMeasuresTableModel extends EditableTableWithCacheTableModelSupp SizeMeasureDto measure = data.get(rowIndex); switch (columnIndex) { case 0: - measure.setSizeMeasureType((ReferentialReferenceDto<SizeMeasureTypeDto>) aValue); + measure.setSizeMeasureType((ReferentialReference<SizeMeasureTypeDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css index 5b11541..7c49e7e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css @@ -362,7 +362,7 @@ #species { property: {TdrDto.PROPERTY_SPECIES}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getSpecies())}; + selected:{(java.util.Collection)tableEditBean.getSpecies()}; _validatorLabel: {t("observe.tdr.species")}; showListLabel: true; universeLabel:{t("observe.tdr.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx index 2b14ae9..bd03251 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx @@ -28,14 +28,13 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos + fr.ird.observe.services.dto.DataReference fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.TdrDto fr.ird.observe.services.dto.longline.SectionDto fr.ird.observe.services.dto.longline.SetLonglineTdrDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto @@ -48,6 +47,8 @@ org.nuiton.jaxx.widgets.datetime.DateTimeEditor + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -125,7 +126,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferentialReference<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> @@ -177,7 +178,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> + <BeanComboBox id='section' genericType='DataReference<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -185,7 +186,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> + <BeanComboBox id='basket' genericType='DataReference<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -193,7 +194,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='DataReference<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -207,7 +208,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemHorizontalPosition' constructorParams='this' - genericType='ReferenceDto<ItemHorizontalPositionDto>' _entityClass='ItemHorizontalPositionDto.class'/> + genericType='ReferentialReference<ItemHorizontalPositionDto>' _entityClass='ItemHorizontalPositionDto.class'/> </cell> </row> @@ -218,7 +219,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemVerticalPosition' constructorParams='this' - genericType='ReferenceDto<ItemVerticalPositionDto>' _entityClass='ItemVerticalPositionDto.class'/> + genericType='ReferentialReference<ItemVerticalPositionDto>' _entityClass='ItemVerticalPositionDto.class'/> </cell> </row> @@ -378,7 +379,7 @@ <row> <cell weighty="1" weightx="1"> <FilterableDoubleList id='species' - genericType='ReferenceDto<SpeciesDto>' + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 9ee21a1..55c5aad 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -28,7 +28,7 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; @@ -469,19 +469,19 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineTdrDto> formDto = getTdrService().loadForm(beanId); + Form<SetLonglineTdrDto> form = getTdrService().loadForm(beanId); ContentTableUIModel<SetLonglineTdrDto, TdrDto> model = getModel(); - model.setFormDto(formDto); + model.setForm(form); LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(model.getReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), - model.getReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), - model.getReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), - formDto.getForm().getTdr()); + positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), + model.getDataReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), + model.getDataReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), + form.getObject().getTdr()); - SetLonglineTdrDtos.copySetLonglineTdrDto(formDto.getForm(), getBean()); + SetLonglineTdrDtos.copySetLonglineTdrDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java index c315aaf..7af7e5d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -87,7 +87,7 @@ public class WeightMeasuresTableModel extends EditableTableWithCacheTableModelSu switch (columnIndex) { case 0: - measure.setWeightMeasureType((ReferentialReferenceDto<WeightMeasureTypeDto>) aValue); + measure.setWeightMeasureType((ReferentialReference<WeightMeasureTypeDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java index eef3b8e..437e109 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import jaxx.runtime.swing.JAXXWidgetUtil; import jaxx.runtime.swing.editor.cell.NumberCellEditor; @@ -120,15 +120,15 @@ public class GearUseFeatureMeasurementCellEditor extends AbstractCellEditor impl @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - ReferentialReferenceDto<GearCaracteristicDto> caracteristicRef = (ReferentialReferenceDto<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); + ReferentialReference<GearCaracteristicDto> caracteristicRef = (ReferentialReference<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristicRef == null) { // can't edit a null value ? editor = table.getDefaultEditor(Object.class); } else { - ReferentialReferenceDto<GearCaracteristicTypeDto> gearCaracteristicTypeRef = - (ReferentialReferenceDto<GearCaracteristicTypeDto>) caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); + ReferentialReference<GearCaracteristicTypeDto> gearCaracteristicTypeRef = + (ReferentialReference<GearCaracteristicTypeDto>) caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); String gearCaracteristicTypeId = gearCaracteristicTypeRef.getId(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java index 1e24a45..370b970 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.UIHelper; import javax.swing.JTable; @@ -90,14 +90,14 @@ public class GearUseFeatureMeasurementCellRenderer implements TableCellRenderer TableCellRenderer tableCellRenderer; - ReferentialReferenceDto<GearCaracteristicDto> caracteristicRef = (ReferentialReferenceDto<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); + ReferentialReference<GearCaracteristicDto> caracteristicRef = (ReferentialReference<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristicRef == null) { tableCellRenderer = table.getDefaultRenderer(Object.class); } else { - ReferentialReferenceDto<GearCaracteristicTypeDto> gearCaracteristicTypeRef = - (ReferentialReferenceDto<GearCaracteristicTypeDto>)caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); + ReferentialReference<GearCaracteristicTypeDto> gearCaracteristicTypeRef = + (ReferentialReference<GearCaracteristicTypeDto>)caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); String gearCaracteristicTypeId = gearCaracteristicTypeRef.getId(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java index 13ef817..5438c90 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; */ import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -100,7 +100,7 @@ public class GearUseFeaturesMeasurementSeinesTableModel extends EditableTableWit GearUseFeaturesMeasurementSeineDto measure = data.get(rowIndex); switch (columnIndex) { case 0: - measure.setGearCaracteristic((ReferentialReferenceDto<GearCaracteristicDto>) aValue); + measure.setGearCaracteristic((ReferentialReference<GearCaracteristicDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java index 709d7ac..eaf1a34 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; */ import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDtos; @@ -89,7 +89,7 @@ public class GearUseFeaturesSeineTableModel extends ContentTableModel<TripSeineG // new gear usage, add default measurements - ReferentialReferenceDto<GearDto> gear = rowBean.getGear(); + ReferentialReference<GearDto> gear = rowBean.getGear(); List<GearUseFeaturesMeasurementSeineDto> measurements = gearUseFeaturesSeineUIHandler.getDefaultGearUseFeaturesMeasurementSeine(gear.getId()); if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx index eeb8893..ce7af4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx @@ -29,12 +29,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.TripSeineGearUseDto fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -101,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReferenceDto<GearDto>' _entityClass='GearDto.class'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReference<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index 3fb1e1f..c6b62a5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -28,12 +28,10 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; @@ -46,6 +44,7 @@ import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.table.AutotSelectRowAndShowPopupActionSupport; import fr.ird.observe.ui.util.table.EditableTableModelSupport; import jaxx.runtime.SwingUtil; @@ -53,7 +52,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -70,7 +68,6 @@ import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -125,6 +122,113 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override + public void initUI() throws Exception { + + super.initUI(); + + getModel().addPropertyChangeListener(GearUseFeaturesSeineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + setTableModelEditable(getModel().isEditable()); + + getTableModel().setGearUseFeaturesSeineUIHandler(this); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + @Override + public void startEditUI(String... binding) { + + getModel().getMeasurementsTableModel().setEditable(true); + + super.startEditUI(binding); + + } + + public void deleteSelectedMeasurement() { + + GearUseFeaturesMeasurementSeinesTableModel tableModel = getUi().getMeasurementsTableModel(); + + boolean selectionEmpty = tableModel.isSelectionEmpty(); + + if (!selectionEmpty) { + + GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); + + if (log.isInfoEnabled()) { + log.info("Delete: " + data); + } + + ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); + int response = UIHelper.askUser(mainUI, + t("observe.title.delete"), + t("observe.measurement.delete.message"), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.delete"), + t("observe.choice.cancel")}, + 1); + + if (response != 0) { + + // user cancel + return; + } + + tableModel.removeSelectedRow(); + + } + + } + + public List<GearUseFeaturesMeasurementSeineDto> getDefaultGearUseFeaturesMeasurementSeine(String gearId) { + + ReferentialService referentialService = getDataSource().newService(ReferentialService.class); + + Form<GearDto> gearDtoForm = referentialService.loadForm(GearDto.class, gearId); + + GearDto gearDto = gearDtoForm.getObject(); + + List<GearUseFeaturesMeasurementSeineDto> measurements = Lists.newArrayList( + Iterables.transform(gearDto.getGearCaracteristic(), + new Function<ReferentialReference, GearUseFeaturesMeasurementSeineDto>() { + + @Override + public GearUseFeaturesMeasurementSeineDto apply(ReferentialReference input) { + GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); + measurementSeineDto.setGearCaracteristic(input); + return measurementSeineDto; + } + })); + + return measurements; + + } + + @Override protected void onSelectedRowChanged(int editingRow, GearUseFeaturesSeineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -240,15 +344,14 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); + ReferentialReferenceDecorator<GearCaracteristicDto> decorator = getReferentialReferenceDecorator(GearCaracteristicDto.class); - ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// Set<ReferentialReference<GearCaracteristicDto>> gearCaracteristicReferences = getModel().getReferentialReferences(GearCaracteristicDto.class, ""); +// List<ReferentialReference<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicReferences); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<GearCaracteristicDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); GearUseFeaturesMeasurementSeinesTableModel tableModel = getModel().getMeasurementsTableModel(); @@ -279,45 +382,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override - public void initUI() throws Exception { - - super.initUI(); - - getModel().addPropertyChangeListener(GearUseFeaturesSeineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - setTableModelEditable(getModel().isEditable()); - - getTableModel().setGearUseFeaturesSeineUIHandler(this); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void closeSafeUI() { if (log.isInfoEnabled()) { @@ -331,50 +395,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override - public void startEditUI(String... binding) { - - getModel().getMeasurementsTableModel().setEditable(true); - - super.startEditUI(binding); - - } - - public void deleteSelectedMeasurement() { - - GearUseFeaturesMeasurementSeinesTableModel tableModel = getUi().getMeasurementsTableModel(); - - boolean selectionEmpty = tableModel.isSelectionEmpty(); - - if (!selectionEmpty) { - - GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); - - if (log.isInfoEnabled()) { - log.info("Delete: " + data); - } - - ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); - int response = UIHelper.askUser(mainUI, - t("observe.title.delete"), - t("observe.measurement.delete.message"), - JOptionPane.WARNING_MESSAGE, - new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, - 1); - - if (response != 0) { - - // user cancel - return; - } - - tableModel.removeSelectedRow(); - - } - - } - - @Override protected void resetEditBean() { UIHelper.stopEditing(getUi().getMeasurementsTable()); @@ -438,7 +458,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } - protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { Set<String> errorProperties = new HashSet<String>(); @@ -459,30 +478,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } - public List<GearUseFeaturesMeasurementSeineDto> getDefaultGearUseFeaturesMeasurementSeine(String gearId) { - - ReferentialService referentialService = getDataSource().newService(ReferentialService.class); - - FormDto<GearDto> gearDtoForm = referentialService.loadToRead(GearDto.class, gearId); - - GearDto gearDto = gearDtoForm.getForm(); - - List<GearUseFeaturesMeasurementSeineDto> measurements = Lists.newArrayList( - Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementSeineDto>() { - - @Override - public GearUseFeaturesMeasurementSeineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); - measurementSeineDto.setGearCaracteristic(input); - return measurementSeineDto; - } - })); - - return measurements; - - } - @Override protected void doPersist(TripSeineGearUseDto bean) { SaveResultDto saveResult = getTripSeineGearUseService().save(bean); @@ -491,9 +486,9 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void loadEditBean(String beanId) { - FormDto<TripSeineGearUseDto> formDto = getTripSeineGearUseService().loadForm(beanId); - getModel().setFormDto(formDto); - TripSeineGearUseDtos.copyTripSeineGearUseDto(formDto.getForm(), getBean()); + Form<TripSeineGearUseDto> form = getTripSeineGearUseService().loadForm(beanId); + getModel().setForm(form); + TripSeineGearUseDtos.copyTripSeineGearUseDto(form.getObject(), getBean()); } protected TripSeineGearUseService getTripSeineGearUseService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index 471c6fe..d2628d1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -30,12 +30,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto fr.ird.observe.services.dto.seine.NonTargetCatchDto fr.ird.observe.services.dto.referential.seine.SpeciesFateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.ui.content.table.* @@ -91,7 +90,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -101,7 +100,7 @@ <JLabel id='speciesFateLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> + <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReference<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> </cell> </row> @@ -111,7 +110,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReference<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index c734463..a3f93d7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -26,10 +26,9 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; @@ -41,9 +40,9 @@ import fr.ird.observe.services.service.seine.NonTargetCatchService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -222,16 +221,16 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa return; } - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - Set<ReferentialReferenceDto<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesSet); requestFocus = ui.getSpecies(); } else { - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); availableEspeces = new ArrayList<>(); availableEspeces.add(species); requestFocus = ui.getTable(); @@ -300,15 +299,15 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa super.prepareSave(editBean, objets); //on cherche si parmis les captures supprimer certaines ont des échantillon - SetSeineNonTargetCatchDto originalSetSeineNonTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineNonTargetCatchDto originalSetSeineNonTargetCatchDto = getModel().getForm().getObject(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (NonTargetCatchDto nonTargetCatchDto : originalSetSeineNonTargetCatchDto.getNonTargetCatch()) { if (nonTargetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = nonTargetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = nonTargetCatchDto.getSpecies(); Iterable<NonTargetCatchDto> currentTargetCatchSpecies = NonTargetCatchDtos.filterBySpecies(objets, species); @@ -326,10 +325,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa // il existe des echantillon faune a supprimer on demande une // confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferenceDto> decorator = - getDecoratorService().getDecoratorByType(ReferenceDto.class, SpeciesDto.class.getSimpleName()); + ReferentialReferenceDecorator<SpeciesDto> decorator = + getDecoratorService().getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -367,9 +366,9 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineNonTargetCatchDto> formDto = getNonTargetCatchService().loadForm(beanId, tripSeineId); - getModel().setFormDto(formDto); - SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(formDto.getForm(), getBean()); + Form<SetSeineNonTargetCatchDto> form = getNonTargetCatchService().loadForm(beanId, tripSeineId); + getModel().setForm(form); + SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(form.getObject(), getBean()); } protected NonTargetCatchService getNonTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java index 31fbc32..3f6f79c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java @@ -25,7 +25,6 @@ package fr.ird.observe.ui.content.table.impl.seine; import com.google.common.collect.Lists; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDtos; -import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; @@ -53,16 +52,16 @@ public class NonTargetCatchUIModel extends ContentTableUIModel<SetSeineNonTarget new String[]{ NonTargetCatchDto.PROPERTY_SPECIES, NonTargetCatchDto.PROPERTY_CATCH_WEIGHT, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH, - NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, - NonTargetCatchDto.PROPERTY_SPECIES_FATE, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_CATCH_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_COMMENT + NonTargetCatchDto.PROPERTY_TOTAL_COUNT, + NonTargetCatchDto.PROPERTY_MEAN_WEIGHT, + NonTargetCatchDto.PROPERTY_MEAN_LENGTH, + NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, + NonTargetCatchDto.PROPERTY_SPECIES_FATE, + NonTargetCatchDto.PROPERTY_TOTAL_COUNT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_MEAN_WEIGHT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_CATCH_WEIGHT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_MEAN_LENGTH_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_COMMENT }); List<ContentTableMeta<NonTargetCatchDto>> metas = Lists.newArrayList( @@ -85,6 +84,7 @@ public class NonTargetCatchUIModel extends ContentTableUIModel<SetSeineNonTarget List<ContentTableMeta<NonTargetCatchDto>> contentTableMetas) { return new ContentTableModel<SetSeineNonTargetCatchDto, NonTargetCatchDto>(ui, contentTableMetas) { + @Override protected Collection<NonTargetCatchDto> getChilds(SetSeineNonTargetCatchDto bean) { return bean.getNonTargetCatch(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index b9d9ca3..03eeb9e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -30,11 +30,10 @@ <style source="AbstractSampleUI.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.seine.NonTargetLengthDto fr.ird.observe.services.dto.seine.NonTargetSampleDto fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum @@ -98,7 +97,7 @@ public String getLengthDataTip(boolean computed) { return computed ? t(LONGUEUR_COMPUTED_TIP) : t(LONGUEUR_OBSERVED_TIP); } -public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { +public String getSpeciesFauneTypeTaille(ReferentialReference<SpeciesDto> species) { return species == null ? t("observe.message.no.species.selected") : (String) species.getPropertyValue(SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE); } ]]> @@ -124,7 +123,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -186,7 +185,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' genericType='ReferentialReferenceDto<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> + <BeanComboBox id='sex' genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index d0c5935..ceeb826 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -25,8 +25,8 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; @@ -130,12 +130,12 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam return; } - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); NonTargetSampleUI ui = getUi(); if (log.isDebugEnabled()) { log.debug("selected species " + species); } - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { @@ -147,7 +147,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); } - Set<ReferentialReferenceDto<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesReferences); requestFocus = ui.getSpecies(); @@ -300,9 +300,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void loadEditBean(String beanId) { - FormDto<NonTargetSampleDto> formDto = getNonTargetSampleService().loadForm(beanId); - getModel().setFormDto(formDto); - NonTargetSampleDtos.copyNonTargetSampleDto(formDto.getForm(), getBean()); + Form<NonTargetSampleDto> form = getNonTargetSampleService().loadForm(beanId); + getModel().setForm(form); + NonTargetSampleDtos.copyNonTargetSampleDto(form.getObject(), getBean()); } protected NonTargetSampleService getNonTargetSampleService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx index e7110c7..e48c4b4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto fr.ird.observe.ui.content.table.* @@ -85,7 +84,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -96,7 +95,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='speciesStatus' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> + genericType='ReferentialReference<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index f6e2c7c..9a22a1b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; @@ -98,9 +98,9 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectObservedSpeciesDto> formDto = getObjectObservedSpeciesService().loadForm(beanId); - getModel().setFormDto(formDto); - FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(formDto.getForm(), getBean()); + Form<FloatingObjectObservedSpeciesDto> form = getObjectObservedSpeciesService().loadForm(beanId); + getModel().setForm(form); + FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(form.getObject(), getBean()); } protected ObjectObservedSpeciesService getObjectObservedSpeciesService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx index 6be0ca7..085edb5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -84,7 +83,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 99dc5b0..346be86 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; @@ -94,9 +94,9 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectSchoolEstimateDto> formDto = getObjectSchoolEstimateService().loadForm(beanId); - getModel().setFormDto(formDto); - FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(formDto.getForm(), getBean()); + Form<FloatingObjectSchoolEstimateDto> form = getObjectSchoolEstimateService().loadForm(beanId); + getModel().setForm(form); + FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(form.getObject(), getBean()); } protected ObjectSchoolEstimateService getObjectSchoolEstimateService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx index 59d8430..dae5ce1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx @@ -31,11 +31,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto fr.ird.observe.services.dto.seine.SchoolEstimateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -89,7 +88,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index e6f0b37..9facd2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -27,9 +27,8 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; @@ -86,21 +85,21 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo } SchoolEstimateUI ui = getUi(); - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - Set<ReferentialReferenceDto<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); - List<ReferentialReferenceDto<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); + List<ReferentialReference<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); - Collection<String> listSpeciesIdUsed = Collections2.transform(listSpeciesUsed, IdDtos.getIdFunction()); + Collection<String> listSpeciesIdUsed = Collections2.transform(listSpeciesUsed, ReferentialReference.getIdFunction()); - availableEspeces = Lists.newArrayList(Iterables.filter(references, Predicates.not(IdDtos.newIdsPredicate(listSpeciesIdUsed)))); + availableEspeces = Lists.newArrayList(Iterables.filter(references, Predicates.not(ReferentialReference.newIdsPredicate(listSpeciesIdUsed)))); requestFocus = ui.getSpecies(); } else { - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); availableEspeces = Collections.singletonList(species); requestFocus = ui.getTotalWeight(); } @@ -134,9 +133,9 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineSchoolEstimateDto> formDto = getSchoolEstimateService().loadForm(beanId, tripSeineId); - getModel().setFormDto(formDto); - SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(formDto.getForm(), getBean()); + Form<SetSeineSchoolEstimateDto> form = getSchoolEstimateService().loadForm(beanId, tripSeineId); + getModel().setForm(form); + SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(form.getObject(), getBean()); } protected SchoolEstimateService getSchoolEstimateService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx index b1018ee..5375b1f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.ui.content.table.* @@ -87,7 +86,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -98,7 +97,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> + <BeanComboBox id='weightCategory' genericType='ReferentialReference<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 9e1ccfa..9c8c68c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -25,8 +25,8 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -93,7 +93,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des categories - ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); + ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); onSpeciesChanged(species); } @@ -112,16 +112,16 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { // on cherche si parmis les captures supprimer certaines ont des échantillons - SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getForm().getObject(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (TargetCatchDto targetCatchDto : originalSetSeineTargetCatchDto.getTargetCatch()) { if (targetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = targetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = targetCatchDto.getSpecies(); Iterable<TargetCatchDto> currentTargetCatchSpecies = TargetCatchDtos.filterBySpecies(currentSetSeineTargetCatch.getTargetCatch(), species); @@ -138,9 +138,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // il existe des echantillons thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); + Decorator<ReferentialReference<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -176,9 +176,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa TargetCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); + ReferentialReference<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> species = null; + ReferentialReference<SpeciesDto> species = null; if (weightCategory != null) { species = getWeightCategorySpecies(weightCategory); } @@ -248,9 +248,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa } @SuppressWarnings("unchecked") - protected void onSpeciesChanged(ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(ReferentialReference<SpeciesDto> species) { - List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories; + List<ReferentialReference<WeightCategoryDto>> availableCategories; if (species == null) { @@ -267,7 +267,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa } // on met a jour la liste des categories disponibles - BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReference<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(availableCategories); // on reinitialise toujours la categorie selectionnee @@ -286,11 +286,11 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, false, tripSeineId); + Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, false, tripSeineId); - getModel().setFormDto(formDto); + getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(formDto.getForm(), getBean()); + SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } protected TargetCatchService getTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx index 911e664..cbbe37a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.services.dto.referential.seine.WeightCategoryDto @@ -88,7 +87,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -98,7 +97,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> + <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferentialReference<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> </cell> </row> @@ -108,7 +107,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReference<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 2934fde..afde7c5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -26,8 +26,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; @@ -72,20 +72,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT super(ui, DataContextType.SetSeine); } - protected static Collection<ReferentialReferenceDto<WeightCategoryDto>> getWeightCategoryUsed( + protected static Collection<ReferentialReference<WeightCategoryDto>> getWeightCategoryUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model) { - List<ReferentialReferenceDto<WeightCategoryDto>> list = model.getColumnValues(1); - Collection<ReferentialReferenceDto<WeightCategoryDto>> set = Sets.newHashSet(list); + List<ReferentialReference<WeightCategoryDto>> list = model.getColumnValues(1); + Collection<ReferentialReference<WeightCategoryDto>> set = Sets.newHashSet(list); list.clear(); return set; } - protected static Collection<ReferentialReferenceDto<ReasonForDiscardDto>> getReasonForDiscardUsed( + protected static Collection<ReferentialReference<ReasonForDiscardDto>> getReasonForDiscardUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model, - ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + ReferentialReference<WeightCategoryDto> weightCategory) { - Collection<ReferentialReferenceDto<ReasonForDiscardDto>> set = Sets.newHashSet(); + Collection<ReferentialReference<ReasonForDiscardDto>> set = Sets.newHashSet(); if (weightCategory != null) { for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); @@ -125,7 +125,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des categories - ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); + ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); onSpeciesChanged(model.getRowBean(), species); } @@ -149,8 +149,8 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des raison rejet - ReferentialReferenceDto<WeightCategoryDto> weightCategory = - (ReferentialReferenceDto<WeightCategoryDto>) evt.getNewValue(); + ReferentialReference<WeightCategoryDto> weightCategory = + (ReferentialReference<WeightCategoryDto>) evt.getNewValue(); onWeightCategoryChanged(model.getRowBean(), weightCategory); } @@ -171,16 +171,16 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { //on cherche si parmis les captures supprimer certaines ont des échantillons - SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getForm().getObject(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (TargetCatchDto targetCatchDto : originalSetSeineTargetCatchDto.getTargetCatch()) { if (targetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = targetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = targetCatchDto.getSpecies(); Iterable<TargetCatchDto> currentTargetCatchSpecies = TargetCatchDtos.filterBySpecies(currentSetSeineTargetCatch.getTargetCatch(), species); @@ -196,10 +196,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (!speciesToDelete.isEmpty()) { // il existe des echantillon thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = + Decorator<ReferentialReference<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -236,14 +236,14 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected void onSelectedRowChanged(int editingRow, TargetCatchDto bean, boolean create) { TargetDiscardCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); + ReferentialReference<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> species = null; + ReferentialReference<SpeciesDto> species = null; if (weightCategory != null) { species = getWeightCategorySpecies(weightCategory); } - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = bean.getReasonForDiscard(); + ReferentialReference<ReasonForDiscardDto> reasonForDiscard = bean.getReasonForDiscard(); if (log.isDebugEnabled()) { log.debug("selected categoriePoid " + weightCategory); log.debug("selected species " + species); @@ -261,7 +261,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on recalcule la liste des speciess disponibles - List<ReferentialReferenceDto<SpeciesDto>> availableSpecies = buildSpeciesList(species, weightCategory); + List<ReferentialReference<SpeciesDto>> availableSpecies = buildSpeciesList(species, weightCategory); ui.getSpecies().setData(availableSpecies); // on reinitilise toujours l'species (pour reinitialiser la liste des categories) @@ -323,11 +323,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT UIHelper.setTableColumnRenderer(table, 5, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - protected void onSpeciesChanged(TargetCatchDto bean, ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(TargetCatchDto bean, ReferentialReference<SpeciesDto> species) { - ReferentialReferenceDto<WeightCategoryDto> weightCategory = null; + ReferentialReference<WeightCategoryDto> weightCategory = null; - List<ReferentialReferenceDto<WeightCategoryDto>> data; + List<ReferentialReference<WeightCategoryDto>> data; if (species == null) { @@ -338,7 +338,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } else { // un espèce est selectionnee, on met a jour la liste des categories disponibles pour cette espèce - List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); + List<ReferentialReference<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); data = availableCategories; @@ -350,18 +350,18 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on met a jour le model de la liste des categories - BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReference<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(data); // on selectionne la categorie retenue combo.setSelectedItem(weightCategory); } - protected void onWeightCategoryChanged(TargetCatchDto bean, ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected void onWeightCategoryChanged(TargetCatchDto bean, ReferentialReference<WeightCategoryDto> weightCategory) { TargetDiscardCatchUI ui = getUi(); - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; - List<ReferentialReferenceDto<ReasonForDiscardDto>> data; + ReferentialReference<ReasonForDiscardDto> reasonForDiscard = null; + List<ReferentialReference<ReasonForDiscardDto>> data; if (weightCategory == null) { // aucune categorie selectionnee, on vide simplement @@ -376,7 +376,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT reasonForDiscard = bean.getReasonForDiscard(); - List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); + List<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); if (log.isDebugEnabled()) { log.debug("new reasonForDiscard list " + reasonForDiscardList); @@ -390,7 +390,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } } - BeanComboBox<ReferentialReferenceDto<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); + BeanComboBox<ReferentialReference<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); // on met a jour le model de la liste des raison rejets combo.setData(data); @@ -399,10 +399,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT combo.setSelectedItem(reasonForDiscard); } - protected List<ReferentialReferenceDto<SpeciesDto>> buildSpeciesList(ReferentialReferenceDto<SpeciesDto> species, - ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected List<ReferentialReference<SpeciesDto>> buildSpeciesList(ReferentialReference<SpeciesDto> species, + ReferentialReference<WeightCategoryDto> weightCategory) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllWeightCategories(); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = getAllWeightCategories(); removeFullyUsedWeightCategories(weightCategoryList); @@ -410,21 +410,21 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT weightCategoryList.add(weightCategory); } - Collection<ReferentialReferenceDto<SpeciesDto>> usedSpecies = Sets.newHashSet(); - for (ReferentialReferenceDto<WeightCategoryDto> cat : weightCategoryList) { + Collection<ReferentialReference<SpeciesDto>> usedSpecies = Sets.newHashSet(); + for (ReferentialReference<WeightCategoryDto> cat : weightCategoryList) { usedSpecies.add(getWeightCategorySpecies(cat)); } - List<ReferentialReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedSpecies); + List<ReferentialReference<SpeciesDto>> result = Lists.newArrayList(usedSpecies); weightCategoryList.clear(); usedSpecies.clear(); return result; } - protected List<ReferentialReferenceDto<WeightCategoryDto>> buildWeightCategoryList(ReferentialReferenceDto<SpeciesDto> species) { + protected List<ReferentialReference<WeightCategoryDto>> buildWeightCategoryList(ReferentialReference<SpeciesDto> species) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getSpeciesWeightCategories(species.getId()); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = getSpeciesWeightCategories(species.getId()); // on filtre toutes les categories qui ont deja references sur toutes les raisons de rejet removeFullyUsedWeightCategories(weightCategoryList); @@ -433,13 +433,13 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } @SuppressWarnings("unchecked") - protected List<ReferentialReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReferenceDto<WeightCategoryDto> weightCategory, - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard) { + protected List<ReferentialReference<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReference<WeightCategoryDto> weightCategory, + ReferentialReference<ReasonForDiscardDto> reasonForDiscard) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); + List<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); // on filtre les raison rejet sur la categorie for (int i = 0; i < model.getRowCount(); i++) { @@ -455,25 +455,25 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return reasonForDiscardList; } - protected List<ReferentialReferenceDto<WeightCategoryDto>> getAllWeightCategories() { + protected List<ReferentialReference<WeightCategoryDto>> getAllWeightCategories() { - Set<ReferentialReferenceDto<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); + Set<ReferentialReference<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); return weightCategoryList; } - protected void removeFullyUsedWeightCategories(List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryAvaillables) { + protected void removeFullyUsedWeightCategories(List<ReferentialReference<WeightCategoryDto>> weightCategoryAvaillables) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); int nbReasonForDiscard = reasonForDiscardSet.size(); // on filtre toutes les weightCategory qui ont deja references toutes les raisons rejets - for (ReferentialReferenceDto<WeightCategoryDto> c : getWeightCategoryUsed(model)) { - Collection<ReferentialReferenceDto<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); + for (ReferentialReference<WeightCategoryDto> c : getWeightCategoryUsed(model)) { + Collection<ReferentialReference<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); if (raisonUsed.size() == nbReasonForDiscard) { // toutes les raison de rejet epuisé pour cette categorie weightCategoryAvaillables.remove(c); @@ -493,11 +493,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, true, tripSeineId); + Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, true, tripSeineId); - getModel().setFormDto(formDto); + getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(formDto.getForm(), getBean()); + SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } protected TargetCatchService getTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx index 14482d9..05a059d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx @@ -27,12 +27,11 @@ <style source="AbstractSampleUI.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TargetSampleDto fr.ird.observe.services.dto.seine.TargetLengthDto fr.ird.observe.ui.content.table.impl.seine.CodeMesureEnum fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -124,7 +123,7 @@ public String getLengthDataTip(boolean computed) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 18b1f93..7e871c6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -24,8 +24,8 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -135,7 +135,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto return; } - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); JComponent requestFocus; @@ -318,9 +318,9 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void loadEditBean(String beanId) { - FormDto<TargetSampleDto> formDto = getTargetSampleService().loadForm(beanId, discarded); - getModel().setFormDto(formDto); - TargetSampleDtos.copyTargetSampleDto(formDto.getForm(), getBean()); + Form<TargetSampleDto> form = getTargetSampleService().loadForm(beanId, discarded); + getModel().setForm(form); + TargetSampleDtos.copyTargetSampleDto(form.getObject(), getBean()); } protected TargetSampleService getTargetSampleService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java index 327476c..886c3e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java @@ -31,8 +31,8 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; -import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -159,7 +159,7 @@ public enum ObstunaAdminAction { // on en a selectionner, de plus si on a selectionne // toutes les marees, on le les passe pas : car c un dump // complet de la base. - importDataIds = ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), IdDtos.getIdFunction())); + importDataIds = ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), DataReference.getIdFunction())); } createConfigurationDto.setImportDataConfiguration(importDataConfig.getConfiguration(), importDataIds); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java index 5221cef..074cbbf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.storage; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import jaxx.runtime.JAXXContext; import org.apache.commons.logging.Log; @@ -106,14 +106,14 @@ public class StorageBackupUILauncher extends StorageUILauncher { File backupFile = storageModel.getBackupFile(); DataSelectionModel dataModel = storageModel.getSelectDataModel(); - Set<ReferenceDto> marees = null; + Set<DataReference> trips = null; if (dataModel != null && !dataModel.isDataFull()) { // on renseigne les marees a exporter uniquement si // on en a selectionner, de plus si on a selectionne // toutes les marees, on le les passe pas : car c un dump // complet de la base. - marees = dataModel.getSelectedData(); + trips = dataModel.getSelectedData(); } - handler.backupLocalDatabase(source, backupFile, marees); + handler.backupLocalDatabase(source, backupFile, trips); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 40583c7..a93c9f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -40,10 +40,9 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; -import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ObserveDbUserDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceDumpProducerService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -633,14 +632,13 @@ public class StorageUIHandler { * marees}. * <p/> * <b>Note:</b> Si ce paramètre vaut {@code null}, on export tout. - * - * @param dataSource la source de donnée qui encapsule la base locale + * @param dataSource la source de donnée qui encapsule la base locale * @param dst le fichier de sauvegarde * @param trips les marees a exporter (si {@code null} on exporte tout) */ public void backupLocalDatabase(ObserveSwingDataSource dataSource, File dst, - Set<ReferenceDto> trips) { + Set<DataReference> trips) { DataSourceDumpProducerService dumpService = dataSource.newService(DataSourceDumpProducerService.class); @@ -666,7 +664,7 @@ public class StorageUIHandler { // on doit dumper la base distante dans une base h2 et en faire // la sauvegarde - ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, IdDtos.getIdFunction())); + ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, DataReference.getIdFunction())); byte[] dump = dumpService.getDataDump(tripIds); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java index 4035f41..488eaed 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java @@ -28,14 +28,15 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialDtos; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -66,29 +67,27 @@ public class DataSelectionModel implements Serializable { Preconditions.checkState(source.isOpen()); - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas = Maps.newHashMap(); + Map<ReferentialReference<ProgramDto>, List<DataReference>> datas = Maps.newHashMap(); ReferentialService referentialService = source.newService(ReferentialService.class); TripSeineService tripSeineService = source.newService(TripSeineService.class); TripLonglineService tripLonglineService = source.newService(TripLonglineService.class); - ReferenceSetDto<ProgramDto> programSet = referentialService.getReferentialReferenceSet(ProgramDto.class); + Set<ReferentialReference<ProgramDto>> programSet = source.getReferentialReferences(ProgramDto.class); + for (ReferentialReference<ProgramDto> program : programSet) { - - for (ReferenceDto<ProgramDto> program : programSet.getReference()) { - - List<ReferenceDto> referenceDtos = Lists.newArrayList(); + List<DataReference> referenceDtos = Lists.newArrayList(); if (ProgramDtos.isProgramSeine(program)) { - ReferenceSetDto<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); - referenceDtos.addAll(tripSeineRef.getReference()); + DataReferenceSet<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); + referenceDtos.addAll(tripSeineRef.getReferences()); - } else if (ProgramDtos.isProgramLongline(program)) { + } else if (ProgramDtos.isProgramLongline(program)) { - ReferenceSetDto<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); - referenceDtos.addAll(tripLonglineRef.getReference()); + DataReferenceSet<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); + referenceDtos.addAll(tripLonglineRef.getReferences()); } @@ -100,9 +99,9 @@ public class DataSelectionModel implements Serializable { } protected static void populate(DataSelectionModel model, - ReferenceDto<ProgramDto> program, - List<ReferenceDto> trips, - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas) { + ReferentialReference<ProgramDto> program, + List<DataReference> trips, + Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { if (!trips.isEmpty()) { @@ -143,10 +142,10 @@ public class DataSelectionModel implements Serializable { protected boolean useReferentiel; /** la liste des programs utilisables (qui ont des marees) */ - protected transient Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas; + protected transient Map<ReferentialReference<ProgramDto>, List<DataReference>> datas; /** la liste des marees selectionnee */ - protected transient Set<ReferenceDto> selectedData; + protected transient Set<DataReference> selectedData; /** la liste des referentiels possibles */ protected final Set<Class<? extends ReferentialDto>> referentiel; @@ -220,32 +219,32 @@ public class DataSelectionModel implements Serializable { return selectedReferentiel; } - public Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> getDatas() { + public Map<ReferentialReference<ProgramDto>, List<DataReference>> getDatas() { if (datas == null) { datas = Maps.newHashMap(); } return datas; } - public Set<ReferenceDto> getSelectedData() { + public Set<DataReference> getSelectedData() { if (selectedData == null) { selectedData = Sets.newHashSet(); } return selectedData; } - public Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> getSelectedDataByProgram() { + public Map<ReferentialReference<ProgramDto>, List<DataReference>> getSelectedDataByProgram() { if (datas == null || selectedData == null || selectedData.isEmpty()) { return Collections.emptyMap(); } - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> result = Maps.newHashMap(); + Map<ReferentialReference<ProgramDto>, List<DataReference>> result = Maps.newHashMap(); - for (ReferenceDto referenceDto : selectedData) { + for (DataReference referenceDto : selectedData) { // on recherche son program - for (ReferenceDto<ProgramDto> p : datas.keySet()) { + for (ReferentialReference<ProgramDto> p : datas.keySet()) { if (datas.get(p).contains(referenceDto)) { - List<ReferenceDto> referenceDtos = result.get(p); + List<DataReference> referenceDtos = result.get(p); if (referenceDtos == null) { referenceDtos = Lists.newArrayList(); result.put(p, referenceDtos); @@ -258,27 +257,27 @@ public class DataSelectionModel implements Serializable { return result; } - public boolean isSelectedData(ReferenceDto referenceDto) { + public boolean isSelectedData(AbstractReference<?> referenceDto) { boolean result; if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { - List<ReferenceDto> trips = datas.get(referenceDto); - result = ! CollectionUtils.isEmpty(trips); + List<DataReference> trips = datas.get(referenceDto); + result = !CollectionUtils.isEmpty(trips); - for (ReferenceDto trip : trips) { + for (DataReference trip : trips) { if (!getSelectedData().contains(trip)) { // au moins une marée non sélectionnée - result = false; + result = false; } } } else { // recherche directe sur les ids de marees - result = getSelectedData().contains(referenceDto); + result = getSelectedData().contains(referenceDto); } @@ -356,13 +355,13 @@ public class DataSelectionModel implements Serializable { firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); } - public void setDatas(Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas) { + public void setDatas(Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { this.datas = datas; // on compte le count de marées totale int nbTrips = 0; if (datas != null) { - for (List<ReferenceDto> marees : datas.values()) { + for (List<DataReference> marees : datas.values()) { nbTrips += marees.size(); } } @@ -375,7 +374,7 @@ public class DataSelectionModel implements Serializable { firePropertyChange(PROPERTY_DATAS, datas); } - public void addSelectedData(ReferenceDto referenceDto) { + public void addSelectedData(AbstractReference referenceDto) { if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { @@ -391,7 +390,7 @@ public class DataSelectionModel implements Serializable { if (log.isDebugEnabled()) { log.debug("Add Trip " + referenceDto.getId()); } - getSelectedData().add(referenceDto); + getSelectedData().add((DataReference) referenceDto); } firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); } @@ -400,13 +399,13 @@ public class DataSelectionModel implements Serializable { if (log.isDebugEnabled()) { log.debug("All all data."); } - for (List<ReferenceDto> p : datas.values()) { + for (List<DataReference> p : datas.values()) { getSelectedData().addAll(p); } firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); } - public void removeSelectedData(ReferenceDto referenceDto) { + public void removeSelectedData(AbstractReference referenceDto) { if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { @@ -485,10 +484,10 @@ public class DataSelectionModel implements Serializable { destroy(); } - public List<ReferenceDto> getDatas(String programId) { - Optional<ReferenceDto<ProgramDto>> programRefOptional = Iterables.tryFind(getDatas().keySet(), IdDtos.newIdPredicate(programId)); + public List<DataReference> getDatas(String programId) { + Optional<ReferentialReference<ProgramDto>> programRefOptional = Iterables.tryFind(getDatas().keySet(), ReferentialReference.newIdPredicate(programId)); - List<ReferenceDto> result; + List<DataReference> result; if (programRefOptional.isPresent()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java index 54cc51a..7571fae 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java @@ -23,18 +23,18 @@ package fr.ird.observe.ui.tree; import com.google.common.base.Preconditions; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.db.DataContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.OpenableDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.content.impl.seine.FloatingObjectUI; import fr.ird.observe.ui.content.impl.seine.SetSeineUI; import fr.ird.observe.ui.content.open.impl.longline.ActivityLonglineUI; @@ -289,14 +289,27 @@ public abstract class AbstractObserveTreeCellRenderer extends AbstractNavTreeCel return text; } - if (node instanceof DtoNodeSupport) { - DtoNodeSupport entityNodeSupport = (DtoNodeSupport) node; + if (node instanceof DataReferenceNodeSupport) { + DataReferenceNodeSupport<?> entityNodeSupport = (DataReferenceNodeSupport) node; + + DataReference entity = entityNodeSupport.getEntity(); + + Preconditions.checkNotNull(entity, "L'entité doit être chargée dans le noeud: " + node); + + Decorator<?> decorator = getDecoratorService().getDataReferenceDecorator((Class) beanType); + String text = decorator.toString(entity); + + return text; + } + + if (node instanceof ReferentialReferenceNodeSupport) { + ReferentialReferenceNodeSupport<?> entityNodeSupport = (ReferentialReferenceNodeSupport) node; - IdDto entity = entityNodeSupport.getEntity(); + ReferentialReference entity = entityNodeSupport.getEntity(); Preconditions.checkNotNull(entity, "L'entité doit être chargée dans le noeud: " + node); - Decorator<?> decorator = getDecoratorService().getDecoratorByType(ReferenceDto.class, beanType.getSimpleName()); + Decorator<?> decorator = getDecoratorService().getReferentialReferenceDecorator((Class) beanType); String text = decorator.toString(entity); return text; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java similarity index 55% copy from observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java copy to observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java index b122b50..9a6b94f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java @@ -22,29 +22,22 @@ package fr.ird.observe.ui.tree; * #L% */ -import fr.ird.observe.ObserveOpenDataManager; -import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.OpenableDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; -import jaxx.runtime.swing.nav.NavBridge; -import jaxx.runtime.swing.nav.NavDataProvider; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.tree.DefaultTreeModel; - /** * Created on 4/9/15. * * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { +public abstract class AbstrctReferenceNodeSupport<E extends IdDto, R extends AbstractReference<E>> extends ObserveNode { /** Logger. */ - private static final Log log = LogFactory.getLog(DtoNodeSupport.class); + private static final Log log = LogFactory.getLog(AbstrctReferenceNodeSupport.class); private static final long serialVersionUID = 1L; @@ -54,60 +47,26 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { * * @since 4.0 */ - protected transient ReferenceDto<E> entity; + protected transient R entity; - private boolean reloadEntity; + protected boolean reloadEntity; - protected abstract ReferenceDto<E> fetchEntity(); + protected abstract R fetchEntity(); - protected DtoNodeSupport(Class<E> internalClass, ReferenceDto<E> entity) { + protected AbstrctReferenceNodeSupport(Class<E> internalClass, R entity) { this(internalClass, entity, null); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + protected AbstrctReferenceNodeSupport(Class<E> type, R entity, AbstractNodeChildLoador<?, ?> childLoador) { this(type, entity, null, childLoador); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + protected AbstrctReferenceNodeSupport(Class<E> type, R entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { super(type, entity.getId(), context, childLoador, false); setEntity(entity); } @Override - public void populateNode(NavBridge<DefaultTreeModel, ObserveNode> bridge, - NavDataProvider provider, - boolean populateChilds) { - - - try { - super.populateNode(bridge, provider, populateChilds); - } finally { - reloadEntity = false; - } - - if (provider != null && id != null) { - - if (entity == null) { - - loadEntity((ObserveDataProvider) provider); - - } - - if (OpenableDto.class.isAssignableFrom(entity.getType())) { - ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); - open = openDataManager.isOpen(entity.getId()); - if (log.isDebugEnabled()) { - log.debug("Set open: " + open + " for entity: " + id); - } - - } - - } - - } - - @Override public void setDirty(boolean dirty) { super.setDirty(dirty); @@ -117,11 +76,11 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { } - public ReferenceDto<E> getEntity() { + public R getEntity() { return entity; } - public void setEntity(ReferenceDto<E> entity) { + public void setEntity(R entity) { this.entity = entity; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java index 2b1bfd3..61ddd09 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.tree.loadors.ActivityLonglineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.ActivityLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ActivityLonglineNode extends DtoNodeSupport<ActivityLonglineDto> { +public class ActivityLonglineNode extends DataReferenceNodeSupport<ActivityLonglineDto> { private static final long serialVersionUID = 1L; - public ActivityLonglineNode(ReferenceDto<ActivityLonglineDto> entity) { + public ActivityLonglineNode(DataReference<ActivityLonglineDto> entity) { super(ActivityLonglineDto.class, entity, ObserveTreeHelper.getChildLoador(ActivityLonglineNodeChildLoador.class)); } @Override - protected ReferenceDto<ActivityLonglineDto> fetchEntity() { + protected DataReference<ActivityLonglineDto> fetchEntity() { ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceDto<ActivityLonglineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<ActivityLonglineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java index 789bd94..ce85749 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.tree.loadors.ActivitySeineNodeChildLoador; @@ -34,24 +34,19 @@ import fr.ird.observe.ui.tree.loadors.ActivitySeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ActivitySeineNode extends DtoNodeSupport<ActivitySeineDto> { +public class ActivitySeineNode extends DataReferenceNodeSupport<ActivitySeineDto> { private static final long serialVersionUID = 1L; - public ActivitySeineNode(ReferenceDto<ActivitySeineDto> entity) { + public ActivitySeineNode(DataReference<ActivitySeineDto> entity) { super(ActivitySeineDto.class, entity, ObserveTreeHelper.getChildLoador(ActivitySeineNodeChildLoador.class)); } @Override - protected ReferenceDto<ActivitySeineDto> fetchEntity() { + protected DataReference<ActivitySeineDto> fetchEntity() { ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceDto<ActivitySeineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<ActivitySeineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } -// @Override -// protected ActivitySeine getEntity(DataService dataService, DataSource source) { -// return dataService.getActivitySeineStub(source, id); -// } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java similarity index 53% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java index b122b50..a9aec72 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.tree; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.OpenableDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; import jaxx.runtime.swing.nav.NavBridge; import jaxx.runtime.swing.nav.NavDataProvider; @@ -41,36 +41,23 @@ import javax.swing.tree.DefaultTreeModel; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { +public abstract class DataReferenceNodeSupport<E extends DataDto> extends AbstrctReferenceNodeSupport<E, DataReference<E>> { /** Logger. */ - private static final Log log = LogFactory.getLog(DtoNodeSupport.class); + private static final Log log = LogFactory.getLog(DataReferenceNodeSupport.class); private static final long serialVersionUID = 1L; - /** - * Pour cacher l'entité attachée au noeud. - * Elle pourra être directement injectée pour éviter de la recharger (lors de la création d'un modèle initiale). - * - * @since 4.0 - */ - protected transient ReferenceDto<E> entity; - - private boolean reloadEntity; - - protected abstract ReferenceDto<E> fetchEntity(); - - protected DtoNodeSupport(Class<E> internalClass, ReferenceDto<E> entity) { - this(internalClass, entity, null); + protected DataReferenceNodeSupport(Class<E> internalClass, DataReference<E> entity) { + super(internalClass, entity, null); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { - this(type, entity, null, childLoador); + protected DataReferenceNodeSupport(Class<E> type, DataReference<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, null, childLoador); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { - super(type, entity.getId(), context, childLoador, false); - setEntity(entity); + protected DataReferenceNodeSupport(Class<E> type, DataReference<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, context, childLoador); } @Override @@ -107,50 +94,4 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { } - @Override - public void setDirty(boolean dirty) { - super.setDirty(dirty); - - if (dirty && reloadEntity) { - entity = null; - } - - } - - public ReferenceDto<E> getEntity() { - return entity; - } - - public void setEntity(ReferenceDto<E> entity) { - this.entity = entity; - } - - - protected void loadEntity(ObserveDataProvider oProvider) { - - //FIXME -// if (oProvider.getSelectionModel() != null) { -// -// if (log.isDebugEnabled()) { -// log.debug("try to get entity from selectionModel " + internalClass + " : " + id); -// } -// entity = (ReferenceDto<E>) oProvider.getSelectionModel().getEntityCache(id); -// } - - if (entity == null) { - - if (log.isInfoEnabled()) { - log.info("will load entity " + internalClass.getSimpleName() + " : " + id); - } - - entity = fetchEntity(); - - } - - } - - public void setReloadEntity(boolean reloadEntity) { - this.reloadEntity = reloadEntity; - } - } 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 f668715..d06c8b6 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,7 +21,7 @@ */ package fr.ird.observe.ui.tree; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -47,16 +47,17 @@ import static org.nuiton.i18n.I18n.t; public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRenderer { /** Logger */ - private static final Log log = - LogFactory.getLog(DataSelectionTreeCellRenderer.class); + private static final Log log = LogFactory.getLog(DataSelectionTreeCellRenderer.class); - protected List<ReferenceDto> existingTrips; + private static final long serialVersionUID = 1L; - public List<ReferenceDto> getExistingTrips() { + protected List<DataReference<?>> existingTrips; + + public List<DataReference<?>> getExistingTrips() { return existingTrips; } - public void setExistingTrips(List<ReferenceDto> existingTrips) { + public void setExistingTrips(List<DataReference<?>> existingTrips) { this.existingTrips = existingTrips; } @@ -113,7 +114,7 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender if (existingTrips != null) { - if (existingTrips.contains(((TripSeineNode)node).getEntity())) { + if (existingTrips.contains(((TripSeineNode) node).getEntity())) { text = t("observe.comon.exist.on.remote", text); exist = true; } @@ -144,6 +145,7 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender UIDefaults defaults = new UIDefaults(); Painter<JComponent> painter = new Painter<JComponent>() { + public void paint(Graphics2D g, JComponent c, int w, int h) { g.fillRect(0, 0, w, h); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java index 939df02..ae187d4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.tree; import com.google.common.collect.Sets; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -119,7 +119,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop // build universe of path : position of path in universe is // exactly the row of the path int count = tree.getRowCount(); - universe = new HashSet<TreePath>(count); + universe = new HashSet<>(count); for (i = 0; i < count; i++) { TreePath path = tree.getPathForRow(i); universe.add(path); @@ -173,12 +173,12 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop universe.add(path); if (log.isDebugEnabled()) { log.debug("add new path to universe " + - path.getLastPathComponent()); + path.getLastPathComponent()); } if (!referentiel && ProgramDto.class.equals(internalClass)) { if (log.isDebugEnabled()) { log.debug("Adding program childs path (" + - node.getChildCount() + ")"); + node.getChildCount() + ")"); } // on ajoute toutes les marees du program Enumeration<?> childs = node.children(); @@ -202,7 +202,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop ObserveNode parentNode = node.getParent(); if (log.isDebugEnabled()) { log.debug("Adding program with his childs (" + - parentNode.getChildCount() + ")"); + parentNode.getChildCount() + ")"); } Enumeration<?> childs = parentNode.children(); while (childs.hasMoreElements()) { @@ -229,7 +229,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop Set<Class<? extends ReferentialDto>> subClasses = Sets.newHashSet(); - for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements();) { + for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements(); ) { subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); } @@ -263,8 +263,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop return; } - if (node instanceof DtoNodeSupport) { - ReferenceDto dto = ((DtoNodeSupport) node).getEntity(); + if (node instanceof DataReferenceNodeSupport) { + DataReference dto = ((DataReferenceNodeSupport<?>) node).getEntity(); if (log.isDebugEnabled()) { log.debug("bean " + dto.getId()); } @@ -335,8 +335,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop if (node.isReferentielNode() && node.isStringNode()) { Set<Class<? extends ReferentialDto>> subClasses = Sets.newHashSet(); - for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements();) { - subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); + for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements(); ) { + subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); } boolean result = dataModel.isReferentielSelectAll(subClasses); @@ -359,8 +359,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop log.trace("begin data node " + node); } - if (node instanceof DtoNodeSupport) { - boolean result = dataModel.isSelectedData(((DtoNodeSupport) node).getEntity()); + if (node instanceof DataReferenceNodeSupport) { + boolean result = dataModel.isSelectedData(((DataReferenceNodeSupport) node).getEntity()); if (log.isTraceEnabled()) { log.trace("selectModel contains the program ? " + result); } @@ -368,7 +368,6 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } - } return false; } @@ -604,7 +603,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } } - protected void addToDataModel(ReferenceDto dto) { + protected void addToDataModel(DataReference dto) { if (log.isTraceEnabled()) { log.trace("selectModel add " + dto.getId()); @@ -613,7 +612,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } - protected void removeFromDataModel(ReferenceDto dto) { + protected void removeFromDataModel(DataReference dto) { if (log.isTraceEnabled()) { log.trace("selectModel remove " + dto.getId()); } @@ -645,7 +644,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop Collections.<TreePath>emptyList() : Arrays.asList(selection); - List<TreePath> newSelection = new ArrayList<TreePath>(); + List<TreePath> newSelection = new ArrayList<>(); for (TreePath p : universe) { if (isPathSelected(p)) { @@ -685,10 +684,10 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } // calcule des paths qui ont changés - List<TreePath> obsoleteSelection = new ArrayList<TreePath>(oldSelection); + List<TreePath> obsoleteSelection = new ArrayList<>(oldSelection); obsoleteSelection.removeAll(newSelection); - List<TreePath> changedPaths = new ArrayList<TreePath>(oldSelection); + List<TreePath> changedPaths = new ArrayList<>(oldSelection); changedPaths.addAll(newSelection); TreePath[] treePaths = changedPaths.toArray(new TreePath[changedPaths.size()]); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java index e57de1b..406a1c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java @@ -22,11 +22,8 @@ package fr.ird.observe.ui.tree; * #L% */ -import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.seine.FloatingObjectService; import fr.ird.observe.ui.tree.loadors.FloatingObjectNodeChildLoador; @@ -37,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.FloatingObjectNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class FloatingObjectSeineNode extends DtoNodeSupport<FloatingObjectDto> { +public class FloatingObjectSeineNode extends DataReferenceNodeSupport<FloatingObjectDto> { private static final long serialVersionUID = 1L; - public FloatingObjectSeineNode(ReferenceDto<FloatingObjectDto> entity) { + public FloatingObjectSeineNode(DataReference<FloatingObjectDto> entity) { super(FloatingObjectDto.class, entity, ObserveTreeHelper.getChildLoador(FloatingObjectNodeChildLoador.class)); } @Override - protected ReferenceDto<FloatingObjectDto> fetchEntity() { + protected DataReference<FloatingObjectDto> fetchEntity() { FloatingObjectService service = ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); - ReferenceDto<FloatingObjectDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<FloatingObjectDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java index 36257a6..76811ab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java @@ -49,7 +49,7 @@ public class ObserveTreeBridge extends NavTreeBridge<ObserveNode> { protected List<String> pathToSelect; public ObserveTreeBridge() { - pathToSelect = new ArrayList<String>(); + pathToSelect = new ArrayList<>(); } public void setUi(JTree ui) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java index e532c88..3ac8f06 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java @@ -26,25 +26,20 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineDtos; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineDtos; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDtos; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.RouteDto; -import fr.ird.observe.services.dto.seine.RouteDtos; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.dto.seine.TripSeineDtos; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -57,6 +52,7 @@ import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; import fr.ird.observe.ui.tree.loadors.RootNodeChildLoador; import fr.ird.observe.ui.tree.loadors.RoutesNodeChildLoador; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeHelper; @@ -64,7 +60,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JTree; import javax.swing.tree.DefaultTreeModel; @@ -76,6 +71,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -94,10 +90,6 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { private boolean createUnsaved; - public ObserveTreeHelper() { - super(new ObserveTreeBridge()); - } - public static ObserveNode createStringNode(String context) { ObserveNode result = createStringNode(context, null); @@ -119,17 +111,22 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } - @Override - protected ObserveDataProvider getDataProvider() { - ObserveDataProvider provider = (ObserveDataProvider) super.getDataProvider(); - if (provider == null) { - ObserveSwingDataSource source = ObserveSwingApplicationContext.get().getDataSource(); - if (source != null) { - provider = new ObserveDataProvider(source); - setDataProvider(provider); + public static void sortPrograms(List<ReferentialReference<ProgramDto>> data) { + Collections.sort(data, new Comparator<ReferentialReference<ProgramDto>>() { + + ReferentialReferenceDecorator<ProgramDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); + + @Override + public int compare(ReferentialReference<ProgramDto> o1, ReferentialReference<ProgramDto> o2) { + + + return this.decorator.toString(o1).compareTo(this.decorator.toString(o2)); } - } - return provider; + }); + } + + public ObserveTreeHelper() { + super(new ObserveTreeBridge()); } public NavigationTreeSelectionModel newNavigationSelectionModel() { @@ -242,11 +239,6 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { getUI().setVisible(true); } - @Override - protected ObserveTreeBridge getBridge() { - return (ObserveTreeBridge) super.getBridge(); - } - /** * Nettoye des ui tout ce qui concerne un modèle de navigation. * <p/> @@ -413,36 +405,39 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } public <E extends IdDto> ObserveNode addOpenable(ObserveNode parentNode, E bean) { + + ReferenceBinderEngine referenceBinderEngine = ObserveSwingApplicationContext.get().getReferenceBinderEngine(); + ReferentialLocale referentialLocale = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialLocale(); if (bean instanceof TripSeineDto) { - ReferenceDto<TripSeineDto> ref = TripSeineDtos.newReferenceDto((TripSeineDto) bean); + DataReference<TripSeineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (TripSeineDto) bean); return addTripSeine(parentNode, ref); } else if (bean instanceof TripLonglineDto) { - ReferenceDto<TripLonglineDto> ref = TripLonglineDtos.newReferenceDto((TripLonglineDto) bean); - return addTripLongline(parentNode, ref); + DataReference<TripLonglineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (TripLonglineDto) bean); + return addTripLongline(parentNode, ref); } else if (bean instanceof RouteDto) { - ReferenceDto<RouteDto> ref = RouteDtos.newReferenceDto((RouteDto) bean); + DataReference<RouteDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (RouteDto) bean); return addRoute(parentNode, ref); } else if (bean instanceof ActivitySeineDto) { - ReferenceDto<ActivitySeineDto> ref = ActivitySeineDtos.newReferenceDto((ActivitySeineDto) bean); + DataReference<ActivitySeineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (ActivitySeineDto) bean); return addActivitySeine(parentNode, ref); } else if (bean instanceof ActivityLonglineDto) { - ReferenceDto<ActivityLonglineDto> ref = ActivityLonglineDtos.newReferenceDto((ActivityLonglineDto) bean); + DataReference<ActivityLonglineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (ActivityLonglineDto) bean); return addActivityLongline(parentNode, ref); } throw new IllegalStateException("Can not come here!"); } - public ObserveNode addTripSeine(ObserveNode parentNode, ReferenceDto<TripSeineDto> bean) { + public ObserveNode addTripSeine(ObserveNode parentNode, DataReference<TripSeineDto> bean) { ProgramSeineNodeChildLoador loador = getChildLoador(ProgramSeineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -450,7 +445,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addTripLongline(ObserveNode parentNode, ReferenceDto<TripLonglineDto> bean) { + public ObserveNode addTripLongline(ObserveNode parentNode, DataReference<TripLonglineDto> bean) { ProgramLonglineNodeChildLoador loador = getChildLoador(ProgramLonglineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -458,7 +453,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addRoute(ObserveNode parentNode, ReferenceDto<RouteDto> bean) { + public ObserveNode addRoute(ObserveNode parentNode, DataReference<RouteDto> bean) { RoutesNodeChildLoador loador = getChildLoador(RoutesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -466,7 +461,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addActivitySeine(ObserveNode parentNode, ReferenceDto<ActivitySeineDto> bean) { + public ObserveNode addActivitySeine(ObserveNode parentNode, DataReference<ActivitySeineDto> bean) { ActivitySeinesNodeChildLoador loador = getChildLoador(ActivitySeinesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -474,7 +469,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addActivityLongline(ObserveNode parentNode, ReferenceDto<ActivityLonglineDto> bean) { + public ObserveNode addActivityLongline(ObserveNode parentNode, DataReference<ActivityLonglineDto> bean) { ActivityLonglinesNodeChildLoador loador = getChildLoador(ActivityLonglinesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -482,7 +477,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addFloatingObject(ObserveNode parentNode, ReferenceDto<FloatingObjectDto> bean) { + public ObserveNode addFloatingObject(ObserveNode parentNode, DataReference<FloatingObjectDto> bean) { ActivitySeineNodeChildLoador loador = getChildLoador(ActivitySeineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -490,7 +485,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addSetSeine(ObserveNode parentNode, ReferenceDto<SetSeineDto> bean) { + public ObserveNode addSetSeine(ObserveNode parentNode, DataReference<SetSeineDto> bean) { ActivitySeineNodeChildLoador loador = getChildLoador(ActivitySeineNodeChildLoador.class); ObserveNode result = loador.createSetNode(bean); @@ -498,7 +493,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addSetLongline(ObserveNode parentNode, ReferenceDto<SetLonglineDto> bean) { + public ObserveNode addSetLongline(ObserveNode parentNode, DataReference<SetLonglineDto> bean) { ActivityLonglineNodeChildLoador loador = getChildLoador(ActivityLonglineNodeChildLoador.class); ObserveNode result = loador.createSetNode(bean); @@ -506,12 +501,10 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addProgram(ReferenceDto<ProgramDto> bean) throws Exception { + public ObserveNode addProgram(ReferentialReference<ProgramDto> bean) throws Exception { - ReferentialService referentialService = - ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<ProgramDto> programs = referentialService.getReferentialReferenceSet(ProgramDto.class); - List data = Lists.newArrayList(programs.getReference()); + Set<ReferentialReference<ProgramDto>> programs = getDataProvider().getDataSource().getReferentialReferences(ProgramDto.class); + List data = Lists.newArrayList(programs); int newIndex = 0; if (CollectionUtils.isNotEmpty(data)) { sortPrograms(data); @@ -539,22 +532,9 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { refreshNode(result, false); } - public static void sortPrograms(List<ReferenceDto<ProgramDto>> data) { - Collections.sort(data, new Comparator<ReferenceDto<ProgramDto>>() { - - Decorator<ReferentialReferenceDto<ProgramDto>> decorator = - ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); - - @Override - public int compare(ReferenceDto<ProgramDto> o1, ReferenceDto<ProgramDto> o2) { - return decorator.toString(o1).compareTo(decorator.toString(o2)); - } - }); - } - public void reloadSelectedNode(boolean refreshFromParent, boolean refreshChilds) { ObserveNode node = getSelectedNode(); - ((DtoNodeSupport) node).setReloadEntity(true); + ((AbstrctReferenceNodeSupport) node).setReloadEntity(true); if (refreshFromParent) { node = node.getParent(); @@ -563,10 +543,31 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } public void reloadNode(ObserveNode node, boolean refreshChilds) { - ((DtoNodeSupport) node).setReloadEntity(true); + ((AbstrctReferenceNodeSupport) node).setReloadEntity(true); refreshNode(node, refreshChilds); } + public boolean isCreateUnsaved() { + return createUnsaved; + } + + @Override + protected ObserveDataProvider getDataProvider() { + ObserveDataProvider provider = (ObserveDataProvider) super.getDataProvider(); + if (provider == null) { + ObserveSwingDataSource source = ObserveSwingApplicationContext.get().getDataSource(); + if (source != null) { + provider = new ObserveDataProvider(source); + setDataProvider(provider); + } + } + return provider; + } + + @Override + protected ObserveTreeBridge getBridge() { + return (ObserveTreeBridge) super.getBridge(); + } void setDataSource(ObserveSwingDataSource source) { NavDataProvider provider = null; @@ -576,8 +577,4 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { setDataProvider(provider); } - public boolean isCreateUnsaved() { - return createUnsaved; - } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java index de801c1..f6afe07 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java @@ -23,9 +23,9 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; @@ -35,11 +35,11 @@ import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ProgramLonglineNode extends DtoNodeSupport<ProgramDto> { +public class ProgramLonglineNode extends ReferentialReferenceNodeSupport<ProgramDto> { private static final long serialVersionUID = 1L; - public ProgramLonglineNode(ReferenceDto<ProgramDto> entity) { + public ProgramLonglineNode(ReferentialReference<ProgramDto> entity) { super(ProgramDto.class, entity, ((GearType) entity.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)).name(), @@ -49,9 +49,9 @@ public class ProgramLonglineNode extends DtoNodeSupport<ProgramDto> { } @Override - protected ReferenceDto<ProgramDto> fetchEntity() { + protected ReferentialReference<ProgramDto> fetchEntity() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceDto<ProgramDto> referenceDto = service.loadReferenceToRead(ProgramDto.class, getId()); + ReferentialReference<ProgramDto> referenceDto = service.loadReference(ProgramDto.class, getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java index 27706d3..ec51409 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java @@ -23,9 +23,9 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; @@ -35,11 +35,11 @@ import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ProgramSeineNode extends DtoNodeSupport<ProgramDto> { +public class ProgramSeineNode extends ReferentialReferenceNodeSupport<ProgramDto> { private static final long serialVersionUID = 1L; - public ProgramSeineNode(ReferenceDto<ProgramDto> entity) { + public ProgramSeineNode(ReferentialReference<ProgramDto> entity) { super(ProgramDto.class, entity, ((GearType) entity.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)).name(), @@ -47,9 +47,9 @@ public class ProgramSeineNode extends DtoNodeSupport<ProgramDto> { } @Override - protected ReferenceDto<ProgramDto> fetchEntity() { + protected ReferentialReference<ProgramDto> fetchEntity() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceDto<ProgramDto> referenceDto = service.loadReferenceToRead(ProgramDto.class, getId()); + ReferentialReference<ProgramDto> referenceDto = service.loadReference(ProgramDto.class, getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java new file mode 100644 index 0000000..f68d7f2 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java @@ -0,0 +1,84 @@ +package fr.ird.observe.ui.tree; + +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; +import jaxx.runtime.swing.nav.NavBridge; +import jaxx.runtime.swing.nav.NavDataProvider; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.tree.DefaultTreeModel; + +/** + * Created on 4/9/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public abstract class ReferentialReferenceNodeSupport<E extends ReferentialDto> extends AbstrctReferenceNodeSupport<E, ReferentialReference<E>> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialReferenceNodeSupport.class); + + private static final long serialVersionUID = 1L; + + protected ReferentialReferenceNodeSupport(Class<E> internalClass, ReferentialReference<E> entity) { + super(internalClass, entity, null); + } + + protected ReferentialReferenceNodeSupport(Class<E> type, ReferentialReference<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, null, childLoador); + } + + protected ReferentialReferenceNodeSupport(Class<E> type, ReferentialReference<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, context, childLoador); + } + + @Override + public void populateNode(NavBridge<DefaultTreeModel, ObserveNode> bridge, + NavDataProvider provider, + boolean populateChilds) { + + + try { + super.populateNode(bridge, provider, populateChilds); + } finally { + reloadEntity = false; + } + + if (provider != null && id != null) { + + if (entity == null) { + + loadEntity((ObserveDataProvider) provider); + + } + + } + + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java index d2132d0..f1d3cf7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; @@ -33,18 +33,18 @@ import fr.ird.observe.services.service.seine.RouteService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class RouteSeineNode extends DtoNodeSupport<RouteDto> { +public class RouteSeineNode extends DataReferenceNodeSupport<RouteDto> { private static final long serialVersionUID = 1L; - public RouteSeineNode(ReferenceDto<RouteDto> entity) { + public RouteSeineNode(DataReference<RouteDto> entity) { super(RouteDto.class, entity); } @Override - protected ReferenceDto<RouteDto> fetchEntity() { + protected DataReference<RouteDto> fetchEntity() { RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceDto<RouteDto> referenceDto = routeService.loadReferenceToRead(getId()); + DataReference<RouteDto> referenceDto = routeService.loadReferenceToRead(getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java index b15d53b..777d6c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.service.longline.SetLonglineService; import fr.ird.observe.ui.tree.loadors.SetLonglineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.SetLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class SetLonglineNode extends DtoNodeSupport<SetLonglineDto> { +public class SetLonglineNode extends DataReferenceNodeSupport<SetLonglineDto> { private static final long serialVersionUID = 1L; - public SetLonglineNode(ReferenceDto<SetLonglineDto> entity) { + public SetLonglineNode(DataReference<SetLonglineDto> entity) { super(SetLonglineDto.class, entity, ObserveTreeHelper.getChildLoador(SetLonglineNodeChildLoador.class)); } @Override - protected ReferenceDto<SetLonglineDto> fetchEntity() { + protected DataReference<SetLonglineDto> fetchEntity() { SetLonglineService service = ObserveSwingApplicationContext.get().newService(SetLonglineService.class); - ReferenceDto<SetLonglineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<SetLonglineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java index 6bef031..e8fa36e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.seine.SetSeineService; import fr.ird.observe.ui.tree.loadors.SetSeineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.SetSeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class SetSeineNode extends DtoNodeSupport<SetSeineDto> { +public class SetSeineNode extends DataReferenceNodeSupport<SetSeineDto> { private static final long serialVersionUID = 1L; - public SetSeineNode(ReferenceDto<SetSeineDto> entity) { + public SetSeineNode(DataReference<SetSeineDto> entity) { super(SetSeineDto.class, entity, ObserveTreeHelper.getChildLoador(SetSeineNodeChildLoador.class)); } @Override - protected ReferenceDto<SetSeineDto> fetchEntity() { + protected DataReference<SetSeineDto> fetchEntity() { SetSeineService service = ObserveSwingApplicationContext.get().newService(SetSeineService.class); - ReferenceDto<SetSeineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<SetSeineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java index 2a2787d..48dce95 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -33,18 +33,18 @@ import fr.ird.observe.services.service.longline.TripLonglineService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class TripLonglineNode extends DtoNodeSupport<TripLonglineDto> { +public class TripLonglineNode extends DataReferenceNodeSupport<TripLonglineDto> { private static final long serialVersionUID = 1L; - public TripLonglineNode(ReferenceDto<TripLonglineDto> entity) { + public TripLonglineNode(DataReference<TripLonglineDto> entity) { super(TripLonglineDto.class, entity); } @Override - protected ReferenceDto<TripLonglineDto> fetchEntity() { + protected DataReference<TripLonglineDto> fetchEntity() { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceDto<TripLonglineDto> referenceDto = tripLonglineService.loadReferenceToRead(getId()); + DataReference<TripLonglineDto> referenceDto = tripLonglineService.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java index efd2dd9..043195d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; @@ -33,19 +33,19 @@ import fr.ird.observe.services.service.seine.TripSeineService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class TripSeineNode extends DtoNodeSupport<TripSeineDto> { +public class TripSeineNode extends DataReferenceNodeSupport<TripSeineDto> { private static final long serialVersionUID = 1L; - public TripSeineNode(ReferenceDto<TripSeineDto> entity) { + public TripSeineNode(DataReference<TripSeineDto> entity) { super(TripSeineDto.class, entity); } @Override - protected ReferenceDto<TripSeineDto> fetchEntity() { + protected DataReference<TripSeineDto> fetchEntity() { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceDto<TripSeineDto> referenceDto = tripSeineService.loadReferenceToRead(getId()); + DataReference<TripSeineDto> referenceDto = tripSeineService.loadReferenceToRead(getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java new file mode 100644 index 0000000..8b90d82 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java @@ -0,0 +1,17 @@ +package fr.ird.observe.ui.tree.loadors; + +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public abstract class AbstractDataReferenceChildLoador<O extends DataDto> extends AbstractNodeChildLoador<DataReference<O>, O> { + + private static final long serialVersionUID = 1L; + + protected AbstractDataReferenceChildLoador(Class<O> beanType) { + super(beanType); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java deleted file mode 100644 index 1b62a92..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.ird.observe.ui.tree.loadors; - -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; - -/** - * @author Kevin Morin (Code Lutin) - * @since x.x - */ -public abstract class AbstractReferenceDtoChildLoador<O extends IdDto> extends AbstractNodeChildLoador<ReferenceDto<O>, O> { - - private static final long serialVersionUID = 1L; - - protected AbstractReferenceDtoChildLoador(Class<O> beanType) { - super(beanType); - } -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java index be4ff46..914cd0f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.tree.loadors; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; @@ -72,9 +72,9 @@ public class ActivityLonglineNodeChildLoador extends AbstractNodeChildLoador<Str { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = ((ActivityLonglineNode) parentNode).getEntity(); + DataReference<ActivityLonglineDto> activityLonglineRef = ((ActivityLonglineNode) parentNode).getEntity(); - ReferenceDto<SetLonglineDto> setLonglineRef = (ReferenceDto<SetLonglineDto>) activityLonglineRef.getPropertyValue(ActivityLonglineDto.PROPERTY_SET_LONGLINE); + DataReference<SetLonglineDto> setLonglineRef = (DataReference<SetLonglineDto>) activityLonglineRef.getPropertyValue(ActivityLonglineDto.PROPERTY_SET_LONGLINE); if (setLonglineRef != null) { // si set present, ajout d'un noeud @@ -109,7 +109,7 @@ public class ActivityLonglineNodeChildLoador extends AbstractNodeChildLoador<Str } - public ObserveNode createSetNode(ReferenceDto<SetLonglineDto> data) { + public ObserveNode createSetNode(DataReference<SetLonglineDto> data) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java index ca34e06..d2a6d37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java @@ -23,9 +23,8 @@ package fr.ird.observe.ui.tree.loadors; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.tree.ActivityLonglineNode; @@ -41,7 +40,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ActivityLonglinesNodeChildLoador extends AbstractReferenceDtoChildLoador<ActivityLonglineDto> { +public class ActivityLonglinesNodeChildLoador extends AbstractDataReferenceChildLoador<ActivityLonglineDto> { private static final long serialVersionUID = 1L; @@ -50,19 +49,19 @@ public class ActivityLonglinesNodeChildLoador extends AbstractReferenceDtoChildL } @Override - public List<ReferenceDto<ActivityLonglineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<ActivityLonglineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { ActivityLonglineService activityLonglineService = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceSetDto<ActivityLonglineDto> activityLonglineByTripLongline = activityLonglineService.getActivityLonglineByTripLongline(parentId); + DataReferenceSet<ActivityLonglineDto> activityLonglineByTripLongline = activityLonglineService.getActivityLonglineByTripLongline(parentId); - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(activityLonglineByTripLongline.getReference())); + return new ArrayList<>(activityLonglineByTripLongline.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<ActivityLonglineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<ActivityLonglineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java index 3b0442d..171e171 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -49,7 +48,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoador<FloatingObjectDto> { +public class ActivitySeineNodeChildLoador extends AbstractDataReferenceChildLoador<FloatingObjectDto> { private static final long serialVersionUID = 1L; @@ -79,8 +78,8 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado parentNode.add(child); - ReferenceDto<ActivitySeineDto> activitySeineRef = ((ActivitySeineNode) parentNode).getEntity(); - ReferenceDto<SetSeineDto> setSeineRef = (ReferenceDto<SetSeineDto>) activitySeineRef.getPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE); + DataReference<ActivitySeineDto> activitySeineRef = ((ActivitySeineNode) parentNode).getEntity(); + DataReference<SetSeineDto> setSeineRef = (DataReference<SetSeineDto>) activitySeineRef.getPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE); if (setSeineRef != null) { // si set present, ajout d'un noeud @@ -92,7 +91,7 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado super.loadChilds(model, parentNode, dataProvider); } - public ObserveNode createSetNode(ReferenceDto<SetSeineDto> data) { + public ObserveNode createSetNode(DataReference<SetSeineDto> data) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } @@ -103,7 +102,7 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado } @Override - public ObserveNode createNode(ReferenceDto<FloatingObjectDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<FloatingObjectDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } @@ -114,14 +113,13 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado } @Override - public List<ReferenceDto<FloatingObjectDto>> getData(Class<?> parentClass, + public List<DataReference<FloatingObjectDto>> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) throws Exception { FloatingObjectService service = ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); - ReferenceSetDto<FloatingObjectDto> floatingObjectByActivitySeine = service.getFloatingObjectByActivitySeine(parentId); - - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(floatingObjectByActivitySeine.getReference())); + DataReferenceSet<FloatingObjectDto> floatingObjectByActivitySeine = service.getFloatingObjectByActivitySeine(parentId); + return new ArrayList<>(floatingObjectByActivitySeine.getReferences()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java index 63be2af..d741961 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.tree.ActivitySeineNode; @@ -40,7 +39,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ActivitySeinesNodeChildLoador extends AbstractReferenceDtoChildLoador<ActivitySeineDto> { +public class ActivitySeinesNodeChildLoador extends AbstractDataReferenceChildLoador<ActivitySeineDto> { private static final long serialVersionUID = 1L; @@ -49,19 +48,18 @@ public class ActivitySeinesNodeChildLoador extends AbstractReferenceDtoChildLoad } @Override - public List<ReferenceDto<ActivitySeineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<ActivitySeineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { ActivitySeineService activitySeineService = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceSetDto<ActivitySeineDto> activitySeineStubByRoute = activitySeineService.getActivitySeineByRoute(parentId); - - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(activitySeineStubByRoute.getReference())); + DataReferenceSet<ActivitySeineDto> activitySeineStubByRoute = activitySeineService.getActivitySeineByRoute(parentId); + return new ArrayList<>(activitySeineStubByRoute.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<ActivitySeineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<ActivitySeineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java index defaa57..68c44bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java @@ -59,7 +59,7 @@ public class FloatingObjectNodeChildLoador extends AbstractNodeChildLoador<Strin String parentId, NavDataProvider dataService) { - List<String> result = new ArrayList<String>(); + List<String> result = new ArrayList<>(); result.add(FloatingObjectDto.PROPERTY_OBJECT_OPERATION); result.add(FloatingObjectSchoolEstimateDto.PROPERTY_OBJECT_SCHOOL_ESTIMATE); result.add(FloatingObjectObservedSpeciesDto.PROPERTY_OBJECT_OBSERVED_SPECIES); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java index d29e594..70c65bc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -36,6 +35,7 @@ import fr.ird.observe.ui.tree.TripLonglineNode; import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeBridge; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -46,7 +46,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoador<TripLonglineDto> { +public class ProgramLonglineNodeChildLoador extends AbstractNodeChildLoador<DataReference<TripLonglineDto>, TripLonglineDto> { private static final long serialVersionUID = 1L; @@ -78,24 +78,24 @@ public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoa } @Override - public List<ReferenceDto<TripLonglineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<TripLonglineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<TripLonglineDto>> result; + List<DataReference<TripLonglineDto>> result; if (selectionModel != null) { - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(selectionModel.getDatas(parentId))); + result = Lists.newArrayList((Collection) selectionModel.getDatas(parentId)); } else { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); + DataReferenceSet<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(tripLonglineByProgram.getReference())); + result = Lists.newArrayList(tripLonglineByProgram.getReferences()); } @@ -104,7 +104,7 @@ public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoa } @Override - public ObserveNode createNode(ReferenceDto<TripLonglineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<TripLonglineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java index 3e2bdbf..03899dc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java @@ -23,9 +23,8 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -36,6 +35,7 @@ import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeBridge; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -46,7 +46,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador<TripSeineDto> { +public class ProgramSeineNodeChildLoador extends AbstractNodeChildLoador<DataReference<TripSeineDto>, TripSeineDto> { private static final long serialVersionUID = 1L; @@ -76,24 +76,24 @@ public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador } @Override - public List<ReferenceDto<TripSeineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<TripSeineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<TripSeineDto>> result; + List<DataReference<TripSeineDto>> result; if (selectionModel != null) { - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(selectionModel.getDatas(parentId))); + result = Lists.newArrayList((Collection) selectionModel.getDatas(parentId)); } else { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); + DataReferenceSet<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); - result = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(tripSeineByProgram.getReference())); + result = new ArrayList<>(tripSeineByProgram.getReferences()); } return result; @@ -101,7 +101,7 @@ public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador } @Override - public ObserveNode createNode(ReferenceDto<TripSeineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<TripSeineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java index 05b9821..4f6e996 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java @@ -71,11 +71,9 @@ public class ReferenceCommonNodeChildLoador extends AbstractNodeChildLoador<Clas } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_COMMON_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java index 3c24349..b9e8926 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java @@ -77,11 +77,9 @@ public class ReferenceLonglineNodeChildLoador extends AbstractNodeChildLoador<Cl } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_LONGLINE_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java index bb9bc6a..012adca 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java @@ -69,11 +69,9 @@ public class ReferenceSeineNodeChildLoador extends AbstractNodeChildLoador<Class } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_SEINE_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java index 68f2013..2630d0b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java @@ -23,11 +23,9 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.ui.tree.ObserveNode; @@ -39,6 +37,7 @@ import jaxx.runtime.swing.nav.NavDataProvider; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -48,7 +47,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<ProgramDto> { +public class RootNodeChildLoador extends AbstractNodeChildLoador<ReferentialReference<ProgramDto>, ProgramDto> { private static final long serialVersionUID = 1L; @@ -75,13 +74,11 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public List<ReferenceDto<ProgramDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<ReferentialReference<ProgramDto>> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<ProgramDto>> data = Collections.emptyList(); + List<ReferentialReference<ProgramDto>> data = Collections.emptyList(); if (addData) { @@ -89,8 +86,8 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program data = Lists.newArrayList(selectionModel.getDatas().keySet()); } else { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<ProgramDto> referentialReferenceSet = service.getReferentialReferenceSet(ProgramDto.class); - data = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(referentialReferenceSet.getReference())); + Set<ReferentialReference<ProgramDto>> referentialReferenceSet = getDataSource(dataProvider).getReferentialReferences(ProgramDto.class); + data = new ArrayList<>(referentialReferenceSet); } ObserveTreeHelper.sortPrograms(data); @@ -101,7 +98,7 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public void addChildNodes(ObserveNode parentNode, List<ReferenceDto<ProgramDto>> datas, NavDataProvider dataProvider) { + public void addChildNodes(ObserveNode parentNode, List<ReferentialReference<ProgramDto>> datas, NavDataProvider dataProvider) { super.addChildNodes(parentNode, datas, dataProvider); if (addReferentiel) { @@ -137,7 +134,7 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public ObserveNode createNode(ReferenceDto<ProgramDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(ReferentialReference<ProgramDto> data, NavDataProvider dataProvider) { GearType gearType = (GearType) data.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java index 414459c..a7e7da1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; import fr.ird.observe.ui.tree.ObserveNode; @@ -43,7 +42,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class RoutesNodeChildLoador extends AbstractReferenceDtoChildLoador<RouteDto> { +public class RoutesNodeChildLoador extends AbstractDataReferenceChildLoador<RouteDto> { private static final long serialVersionUID = 1L; @@ -56,20 +55,20 @@ public class RoutesNodeChildLoador extends AbstractReferenceDtoChildLoador<Route } @Override - public List<ReferenceDto<RouteDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<RouteDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceSetDto<RouteDto> routeByTripSeine = routeService.getRouteByTripSeine(parentId); + DataReferenceSet<RouteDto> routeByTripSeine = routeService.getRouteByTripSeine(parentId); - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(routeByTripSeine.getReference())); + return new ArrayList<>(routeByTripSeine.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<RouteDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<RouteDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java index 83cfce2..d8c4f0a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveActivityLonglineNodeMenuPopulator extends MoveNodeMenuPopulator ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<TripLonglineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripLonglineDto> tripDecorator = decoratorService.getDataReferenceDecorator(TripLonglineDto.class); for (int i = 0, n = programNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java index 909203b..f6c8609 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityRouteActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveActivitySeineNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode routesNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<RouteDto>> routeDecorator = decoratorService.getReferenceDecorator(RouteDto.class); + DataReferenceDecorator<RouteDto> routeDecorator = decoratorService.getDataReferenceDecorator(RouteDto.class); for (int i = 0, n = routesNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java index 5158e8c..1e07562 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveRouteNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<TripSeineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripSeineDto.class); + DataReferenceDecorator<TripSeineDto> tripDecorator = decoratorService.getDataReferenceDecorator(TripSeineDto.class); for (int i = 0, n = programNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java index c6586fb..ea25d19 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java @@ -3,7 +3,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.tree.ObserveNode; @@ -13,7 +12,7 @@ import fr.ird.observe.ui.tree.ProgramSeineNode; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -54,7 +53,7 @@ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, GearType gearType, ObserveNode rootNode) { - Decorator<ReferenceDto<ProgramDto>> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ProgramDto.class); + ReferentialReferenceDecorator<ProgramDto> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); for (int i = 0, n = rootNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java index d34b546..b53b8df 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java @@ -2,8 +2,7 @@ package fr.ird.observe.ui.util; import com.google.common.base.Preconditions; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.ui.tree.DtoNodeSupport; +import fr.ird.observe.ui.tree.AbstrctReferenceNodeSupport; import org.nuiton.decorator.Decorator; /** @@ -16,7 +15,7 @@ public class DecoratedNodeEntity { private final String label; - public static <E extends IdDto> DecoratedNodeEntity newDecoratedNodeEntity(DtoNodeSupport<E> node, Decorator<ReferenceDto<E>> decorator) { + public static <E extends IdDto> DecoratedNodeEntity newDecoratedNodeEntity(AbstrctReferenceNodeSupport<E, ?> node, Decorator<?> decorator) { Preconditions.checkNotNull(node); Preconditions.checkNotNull(decorator); return new DecoratedNodeEntity(node.getId(), decorator.toString(node.getEntity())); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java new file mode 100644 index 0000000..e7c7ced --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java @@ -0,0 +1,45 @@ +package fr.ird.observe.ui.util.decorator; + +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import org.apache.commons.jxpath.JXPathContext; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class DataReferenceDecorator<D extends DataDto> extends ObserveDecorator<DataReference<D>> implements Cloneable { + + private static final long serialVersionUID = 1L; + + public DataReferenceDecorator(String expression) { + super((Class) DataReference.class, expression); + } + + @Override + protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) { + + // assume all values are comparable + Comparable<Comparable<?>> value; + + Object contextBean = jxcontext.getContextBean(); + + if (contextBean instanceof AbstractReference) { + + String[] tokens = token.split("/"); + + value = getValueFromReference(tokens, (AbstractReference) contextBean, 0); + + if (value == null) { + value = (Comparable<Comparable<?>>) getDefaultNullValue(tokens[0]); + } + + } else { + value = super.getTokenValue(jxcontext, token); + } + + return value; + + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java index 401495d..423e527 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.ui.util.decorator; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.AbstractReference; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -75,9 +75,9 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon Object value0 = jxcontext.getValue(tokens[0]); - if (value0 instanceof ReferenceDto) { + if (value0 instanceof AbstractReference) { - value = getValueFromReferenceDto(tokens, (ReferenceDto) value0, 1); + value = getValueFromReference(tokens, (AbstractReference<?>) value0, 1); } else { @@ -95,21 +95,21 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon return value; } - protected Comparable<Comparable<?>> getValueFromReferenceDto(String[] tokens, ReferenceDto referenceBean, int startIndex) { + protected Comparable<Comparable<?>> getValueFromReference(String[] tokens, AbstractReference<?> referenceBean, int startIndex) { - for (int i = startIndex, max = tokens.length - 1 ; i < max ; i++) { + for (int i = startIndex, max = tokens.length - 1; i < max; i++) { if (referenceBean.getPropertyNames().contains(tokens[i])) { Serializable propertyValue = referenceBean.getPropertyValue(tokens[i]); - if (propertyValue == null || !(propertyValue instanceof ReferenceDto)) { + if (propertyValue == null || !(propertyValue instanceof AbstractReference)) { return (Comparable<Comparable<?>>) getDefaultUndefinedValue(StringUtils.join(tokens, "/")); } - referenceBean = (ReferenceDto) propertyValue; + referenceBean = (AbstractReference<?>) propertyValue; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java similarity index 66% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java index 547d832..52299cb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.util.decorator; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import org.apache.commons.jxpath.JXPathContext; import static org.nuiton.i18n.I18n.t; @@ -9,27 +9,27 @@ import static org.nuiton.i18n.I18n.t; /** * @author Kevin Morin (Code Lutin) */ -public class ReferenceDecorator extends ObserveDecorator<ReferenceDto> implements Cloneable { +public class ReferentialReferenceDecorator<D extends ReferentialDto> extends ObserveDecorator<ReferentialReference<D>> implements Cloneable { private static final long serialVersionUID = 1L; - public ReferenceDecorator(String expression) { - super(ReferenceDto.class, expression); + public ReferentialReferenceDecorator(String expression) { + super((Class) ReferentialReference.class, expression); } @Override protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) { // assume all values are comparable - Comparable<Comparable<?>> value = null; + Comparable<Comparable<?>> value; Object contextBean = jxcontext.getContextBean(); - if (contextBean instanceof ReferenceDto) { + if (contextBean instanceof ReferentialReference) { String[] tokens = token.split("/"); - value = getValueFromReferenceDto(tokens, (ReferenceDto) contextBean, 0); + value = getValueFromReference(tokens, (ReferentialReference) contextBean, 0); if (value == null) { value = (Comparable<Comparable<?>>) getDefaultNullValue(tokens[0]); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java index fbee473..ccb865f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java @@ -25,7 +25,7 @@ package fr.ird.observe.validation.validator.dto; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -218,7 +218,7 @@ public abstract class AbstractEspeceFieldDtoValidator extends FieldValidatorSupp } // l'species associée - ReferenceDto<SpeciesDto> speciesRef = (ReferenceDto<SpeciesDto>) getFieldValue(speciesFieldName, object); + ReferentialReference<SpeciesDto> speciesRef = (ReferentialReference<SpeciesDto>) getFieldValue(speciesFieldName, object); if (speciesRef == null) { @@ -268,7 +268,7 @@ public abstract class AbstractEspeceFieldDtoValidator extends FieldValidatorSupp protected Bound getBound(SpeciesDto species) { - Float min = getBoundMin(species); + Float min = getBoundMin(species); Float max = getBoundMax(species); if (min == null || min == 0 || max == null || max == 0) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java index cffadf5..7aa25e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java @@ -28,12 +28,12 @@ import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDtos; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; /** * Created on 12/7/14. @@ -61,9 +61,9 @@ public class SetLonglineUniqueHomeIdDtoValidator extends FieldValidatorSupport { if (sameHomeIdSetLonglineOptional.isPresent()) { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); + DataReference<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); - Decorator<ReferenceDto<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ActivityLonglineDto.class); + DataReferenceDecorator<ActivityLonglineDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(ActivityLonglineDto.class); stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java index 147bed8..62aa89a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java @@ -28,7 +28,7 @@ import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; @@ -61,7 +61,7 @@ public class SetLonglineUniqueNumberDtoValidator extends FieldValidatorSupport { if (sameNumberSetLonglineOptional.isPresent()) { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); + DataReference activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); Decorator<Class<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(ActivityLonglineDto.class); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.