commit fd585dfedd15bc4a6f59987e2810b40a7d1792ce Author: Lucio Date: Mon Jan 16 17:41:27 2023 +0100 first commit diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..a87991a --- /dev/null +++ b/.classpath @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..c1eb261 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + uri-manager + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e8c450c --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..6e9efed --- /dev/null +++ b/pom.xml @@ -0,0 +1,48 @@ + + 4.0.0 + + + maven-parent + org.gcube.tools + 1.1.0 + + + + + + jakarta.ws.rs + jakarta.ws.rs-api + 2.1.2 + + + jakarta.ws.rs + jakarta.ws.rs-api + 3.1.0 + + + org.glassfish.jersey.containers + jersey-container-servlet + 3.1.0 + + + org.glassfish.jersey.test-framework.providers + jersey-test-framework-provider-jetty + 3.1.0 + test + + + org.glassfish.jersey.inject + jersey-hk2 + 3.1.0 + test + + + + org.gcube.data.access + uri-manager + 1.0.0-SNAPSHOT + war + Uri Manager + \ No newline at end of file diff --git a/src/main/java/org/gcube/data/access/urimanager/MyApplication.java b/src/main/java/org/gcube/data/access/urimanager/MyApplication.java new file mode 100644 index 0000000..cc3b697 --- /dev/null +++ b/src/main/java/org/gcube/data/access/urimanager/MyApplication.java @@ -0,0 +1,15 @@ +package org.gcube.data.access.urimanager; + +import org.glassfish.jersey.server.ResourceConfig; + +import jakarta.ws.rs.ApplicationPath; + +@ApplicationPath("uri-manager") +public class MyApplication extends ResourceConfig{ + + + public MyApplication() { + // Resources. + packages(UriManager.class.getPackage().getName()); + } +} diff --git a/src/main/java/org/gcube/data/access/urimanager/UriManager.java b/src/main/java/org/gcube/data/access/urimanager/UriManager.java new file mode 100644 index 0000000..11d0748 --- /dev/null +++ b/src/main/java/org/gcube/data/access/urimanager/UriManager.java @@ -0,0 +1,41 @@ +package org.gcube.data.access.urimanager; + +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Application; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; + +@Path("/") +public class UriManager extends Application { + + @PathParam("plugin") String pluginName; + @PathParam("version") String pluginVersion; + @PathParam("resource") String resourceId; + @QueryParam("authorized-access") boolean authorizedAccess = false; + + + @POST + @Path("/{name}/{resource}/{version}") + @Produces(MediaType.TEXT_PLAIN) + public Response createUriWithVersion() { + return null; + } + + @POST + @Path("/{name}/{resource}") + @Produces(MediaType.TEXT_PLAIN) + public Response createUri() { + return Response.ok("Hello " +pluginName).build(); + } + + + private String getUri(){ + + return null; + } + +} diff --git a/src/test/java/org/gcube/data/access/urimanager/GreetingTest.java b/src/test/java/org/gcube/data/access/urimanager/GreetingTest.java new file mode 100644 index 0000000..841d964 --- /dev/null +++ b/src/test/java/org/gcube/data/access/urimanager/GreetingTest.java @@ -0,0 +1,29 @@ +package org.gcube.data.access.urimanager; + +import static org.junit.Assert.assertEquals; + +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; +import org.junit.Test; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Application; + + + +public class GreetingTest extends JerseyTest{ + + + @Override + protected Application configure() { + return new ResourceConfig(UriManager.class); + } + + @Test + public void test() { + final String hello = target("hello").request().get(String.class); + assertEquals("Hello World!", hello); + } + +} diff --git a/target/classes/org/gcube/data/access/urimanager/MyApplication.class b/target/classes/org/gcube/data/access/urimanager/MyApplication.class new file mode 100644 index 0000000..d0ee65d Binary files /dev/null and b/target/classes/org/gcube/data/access/urimanager/MyApplication.class differ diff --git a/target/classes/org/gcube/data/access/urimanager/UriManager.class b/target/classes/org/gcube/data/access/urimanager/UriManager.class new file mode 100644 index 0000000..b1673c5 Binary files /dev/null and b/target/classes/org/gcube/data/access/urimanager/UriManager.class differ diff --git a/target/test-classes/org/gcube/data/access/urimanager/GreetingTest.class b/target/test-classes/org/gcube/data/access/urimanager/GreetingTest.class new file mode 100644 index 0000000..2691c49 Binary files /dev/null and b/target/test-classes/org/gcube/data/access/urimanager/GreetingTest.class differ