branch feature/7469-4 created (now 204428a)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7469-4 in repository observe. See http://git.codelutin.com/observe.git at 204428a vérification de l'existence des ids des noeuds ouverts avant d'ouvrir les noeuds de l'arbre This branch includes the following new commits: new 32d7e3e ajout de la conf des noeuds ouverts new 625ef47 enregsitrement des noeuds ouverts à la fermeture et chargement des noeuds ouverts à l'ouverture new 204428a vérification de l'existence des ids des noeuds ouverts avant d'ouvrir les noeuds de l'arbre The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 204428a935d1ca59263a18990e7756843e5bfdc8 Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 16:22:57 2015 +0100 vérification de l'existence des ids des noeuds ouverts avant d'ouvrir les noeuds de l'arbre commit 32d7e3e5ae91e33b2824dff82503db505e4e4ebe Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 14:56:39 2015 +0100 ajout de la conf des noeuds ouverts commit 625ef4787b94a1fa094c4ff649b27eeff393f6eb Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 14:56:48 2015 +0100 enregsitrement des noeuds ouverts à la fermeture et chargement des noeuds ouverts à l'ouverture -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7469-4 in repository observe. See http://git.codelutin.com/observe.git commit 32d7e3e5ae91e33b2824dff82503db505e4e4ebe Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 14:56:39 2015 +0100 ajout de la conf des noeuds ouverts --- .../configuration/ObserveSwingApplicationConfig.java | 17 +++++++++++++++++ .../ObserveSwingApplicationConfigOption.java | 14 +++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java index 43b5f3a..a68fb37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java @@ -35,6 +35,7 @@ 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.ui.UIHelper; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.config.ApplicationConfig; @@ -218,6 +219,8 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { public static final String PROPERTY_DEV_MODE = "devMode"; + public static final String PROPERTY_TREE_OPEN_NODES = "treeOpenNodes"; + /** Logger */ static private Log log = LogFactory.getLog(ObserveSwingApplicationConfig.class); @@ -942,6 +945,20 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { return result; } + public String[] getTreeOpenNodeIds() { + String ids = getOption(ObserveSwingApplicationConfigOption.TREE_OPEN_NODES.key); + String[] result = null; + if (ids != null) { + result = ids.split(","); + } + return result; + } + + public void setTreeOpenNodeIds(String[] ids) { + String joinIds = StringUtils.join(ids, ","); + setOption(ObserveSwingApplicationConfigOption.TREE_OPEN_NODES, joinIds); + } + public String[] getUnsavables() { if (unsavables == null) { List<String> tmp = new ArrayList<String>(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfigOption.java b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfigOption.java index 2b76356..c8def54 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfigOption.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfigOption.java @@ -802,7 +802,19 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { "${resources.directory}/map/style.xml", File.class, false, - false); + false), + + + /** Ids des noeuds ouverts dans l'arbre */ + TREE_OPEN_NODES( + "ui." + ObserveSwingApplicationConfig.PROPERTY_TREE_OPEN_NODES, + ObserveSwingApplicationConfig.PROPERTY_TREE_OPEN_NODES, + n("observe.config.ui.treeOpenNodes"), + null, + String.class, + false, + false + ); public static List<ObserveSwingApplicationConfigOption> MAP_LAYERS = ImmutableList.of(MAP_LAYER_1, MAP_LAYER_2, MAP_LAYER_3, MAP_LAYER_4, MAP_LAYER_5, MAP_LAYER_6, MAP_LAYER_7, MAP_LAYER_8, MAP_LAYER_9, MAP_LAYER_10); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7469-4 in repository observe. See http://git.codelutin.com/observe.git commit 625ef4787b94a1fa094c4ff649b27eeff393f6eb Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 14:56:48 2015 +0100 enregsitrement des noeuds ouverts à la fermeture et chargement des noeuds ouverts à l'ouverture --- .../main/java/fr/ird/observe/ObserveSwingApplicationContext.java | 6 +++--- 1 file changed, 3 insertions(+), 3 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 439c820..1d13e6f 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 @@ -749,6 +749,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im dataContext.setEnabled(false); // suppresion des opens dans le context de données + getConfig().setTreeOpenNodeIds(dataContext.getOpenIds()); dataContext.populateOpens(); mainUI.getTreeHelper().cleanNavigationUI(mainUI); @@ -819,9 +820,8 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im treeHelper.cleanNavigationUI(mainUI); - // FIXME -// String[] openIds = getDataService().getOpenIds(source); -// mainUI.getDataContext().populateOpens(openIds); + String[] openIds = config.getTreeOpenNodeIds(); + dataContext.populateOpens(openIds); treeHelper.loadNavigationUI(source, mainUI); mainUI.setMode(ObserveUIMode.DB); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7469-4 in repository observe. See http://git.codelutin.com/observe.git commit 204428a935d1ca59263a18990e7756843e5bfdc8 Author: Kevin Morin <morin@codelutin.com> Date: Fri Nov 6 16:22:57 2015 +0100 vérification de l'existence des ids des noeuds ouverts avant d'ouvrir les noeuds de l'arbre --- .../observe/ObserveSwingApplicationContext.java | 71 ++++++++++++++++++++++ .../ird/observe/ui/actions/CloseStorageAction.java | 3 + .../v1/ReferentialServiceController.java | 5 ++ .../ActivityLonglineServiceController.java | 5 ++ .../v1/longline/SetLonglineServiceController.java | 5 ++ .../v1/longline/TripLonglineServiceController.java | 5 ++ .../v1/seine/ActivitySeineServiceController.java | 5 ++ .../v1/seine/FloatingObjectServiceController.java | 5 ++ .../v1/seine/RouteServiceController.java | 5 ++ .../v1/seine/SetSeineServiceController.java | 5 ++ .../v1/seine/TripSeineServiceController.java | 5 ++ .../services/service/ReferentialService.java | 3 + .../service/longline/ActivityLonglineService.java | 3 + .../service/longline/SetLonglineService.java | 2 + .../service/longline/TripLonglineService.java | 3 + .../service/seine/ActivitySeineService.java | 3 + .../service/seine/FloatingObjectService.java | 2 + .../services/service/seine/RouteService.java | 2 + .../services/service/seine/SetSeineService.java | 2 + .../services/service/seine/TripSeineService.java | 3 + .../java/fr/ird/observe/services/dto/IdDtos.java | 68 +++++++++++++++++++-- .../ird/observe/services/ObserveServiceTopia.java | 5 ++ .../services/service/ReferentialServiceTopia.java | 6 ++ .../longline/ActivityLonglineServiceTopia.java | 4 ++ .../service/longline/SetLonglineServiceTopia.java | 4 ++ .../service/longline/TripLonglineServiceTopia.java | 8 ++- .../service/seine/ActivitySeineServiceTopia.java | 5 ++ .../service/seine/FloatingObjectServiceTopia.java | 5 ++ .../services/service/seine/RouteServiceTopia.java | 5 ++ .../service/seine/SetSeineServiceTopia.java | 5 ++ .../service/seine/TripSeineServiceTopia.java | 5 ++ 31 files changed, 255 insertions(+), 7 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 1d13e6f..5451514 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 @@ -36,12 +36,23 @@ import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.ObserveServiceMainFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; 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.referential.ProgramDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.actions.validate.ValidateServiceUtils; import fr.ird.observe.services.service.actions.validate.ValidatorDto; +import fr.ird.observe.services.service.longline.ActivityLonglineService; +import fr.ird.observe.services.service.longline.SetLonglineService; +import fr.ird.observe.services.service.longline.TripLonglineService; +import fr.ird.observe.services.service.seine.ActivitySeineService; +import fr.ird.observe.services.service.seine.FloatingObjectService; +import fr.ird.observe.services.service.seine.RouteService; +import fr.ird.observe.services.service.seine.SetSeineService; +import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.ObserveMainUIHandler; @@ -821,6 +832,9 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im treeHelper.cleanNavigationUI(mainUI); String[] openIds = config.getTreeOpenNodeIds(); + + sanitizeOpenIds(openIds); + dataContext.populateOpens(openIds); treeHelper.loadNavigationUI(source, mainUI); @@ -899,4 +913,61 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return dataSource; } + protected void sanitizeOpenIds(String[] ids) { + if (ids != null) { + + boolean exists = true; + + for (int i = 0, l = ids.length; i < l; i++) { + String id = ids[i]; + + // si l'id précédent existe, on vérifie l'actuel + // sinon, on met à null + if (exists) { + if (IdDtos.isProgramId(id)) { + + exists = newService(ReferentialService.class).exists(ProgramDto.class, id); + + } else if (IdDtos.isTripSeineId(id)) { + + exists = newService(TripSeineService.class).exists(id); + + } else if (IdDtos.isRouteId(id)) { + + exists = newService(RouteService.class).exists(id); + + } else if (IdDtos.isActivitySeineId(id)) { + + exists = newService(ActivitySeineService.class).exists(id); + + } else if (IdDtos.isSetSeineId(id)) { + + exists = newService(SetSeineService.class).exists(id); + + } else if (IdDtos.isFloatingObjectId(id)) { + + exists = newService(FloatingObjectService.class).exists(id); + + } else if (IdDtos.isTripLonglineId(id)) { + + exists = newService(TripLonglineService.class).exists(id); + + } else if (IdDtos.isActivityLonglineId(id)) { + + exists = newService(ActivityLonglineService.class).exists(id); + + } else if (IdDtos.isSetLonglineId(id)) { + + exists = newService(SetLonglineService.class).exists(id); + + } + } + + if (!exists) { + ids[i] = null; + } + } + } + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java index 3440932..1152947 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/CloseStorageAction.java @@ -76,6 +76,9 @@ public class CloseStorageAction extends AbstractAction { if (log.isDebugEnabled()) { log.debug(">>> close main storage " + source); } + + + // on doit fermer le storage en cours d'utilisation source.close(); } finally { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index b7168f5..525c3ec 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -98,4 +98,9 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon public <R extends ReferentialDto> DtoMap findAllUsages(R bean) throws DataNotFoundException { return service.findAllUsages(bean); } + + @Override + public <R extends ReferentialDto> boolean exists(Class<R> type, String id) { + return service.exists(type, id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java index 4296d72..92702da 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java @@ -78,4 +78,9 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi public boolean delete(String tripLonglineId, String activityLonglineId) { return service.delete(tripLonglineId, activityLonglineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java index 9d48f49..3dc91d1 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java @@ -67,4 +67,9 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon public void delete(String activityLonglineId, String setLonglineId) { service.delete(activityLonglineId, setLonglineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java index 1d66e21..ac7bfa6 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java @@ -89,4 +89,9 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo public void delete(String tripLonglineId) { service.delete(tripLonglineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java index 3914bd6..a9a0160 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java @@ -78,4 +78,9 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC public void delete(String routeId, String activitySeineId) { service.delete(routeId, activitySeineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index ce8372c..39929f8 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -72,4 +72,9 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService public void delete(String activitySeineId, String floatingObjectId) { service.delete(activitySeineId, floatingObjectId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index e8559ca..f1e917a 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -78,4 +78,9 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle public boolean delete(String tripSeineId, String routeId) { return service.delete(tripSeineId, routeId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java index ecfceff..e0ea4d8 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java @@ -66,4 +66,9 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro public void delete(String activitySeineId, String setSeineId) { service.delete(activitySeineId, setSeineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java index 10b95ce..f92c748 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java @@ -89,4 +89,9 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr public void delete(String tripSeineId) { service.delete(tripSeineId); } + + @Override + public boolean exists(String id) { + return service.exists(id); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index 70cda2c..950be0a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -85,4 +85,7 @@ public interface ReferentialService extends ObserveService { @ReadDataPermission <R extends ReferentialDto> DtoMap findAllUsages(R bean) throws DataNotFoundException; + @ReadReferentialPermission + @ReadDataPermission + <R extends ReferentialDto> boolean exists(Class<R> type, String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java index 394f66e..683bc15 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java @@ -69,4 +69,7 @@ public interface ActivityLonglineService extends ObserveService { * @return true if the trip end date has been updated */ boolean delete(String tripLonglineId, String activityLonglineId); + + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java index 8cf0fad..f64e5d3 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java @@ -60,4 +60,6 @@ public interface SetLonglineService extends ObserveService { @DeleteRequest void delete(String activityLonglineId, String setLonglineId); + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 006635a..c5209d3 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -73,4 +73,7 @@ public interface TripLonglineService extends ObserveService { @WriteDataPermission @DeleteRequest void delete(String tripLonglineId); + + @ReadDataPermission + boolean exists(String id); } \ No newline at end of file diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java index 1d92f39..95bdf94 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java @@ -66,4 +66,7 @@ public interface ActivitySeineService extends ObserveService { @WriteDataPermission @DeleteRequest void delete(String routeId, String activitySeineId); + + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index 87345cb..a01ddf2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java @@ -63,4 +63,6 @@ public interface FloatingObjectService extends ObserveService { @DeleteRequest void delete(String activitySeineId, String floatingObjectId); + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index dc3a1c2..dbf9c25 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -67,4 +67,6 @@ public interface RouteService extends ObserveService { @DeleteRequest boolean delete(String tripSeineId, String routeId); + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index 5cba971..4d50fef 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -59,4 +59,6 @@ public interface SetSeineService extends ObserveService { @DeleteRequest void delete(String activitySeineId, String setSeineId); + @ReadDataPermission + boolean exists(String id); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index 8617d42..ae26efa 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -72,4 +72,7 @@ public interface TripSeineService extends ObserveService { @WriteDataPermission @DeleteRequest void delete(String tripSeineId); + + @ReadDataPermission + boolean exists(String id); } \ No newline at end of file diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java index 625bfeb..cedb384 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java @@ -53,26 +53,86 @@ public class IdDtos extends AbstractIdDtos { }; } + public static <BeanType extends IdDto> boolean exists(Iterable<BeanType> source, String id) { + return Iterables.tryFind(source, newIdPredicate(id)).isPresent(); + } + + public static boolean isProgram(IdDto dto) { + return isProgramId(dto.getId()); + } + + public static boolean isProgramId(String id) { + return id.contains("Program"); + } + public static boolean isTrip(IdDto dto) { return isTripSeine(dto) || isTripLongline(dto); } - private static boolean isTripLongline(IdDto dto) { + public static boolean isTripLongline(IdDto dto) { return isTripLonglineId(dto.getId()); } - private static boolean isTripLonglineId(String id) { + public static boolean isTripLonglineId(String id) { return id.contains("TripLongline"); } - private static boolean isTripSeine(IdDto dto) { + public static boolean isTripSeine(IdDto dto) { return isTripSeineId(dto.getId()); } - private static boolean isTripSeineId(String id) { + public static boolean isTripSeineId(String id) { return id.contains("TripSeine"); } + public static boolean isRoute(IdDto dto) { + return isRouteId(dto.getId()); + } + + public static boolean isRouteId(String id) { + return id.contains("Route"); + } + + public static boolean isActivitySeine(IdDto dto) { + return isActivitySeineId(dto.getId()); + } + + public static boolean isActivitySeineId(String id) { + return id.contains("ActivitySeine"); + } + + public static boolean isActivityLongline(IdDto dto) { + return isActivityLonglineId(dto.getId()); + } + + public static boolean isActivityLonglineId(String id) { + return id.contains("ActivityLongline"); + } + + public static boolean isSetSeine(IdDto dto) { + return isSetSeineId(dto.getId()); + } + + public static boolean isSetSeineId(String id) { + return id.contains("SetSeine"); + } + + public static boolean isSetLongline(IdDto dto) { + return isSetLonglineId(dto.getId()); + } + + public static boolean isSetLonglineId(String id) { + return id.contains("SetLongline"); + } + + public static boolean isFloatingObject(IdDto dto) { + return isFloatingObjectId(dto.getId()); + } + + public static boolean isFloatingObjectId(String id) { + return id.contains("FloatingObject"); + } + public static boolean isSeineId(String id) { return id.contains("Seine"); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index a49399f..76e7b56 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -838,4 +838,9 @@ public abstract class ObserveServiceTopia implements ObserveService { } } + protected <E extends TopiaEntity> boolean existsEntity(Class<E> entityType, String id) { + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + return dao.forTopiaIdEquals(id).exists(); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 4706629..fa3e5ca 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -156,6 +156,12 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe return result; } + @Override + public <D extends ReferentialDto> boolean exists(Class<D> dtoType, String id) { + Class<? extends ReferenceEntity> entityType = getEntityType(dtoType); + return existsEntity(entityType, id); + } + //FIXME-kmorin Rename with method protected <E extends TopiaEntity, I extends IdDto> List<I> test(Class<I> dtoType, Class<E> type, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index b6da2ab..3e96ac0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -225,4 +225,8 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements return wasEndDateUpdated; } + @Override + public boolean exists(String id) { + return existsEntity(ActivityLongline.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index a41c969..0335193 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -142,4 +142,8 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL } + @Override + public boolean exists(String id) { + return existsEntity(SetLongline.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index 1aeb523..6cdca19 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -78,9 +78,6 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri return stubReferences; } - - - @Override public ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId) { @@ -201,4 +198,9 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri public void delete(String tripLonglineId) { deleteEntity(TripLonglineDto.class, TripLongline.class, Collections.singleton(tripLonglineId)); } + + @Override + public boolean exists(String id) { + return existsEntity(TripLongline.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 68168c3..e262c85 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -222,4 +222,9 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac route.removeActivitySeine(activitySeine); } + + @Override + public boolean exists(String id) { + return existsEntity(ActivitySeine.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index e46701b..02243d5 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -147,4 +147,9 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F activitySeine.removeFloatingObject(floatingObject); } + + @Override + public boolean exists(String id) { + return existsEntity(FloatingObject.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 29c4771..9985d38 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -243,4 +243,9 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi return wasEndDateUpdated; } + + @Override + public boolean exists(String id) { + return existsEntity(Route.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index dc32fa8..4b1a163 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -145,4 +145,9 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein //FIXME kmorin : faudrait pas sauver quelquechose là ? parcequ'on n'a rien supprimé... } + + @Override + public boolean exists(String id) { + return existsEntity(SetSeine.class, id); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index ee5a438..e4dbe6f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -194,4 +194,9 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe deleteEntity(TripSeineDto.class, TripSeine.class, Collections.singleton(tripSeineId)); } + + @Override + public boolean exists(String id) { + return existsEntity(TripSeine.class, id); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm