From a8816886674aaf0142610aedca85baee4ab5ea12 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Wed, 20 Jul 2022 12:10:03 +0200 Subject: [PATCH] Reorganized query and path parameters constants --- .../resourceregistry/rest/Access.java | 71 ++++++++++--------- .../resourceregistry/rest/BaseRest.java | 4 +- .../resourceregistry/rest/ContextManager.java | 17 ++--- .../rest/InstancesManager.java | 43 +++++------ .../rest/QueryTemplateManager.java | 19 ++--- .../resourceregistry/rest/SharingManager.java | 17 +++-- .../resourceregistry/rest/TypeManager.java | 13 ++-- 7 files changed, 96 insertions(+), 88 deletions(-) diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/Access.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/Access.java index 4c0e920..d17e9e1 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/Access.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/Access.java @@ -29,6 +29,7 @@ import org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.Cont import org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException; import org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaNotFoundException; import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; +import org.gcube.informationsystem.resourceregistry.api.rest.ContextPath; import org.gcube.informationsystem.resourceregistry.api.rest.InstancePath; import org.gcube.informationsystem.resourceregistry.api.rest.TypePath; import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; @@ -51,6 +52,10 @@ import com.orientechnologies.orient.core.record.ODirection; @Path(AccessPath.ACCESS_PATH_PART) public class Access extends BaseRest { + public static final String RESOURCE_TYPE_PATH_PARAMETER = "RESOURCE_TYPE_NAME"; + public static final String RELATION_TYPE_PATH_PARAMETER = "RELATION_TYPE_NAME"; + public static final String REFERENCE_TYPE_PATH_PARAMETER = "REFERENCE_TYPE_NAME"; + public Access() { super(); } @@ -74,11 +79,11 @@ public class Access extends BaseRest { * e.g. GET /access/contexts/c0f314e7-2807-4241-a792-2a6c79ed4fd0 */ @GET - @Path(AccessPath.CONTEXTS_PATH_PART + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path(AccessPath.CONTEXTS_PATH_PART + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getContext(@PathParam(AccessPath.UUID_PATH_PARAM) String uuid) + public String getContext(@PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws ContextNotFoundException, ResourceRegistryException { - if(uuid.compareTo(AccessPath.CURRENT_CONTEXT)==0){ + if(uuid.compareTo(ContextPath.CURRENT_CONTEXT_PATH_PART)==0){ uuid = ContextUtility.getCurrentSecurityContext().getUUID().toString(); } logger.info("Requested to read {} with id {} ", org.gcube.informationsystem.contexts.reference.entities.Context.NAME, uuid); @@ -94,10 +99,10 @@ public class Access extends BaseRest { * e.g. GET /access/types/ContactFacet?polymorphic=true */ @GET - @Path(AccessPath.TYPES_PATH_PART + "/{" + AccessPath.TYPE_PATH_PARAM + "}") + @Path(AccessPath.TYPES_PATH_PART + "/{" + TypeManager.TYPE_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getType(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @QueryParam(TypePath.POLYMORPHIC_PARAM) @DefaultValue("false") Boolean polymorphic) + public String getType(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @QueryParam(TypePath.POLYMORPHIC_QUERY_PARAMETER) @DefaultValue("false") Boolean polymorphic) throws SchemaNotFoundException, ResourceRegistryException { logger.info("Requested Schema for type {}", type); CalledMethodProvider.instance.set("readType"); @@ -118,12 +123,12 @@ public class Access extends BaseRest { * */ @GET - @Path(AccessPath.INSTANCES_PATH_PART + "/{" + AccessPath.TYPE_PATH_PARAM + "}") + @Path(AccessPath.INSTANCES_PATH_PART + "/{" + TypeManager.TYPE_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getAllInstances(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @QueryParam(InstancePath.POLYMORPHIC_PARAM) @DefaultValue("true") Boolean polymorphic) + public String getAllInstances(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @QueryParam(InstancePath.POLYMORPHIC_QUERY_PARAMETER) @DefaultValue("true") Boolean polymorphic) throws NotFoundException, ResourceRegistryException { - logger.info("Requested all {}instances of {}", polymorphic ? InstancePath.POLYMORPHIC_PARAM + " " : "", type); + logger.info("Requested all {}instances of {}", polymorphic ? InstancePath.POLYMORPHIC_QUERY_PARAMETER + " " : "", type); CalledMethodProvider.instance.set("listInstances"); checkHierarchicalMode(); @@ -139,10 +144,10 @@ public class Access extends BaseRest { * */ @HEAD - @Path(AccessPath.INSTANCES_PATH_PART + "/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path(AccessPath.INSTANCES_PATH_PART + "/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public Response instanceExists(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid) throws NotFoundException, ResourceRegistryException { + public Response instanceExists(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws NotFoundException, ResourceRegistryException { logger.info("Requested to check if {} with id {} exists", type, uuid); CalledMethodProvider.instance.set("existInstance"); @@ -176,10 +181,10 @@ public class Access extends BaseRest { * */ @GET - @Path(AccessPath.INSTANCES_PATH_PART + "/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path(AccessPath.INSTANCES_PATH_PART + "/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getInstance(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid) throws NotFoundException, ResourceRegistryException { + public String getInstance(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws NotFoundException, ResourceRegistryException { logger.info("Requested to read {} with id {}", type, uuid); CalledMethodProvider.instance.set("readInstance"); @@ -202,10 +207,10 @@ public class Access extends BaseRest { * */ @GET - @Path(AccessPath.INSTANCES_PATH_PART + "/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}/" + AccessPath.CONTEXTS_PATH_PART) + @Path(AccessPath.INSTANCES_PATH_PART + "/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}/" + AccessPath.CONTEXTS_PATH_PART) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getInstanceContexts(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String instanceId) throws NotFoundException, ResourceRegistryException { + public String getInstanceContexts(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String instanceId) throws NotFoundException, ResourceRegistryException { logger.info("Requested to get contexts of {} with UUID {}", type, instanceId); CalledMethodProvider.instance.set("getInstanceContexts"); @@ -240,8 +245,8 @@ public class Access extends BaseRest { @GET @Path(AccessPath.QUERY_PATH_PART) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String graphQuery(@QueryParam(AccessPath.QUERY_PARAM) String query, - @QueryParam(AccessPath.RAW_PARAM) @DefaultValue(AccessPath.DEFAULT_RAW_PARAM) Boolean raw) + public String graphQuery(@QueryParam(AccessPath.Q_QUERY_PARAMETER) String query, + @QueryParam(AccessPath.RAW_QUERY_PARAMETER) @DefaultValue(AccessPath.RAW_QUERY_PARAMETER_DEFAULT_VALUE) Boolean raw) throws InvalidQueryException { logger.info("Requested query (Raw {}):\n{}", raw, query); CalledMethodProvider.instance.set("graphQuery"); @@ -334,20 +339,20 @@ public class Access extends BaseRest { */ @SuppressWarnings({"rawtypes"}) @GET - @Path(AccessPath.QUERY_PATH_PART + "/" + "{" + AccessPath.RESOURCE_TYPE_PATH_PART + "}" + "/" + "{" - + AccessPath.RELATION_TYPE_PATH_PART + "}" + "/" + "{" + AccessPath.REFERENCE_TYPE_PATH_PART + "}") + @Path(AccessPath.QUERY_PATH_PART + "/" + "{" + Access.RESOURCE_TYPE_PATH_PARAMETER + "}" + "/" + "{" + + Access.RELATION_TYPE_PATH_PARAMETER + "}" + "/" + "{" + Access.REFERENCE_TYPE_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getAllResourcesHavingFacet(@PathParam(AccessPath.RESOURCE_TYPE_PATH_PART) String resourcetype, - @PathParam(AccessPath.RELATION_TYPE_PATH_PART) String relationType, - @PathParam(AccessPath.REFERENCE_TYPE_PATH_PART) String referenceType, - @QueryParam(AccessPath._REFERENCE_PARAM) String reference, - @QueryParam(AccessPath._POLYMORPHIC_PARAM) @DefaultValue("false") Boolean polymorphic, - @QueryParam(AccessPath._DIRECTION_PARAM) @DefaultValue("out") String direction, + public String getAllResourcesHavingFacet(@PathParam(Access.RESOURCE_TYPE_PATH_PARAMETER) String resourcetype, + @PathParam(Access.RELATION_TYPE_PATH_PARAMETER) String relationType, + @PathParam(Access.REFERENCE_TYPE_PATH_PARAMETER) String referenceType, + @QueryParam(AccessPath._REFERENCE_QUERY_PARAMETER) String reference, + @QueryParam(AccessPath._POLYMORPHIC_QUERY_PARAMETER) @DefaultValue("false") Boolean polymorphic, + @QueryParam(AccessPath._DIRECTION_QUERY_PARAMETER) @DefaultValue("out") String direction, /*@QueryParam(AccessPath._INCLUDE_RELATION_PARAM) @DefaultValue("false") Boolean includeRelation,*/ @Context UriInfo uriInfo) throws ResourceRegistryException { logger.info("Requested {} instances having a(n) {} ({}={}} with {} ({}={}). Request URI is {})", resourcetype, relationType, - AccessPath._DIRECTION_PARAM, direction, referenceType, AccessPath._POLYMORPHIC_PARAM, polymorphic, uriInfo.getRequestUri()); + AccessPath._DIRECTION_QUERY_PARAMETER, direction, referenceType, AccessPath._POLYMORPHIC_QUERY_PARAMETER, polymorphic, uriInfo.getRequestUri()); CalledMethodProvider.instance.set("query"); @@ -365,13 +370,13 @@ public class Access extends BaseRest { MultivaluedMap multivaluedMap = uriInfo.getQueryParameters(); for(String key : multivaluedMap.keySet()) { switch (key) { - case AccessPath._POLYMORPHIC_PARAM: + case AccessPath._POLYMORPHIC_QUERY_PARAMETER: break; - case AccessPath._DIRECTION_PARAM: + case AccessPath._DIRECTION_QUERY_PARAMETER: break; - case AccessPath._REFERENCE_PARAM: + case AccessPath._REFERENCE_QUERY_PARAMETER: break; /* diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/BaseRest.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/BaseRest.java index f63feca..73a90bc 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/BaseRest.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/BaseRest.java @@ -32,7 +32,7 @@ public class BaseRest { protected void checkHierarchicalMode() { try { - List hierarchicalQueryParameterList = uriInfo.getQueryParameters().get(InstancePath.HIERARCHICAL_MODE_PARAM); + List hierarchicalQueryParameterList = uriInfo.getQueryParameters().get(InstancePath.HIERARCHICAL_MODE_QUERY_PARAMETER); if(hierarchicalQueryParameterList!=null && hierarchicalQueryParameterList.size()>0) { String hierarchicalBooleanString = hierarchicalQueryParameterList.get(0); boolean hierarchical = Boolean.valueOf(hierarchicalBooleanString); @@ -54,7 +54,7 @@ public class BaseRest { protected void checkIncludeInstancesContexts() { try { - List includeContextsQueryParameterList = uriInfo.getQueryParameters().get(InstancePath.INCLUDE_CONTEXTS_IN_HEADER_PARAM); + List includeContextsQueryParameterList = uriInfo.getQueryParameters().get(InstancePath.INCLUDE_CONTEXTS_IN_HEADER_QUERY_PARAMETER); if(includeContextsQueryParameterList!=null && includeContextsQueryParameterList.size()>0) { String includeContextsBooleanString = includeContextsQueryParameterList.get(0); boolean includeContexts = Boolean.valueOf(includeContextsBooleanString); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/ContextManager.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/ContextManager.java index 07ca99f..f29a055 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/ContextManager.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/ContextManager.java @@ -18,7 +18,6 @@ import org.gcube.informationsystem.contexts.reference.entities.Context; import org.gcube.informationsystem.resourceregistry.ResourceInitializer; import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; import org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException; -import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; import org.gcube.informationsystem.resourceregistry.api.rest.ContextPath; import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; import org.gcube.informationsystem.resourceregistry.contexts.entities.ContextManagement; @@ -31,6 +30,8 @@ import org.slf4j.LoggerFactory; @Path(ContextPath.CONTEXTS_PATH_PART) public class ContextManager { + public static final String CONTEXT_UUID_PATH_PARAMETER = "CONTEXT_UUID"; + /** * Logger */ @@ -62,12 +63,12 @@ public class ContextManager { * */ @GET - @Path("{" + AccessPath.CONTEXT_UUID_PATH_PARAM + "}") + @Path("{" + ContextManager.CONTEXT_UUID_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String read(@PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String uuid) + public String read(@PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String uuid) throws ContextNotFoundException, ResourceRegistryException { - if(uuid.compareTo(AccessPath.CURRENT_CONTEXT)==0){ + if(uuid.compareTo(ContextPath.CURRENT_CONTEXT_PATH_PART)==0){ uuid = ContextUtility.getCurrentSecurityContext().getUUID().toString(); } logger.info("Requested to read {} with id {} ", Context.NAME, uuid); @@ -86,10 +87,10 @@ public class ContextManager { * */ @PUT - @Path("{" + AccessPath.CONTEXT_UUID_PATH_PARAM + "}") + @Path("{" + ContextManager.CONTEXT_UUID_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String updateCreate(@PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String uuid, String json) + public String updateCreate(@PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String uuid, String json) throws ResourceRegistryException { logger.info("Requested to update/create {} with json {} ", Context.NAME, json); CalledMethodProvider.instance.set("updateContext"); @@ -106,8 +107,8 @@ public class ContextManager { */ @DELETE @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) - @Path("{" + AccessPath.CONTEXT_UUID_PATH_PARAM + "}") - public Response delete(@PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String uuid) + @Path("{" + ContextManager.CONTEXT_UUID_PATH_PARAMETER + "}") + public Response delete(@PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String uuid) throws ContextNotFoundException, ResourceRegistryException { logger.info("Requested to delete {} with id {} ", Context.NAME, uuid); CalledMethodProvider.instance.set("deleteContext"); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/InstancesManager.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/InstancesManager.java index dee3e75..626f49a 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/InstancesManager.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/InstancesManager.java @@ -23,7 +23,6 @@ import org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundExcep import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; import org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException; import org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException; -import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; import org.gcube.informationsystem.resourceregistry.api.rest.InstancePath; import org.gcube.informationsystem.resourceregistry.api.rest.SharingPath; import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagement; @@ -35,6 +34,8 @@ import org.gcube.informationsystem.resourceregistry.instances.base.ElementManage @Path(InstancePath.INSTANCES_PATH_PART) public class InstancesManager extends BaseRest { + public static final String UUID_PATH_PARAMETER = "UUID"; + public InstancesManager() { super(); } @@ -45,13 +46,13 @@ public class InstancesManager extends BaseRest { * */ @GET - @Path("/{" + AccessPath.TYPE_PATH_PARAM + "}") + @Path("/{" + TypeManager.TYPE_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String readAll(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @QueryParam(InstancePath.POLYMORPHIC_PARAM) @DefaultValue("true") Boolean polymorphic) + public String readAll(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @QueryParam(InstancePath.POLYMORPHIC_QUERY_PARAMETER) @DefaultValue("true") Boolean polymorphic) throws NotFoundException, ResourceRegistryException { - logger.info("Requested all {}instances of {}", polymorphic ? InstancePath.POLYMORPHIC_PARAM + " " : "", type); + logger.info("Requested all {}instances of {}", polymorphic ? InstancePath.POLYMORPHIC_QUERY_PARAMETER + " " : "", type); CalledMethodProvider.instance.set("listInstances"); checkHierarchicalMode(); @@ -67,11 +68,11 @@ public class InstancesManager extends BaseRest { * */ @HEAD - @Path("/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path("/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public Response exists(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid) throws NotFoundException, ResourceRegistryException { + public Response exists(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws NotFoundException, ResourceRegistryException { logger.info("Requested to check if {} with id {} exists", type, uuid); CalledMethodProvider.instance.set("existInstance"); @@ -105,11 +106,11 @@ public class InstancesManager extends BaseRest { * */ @GET - @Path("/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path("/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String read(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid) throws NotFoundException, ResourceRegistryException { + public String read(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws NotFoundException, ResourceRegistryException { logger.info("Requested to read {} with id {}", type, uuid); CalledMethodProvider.instance.set("readInstance"); @@ -130,11 +131,11 @@ public class InstancesManager extends BaseRest { * */ @PUT - @Path("/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path("/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String updateOrCreate(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid, String json) throws ResourceRegistryException { + public String updateOrCreate(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid, String json) throws ResourceRegistryException { logger.info("Requested to update/create {} with id {}", type, uuid); logger.trace("Requested to update/create {} with id {} with json {}", type, uuid, json); CalledMethodProvider.instance.set("updateInstance"); @@ -153,9 +154,9 @@ public class InstancesManager extends BaseRest { * */ @DELETE - @Path("/{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") - public Response delete(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String uuid) throws ResourceRegistryException { + @Path("/{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") + public Response delete(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String uuid) throws ResourceRegistryException { logger.info("Requested to delete {} with id {}", type, uuid); CalledMethodProvider.instance.set("deleteInstance"); @@ -176,12 +177,12 @@ public class InstancesManager extends BaseRest { * Return a list of UUID identifying the context the instance belongs to. */ @GET - @Path("{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}/" + @Path("{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}/" + SharingPath.CONTEXTS_PATH_PART) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String getInstanceContexts(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String instanceId, - @PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String contextId) + public String getInstanceContexts(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String instanceId, + @PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String contextId) throws ResourceNotFoundException, ContextNotFoundException, ResourceRegistryException { logger.info("Requested to get contexts of {} with UUID {}", type, instanceId); CalledMethodProvider.instance.set("getInstanceContexts"); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/QueryTemplateManager.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/QueryTemplateManager.java index bf7a05e..9bf9599 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/QueryTemplateManager.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/QueryTemplateManager.java @@ -18,7 +18,6 @@ import org.gcube.informationsystem.resourceregistry.ResourceInitializer; import org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException; import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; import org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException; -import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; import org.gcube.informationsystem.resourceregistry.api.rest.QueryTemplatePath; import org.gcube.informationsystem.resourceregistry.queries.templates.QueryTemplateManagement; import org.slf4j.Logger; @@ -32,6 +31,8 @@ public class QueryTemplateManager { private static Logger logger = LoggerFactory.getLogger(QueryTemplateManager.class); + public static final String QUERY_TEMPLATE_NAME_PATH_PARAMETER = "QUERY_TEMPLATE_NAME"; + /** ** GET /query-templates */ @@ -77,10 +78,10 @@ public class QueryTemplateManager { * */ @PUT - @Path("{" + AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM + "}") + @Path("{" + QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public Response updateCreate(@PathParam(AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM) String queryTemplateName, String json) + public Response updateCreate(@PathParam(QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER) String queryTemplateName, String json) throws InvalidQueryException, ResourceRegistryException { logger.info("Requested {} creation with name {} and content {}", QueryTemplate.NAME, queryTemplateName, json); CalledMethodProvider.instance.set("createQueryTemplate"); @@ -98,9 +99,9 @@ public class QueryTemplateManager { * e.g. GET /query-templates/GetAllEServiceWithState */ @GET - @Path("{" + AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM + "}") + @Path("{" + QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String read(@PathParam(AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM) String queryTemplateName) + public String read(@PathParam(QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER) String queryTemplateName) throws NotFoundException, ResourceRegistryException { logger.info("Requested {} with name", QueryTemplate.NAME, queryTemplateName); CalledMethodProvider.instance.set("readQueryTemplate"); @@ -119,9 +120,9 @@ public class QueryTemplateManager { * */ @POST - @Path("{" + AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM + "}") + @Path("{" + QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String run(@PathParam(AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM) String queryTemplateName, String params) + public String run(@PathParam(QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER) String queryTemplateName, String params) throws NotFoundException, InvalidQueryException, ResourceRegistryException { logger.info("Requested {} with name", QueryTemplate.NAME, queryTemplateName); CalledMethodProvider.instance.set("readQueryTemplate"); @@ -139,8 +140,8 @@ public class QueryTemplateManager { */ @DELETE @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) - @Path("{" + AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM + "}") - public Response delete(@PathParam(AccessPath.QUERY_TEMPLATE_NAME_PATH_PARAM) String queryTemplateName) + @Path("{" + QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER + "}") + public Response delete(@PathParam(QueryTemplateManager.QUERY_TEMPLATE_NAME_PATH_PARAMETER) String queryTemplateName) throws NotFoundException, ResourceRegistryException { logger.info("Requested to delete {} with name {} ", QueryTemplate.NAME, queryTemplateName); CalledMethodProvider.instance.set("deleteQueryTemplate"); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/SharingManager.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/SharingManager.java index 3b5b433..1d3961a 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/SharingManager.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/SharingManager.java @@ -25,7 +25,6 @@ import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegis import org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException; import org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException; import org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationException; -import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; import org.gcube.informationsystem.resourceregistry.api.rest.SharingPath; import org.gcube.informationsystem.resourceregistry.api.rest.SharingPath.SharingOperation; import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; @@ -89,9 +88,9 @@ public class SharingManager { // @POST // @Path("/{" + SharingPath.CONTEXTS_PATH_PART + "/{" + AccessPath.CONTEXT_UUID_PATH_PARAM + "}") public String addRemoveNoPropagationConstraint( - @PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String contextId, + @PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String contextId, @QueryParam(SharingPath.OPERATION_QUERY_PARAMETER) SharingOperation operation, - @QueryParam(SharingPath.DRY_RUN_QUERY_PARAMETER) @DefaultValue("false") Boolean dryRun, + @QueryParam(SharingPath.DRY_RUN_QUERY_QUERY_PARAMETER) @DefaultValue("false") Boolean dryRun, @QueryParam(SharingPath.FORCE_ADD_TO_CONTEXT_QUERY_PARAMETER) @DefaultValue("false") Boolean forceAddToContext, String body) throws SchemaViolationException, ResourceNotFoundException, ContextNotFoundException, ResourceRegistryException { @@ -164,15 +163,15 @@ public class SharingManager { * */ @POST - @Path("/" + SharingPath.CONTEXTS_PATH_PART + "/{" + AccessPath.CONTEXT_UUID_PATH_PARAM + "}/" - + "{" + AccessPath.TYPE_PATH_PARAM + "}" + "/{" + AccessPath.UUID_PATH_PARAM + "}") + @Path("/" + SharingPath.CONTEXTS_PATH_PART + "/{" + ContextManager.CONTEXT_UUID_PATH_PARAMETER + "}/" + + "{" + TypeManager.TYPE_PATH_PARAMETER + "}" + "/{" + InstancesManager.UUID_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) public String addRemove( - @PathParam(AccessPath.CONTEXT_UUID_PATH_PARAM) String contextId, - @PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @PathParam(AccessPath.UUID_PATH_PARAM) String instanceId, + @PathParam(ContextManager.CONTEXT_UUID_PATH_PARAMETER) String contextId, + @PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @PathParam(InstancesManager.UUID_PATH_PARAMETER) String instanceId, @QueryParam(SharingPath.OPERATION_QUERY_PARAMETER) SharingOperation operation, - @QueryParam(SharingPath.DRY_RUN_QUERY_PARAMETER) @DefaultValue("false") Boolean dryRun, + @QueryParam(SharingPath.DRY_RUN_QUERY_QUERY_PARAMETER) @DefaultValue("false") Boolean dryRun, @QueryParam(SharingPath.FORCE_ADD_TO_CONTEXT_QUERY_PARAMETER) @DefaultValue("false") Boolean forceAddToContext) throws SchemaViolationException, ResourceNotFoundException, ContextNotFoundException, ResourceRegistryException { diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/TypeManager.java b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/TypeManager.java index 830613f..cfe8c0f 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/rest/TypeManager.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/rest/TypeManager.java @@ -19,7 +19,6 @@ import org.gcube.informationsystem.resourceregistry.ResourceInitializer; import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; import org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException; import org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaNotFoundException; -import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath; import org.gcube.informationsystem.resourceregistry.api.rest.TypePath; import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; import org.gcube.informationsystem.resourceregistry.types.TypeManagement; @@ -36,6 +35,8 @@ public class TypeManager { private static Logger logger = LoggerFactory.getLogger(TypeManager.class); + public static final String TYPE_PATH_PARAMETER = "TYPE_NAME"; + public TypeManager() { ContextUtility.getHierarchicalMode().set(false); ContextUtility.getIncludeInstanceContexts().set(false); @@ -49,10 +50,10 @@ public class TypeManager { * */ @PUT - @Path("{" + AccessPath.TYPE_PATH_PARAM + "}") + @Path("{" + TypeManager.TYPE_PATH_PARAMETER + "}") @Consumes({MediaType.TEXT_PLAIN, ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8}) @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public Response create(@PathParam(AccessPath.TYPE_PATH_PARAM) String typeName, String json) + public Response create(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String typeName, String json) throws SchemaException, ResourceRegistryException { logger.info("Requested {} creation with schema {}", typeName, json); CalledMethodProvider.instance.set("createType"); @@ -71,10 +72,10 @@ public class TypeManager { * */ @GET - @Path("{" + AccessPath.TYPE_PATH_PARAM + "}") + @Path("{" + TypeManager.TYPE_PATH_PARAMETER + "}") @Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8) - public String read(@PathParam(AccessPath.TYPE_PATH_PARAM) String type, - @QueryParam(TypePath.POLYMORPHIC_PARAM) @DefaultValue("false") Boolean polymorphic) + public String read(@PathParam(TypeManager.TYPE_PATH_PARAMETER) String type, + @QueryParam(TypePath.POLYMORPHIC_QUERY_PARAMETER) @DefaultValue("false") Boolean polymorphic) throws SchemaNotFoundException, ResourceRegistryException { logger.info("Requested Schema for type {}", type); CalledMethodProvider.instance.set("readType");