Refactor the project as a Maven multiple module project. This will separate the webapp (the only module now in the project) with common parts reusable by the clients.

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/resource-management/resource-manager@155185 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Manuele Simi 2017-10-13 03:28:11 +00:00
parent 9b6fa80091
commit 0b9b9dc976
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package org.gcube.resourcemanagement.manager.webapp;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.MediaType;
import org.gcube.resourcemanagement.manager.webapp.rest.Access;
import org.glassfish.jersey.server.ResourceConfig;
/**
* @author Manuele Simi (ISTI - CNR)
*/
@ApplicationPath("/")
public class ResourceInitializer extends ResourceConfig {
public static final String APPLICATION_JSON_CHARSET_UTF_8 = MediaType.APPLICATION_JSON + ";charset=UTF-8";
public ResourceInitializer(){
//where jersey will find the operation's handler
packages(Access.class.getPackage().toString());
}
}

View File

@ -0,0 +1,41 @@
package org.gcube.resourcemanagement.manager.webapp.rest;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath;
import org.gcube.resourcemanagement.manager.webapp.ResourceInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author Manuele Simi (ISTI-CNR)
*
*/
@Path(AccessPath.ACCESS_PATH_PART)
public class Access {
private static Logger logger = LoggerFactory.getLogger(Access.class);
public static final String ID_PATH_PARAM = "id";
public static final String TYPE_PATH_PARAM = "type";
/*
* e.g. GET /resource-registry/access/schema/ContactFacet?polymorphic=true
*/
@GET
@Path(AccessPath.SCHEMA_PATH_PART + "/{" + TYPE_PATH_PARAM + "}")
@Produces(ResourceInitializer.APPLICATION_JSON_CHARSET_UTF_8)
public String voidMethod(@PathParam(TYPE_PATH_PARAM) String type,
@QueryParam(AccessPath.POLYMORPHIC_PARAM) @DefaultValue("false") Boolean polymorphic)
{
logger.info("Requested Schema for type {}", type);
return "";
}
}