diff --git a/pom.xml b/pom.xml index b02d68b..e42d1fc 100644 --- a/pom.xml +++ b/pom.xml @@ -99,30 +99,30 @@ - + - + - + @@ -130,7 +130,7 @@ - + - + - + @@ -199,12 +199,12 @@ - + junit junit @@ -225,13 +225,22 @@ test - + - + + + GeoSolutions + https://nexus.d4science.org/nexus/content/repositories/geo-solutions-snapshots/ + + + GeoToolkit + https://nexus.d4science.org/nexus/content/repositories/geotoolkit/ + + \ No newline at end of file diff --git a/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java b/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java index 7327bcf..6f33ec8 100644 --- a/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java +++ b/src/main/java/org/gcube/application/geoportal/service/rest/Concessioni.java @@ -15,6 +15,10 @@ import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.managers.ConcessioneManager; import org.gcube.application.geoportal.managers.ManagerFactory; import org.gcube.application.geoportal.model.concessioni.Concessione; +import org.gcube.application.geoportal.model.report.PublicationReport; +import org.gcube.application.geoportal.utils.Serialization; +import org.json.JSONArray; +import org.json.JSONObject; import lombok.extern.slf4j.Slf4j; @@ -25,10 +29,12 @@ public class Concessioni { @GET @Produces(MediaType.APPLICATION_JSON) @Path("{"+InterfaceConstants.Parameters.PROJECT_ID+"}") - public Concessione getById(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { + public String getById(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { try { log.info("Loading Concessione by id {} ",id); - return (Concessione) ManagerFactory.getByRecordID(Long.parseLong(id)).getRecord(); + Concessione toReturn=(Concessione) ManagerFactory.getByRecordID(Long.parseLong(id)).getRecord(); + log.debug("Loaded object {} ",toReturn); + return toReturn.asJson(); }catch(WebApplicationException e){ log.warn("Unable to serve request",e); throw e; @@ -41,12 +47,12 @@ public class Concessioni { @PUT @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) - public Concessione registerNew(Concessione toRegister) { + public String registerNew(Concessione toRegister) { try { log.info("Registering new Concessione "+toRegister); ConcessioneManager manager=ManagerFactory.registerNew(toRegister); - manager.commitSafely(false); - return manager.getRecord(); + PublicationReport report=manager.commitSafely(false); + return report.prettyPrint(); }catch(WebApplicationException e){ log.warn("Unable to serve request",e); throw e; @@ -57,7 +63,7 @@ public class Concessioni { } - public Concessione addSection() { + public String addSection() { try { log.info("Loading all projects.."); throw new RuntimeException("Feature not yet available"); @@ -72,9 +78,15 @@ public class Concessioni { @GET @Produces(MediaType.APPLICATION_JSON) - public Collection getList(){ + public String getList(){ try { - return ManagerFactory.getList(Concessione.class); + Collection toReturn=ManagerFactory.getList(Concessione.class); + log.debug("Found "+toReturn.size()+" elements.."); + JSONArray array=new JSONArray(); + for(Concessione found:toReturn) { + array.put(found.asJson()); + } + return array.toString(); }catch(WebApplicationException e){ log.warn("Unable to serve request",e); throw e; diff --git a/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java b/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java index fa33bb4..e88ad73 100644 --- a/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java +++ b/src/test/java/org/gcube/application/geoportal/service/legacy/Concessioni.java @@ -23,8 +23,10 @@ import javax.ws.rs.core.MediaType; import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.managers.AbstractRecordManager; import org.gcube.application.geoportal.managers.DefatulEMFProvider; +import org.gcube.application.geoportal.model.concessioni.Concessione; import org.gcube.application.geoportal.service.GeoportalService; -import org.geotoolkit.style.DefaultExternalMark; +import org.gcube.application.geoportal.utils.Serialization; +import org.gcube.com.fasterxml.jackson.core.JsonProcessingException; import org.glassfish.jersey.test.JerseyTest; import org.junit.BeforeClass; import org.junit.Test; @@ -56,10 +58,18 @@ public class Concessioni extends JerseyTest { @Test - public void list(){ + public void list() throws JsonProcessingException, IOException{ WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI); - System.err.println(target.getUri()); - System.out.println(target.request(MediaType.APPLICATION_JSON).get(Collection.class)); + System.err.println(target.getUri()); + + Collection coll=target.request(MediaType.APPLICATION_JSON).get(Collection.class); + System.out.println("Size of collection is "+coll.size()); + System.out.println("Iterating through objects.. "); + for(Object o:coll) { + System.out.println("Object class is "+o.getClass()); + System.out.println("Concessione is : "+Serialization.readObject(o.toString(), Concessione.class)); + } + }