From c008ca42da686c3b65f0397f9aafd2e1ba57dfa1 Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Tue, 24 Nov 2020 12:40:22 +0100 Subject: [PATCH] Read Concessioni --- .../client/legacy/ConcessioniManager.java | 79 ++++++++++++++++--- .../client/legacy/DefaultConcessioni.java | 23 ++++-- .../common/model/ConcessioniTests.java | 28 ++++++- 3 files changed, 109 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/gcube/application/geoportal/client/legacy/ConcessioniManager.java b/src/main/java/org/gcube/application/geoportal/client/legacy/ConcessioniManager.java index a63b37e..3a4943e 100644 --- a/src/main/java/org/gcube/application/geoportal/client/legacy/ConcessioniManager.java +++ b/src/main/java/org/gcube/application/geoportal/client/legacy/ConcessioniManager.java @@ -2,21 +2,22 @@ package org.gcube.application.geoportal.client.legacy; import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.concessioni; -import java.io.ByteArrayInputStream; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; -import javax.json.Json; -import javax.json.JsonArray; - import org.gcube.application.geoportal.common.model.legacy.Concessione; +import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor; +import org.gcube.application.geoportal.common.model.legacy.LayerConcessione; +import org.gcube.application.geoportal.common.model.legacy.RelazioneScavo; +import org.gcube.application.geoportal.common.model.legacy.UploadedImage; +import org.gcube.application.geoportal.common.model.legacy.report.PublicationReport; import org.gcube.application.geoportal.common.rest.ConcessioniI; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MappingIterator; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectReader; import com.fasterxml.jackson.databind.SerializationFeature; @@ -29,8 +30,8 @@ public class ConcessioniManager { private static ObjectMapper mapper = new ObjectMapper(); - private static ObjectReader concessioniReader=mapper.readerFor(Concessione.class); - private static ObjectReader collectionReader=mapper.readerFor(Collection.class); + private static ObjectReader concessioniReader=null; + private static ObjectReader collectionReader=null; static { mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); @@ -39,6 +40,10 @@ public class ConcessioniManager { // mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); mapper.registerModule(new JavaTimeModule()); mapper.configure(SerializationFeature.INDENT_OUTPUT, true); + + + concessioniReader=mapper.readerFor(Concessione.class); + collectionReader=mapper.readerFor(Collection.class); } private ConcessioniI service; @@ -72,10 +77,24 @@ public class ConcessioniManager { try { String result=service.getAll(); log.debug("Reading json object : "+result); - JsonArray array=Json.createReader(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8))).readArray(); + + + Collection coll=collectionReader.readValue(result); +// JsonArray array=Json.createReader(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8))).readArray(); ArrayList toReturn=new ArrayList(); - for(int i=0;i it=concessioniReader.readValues(result); +// while(it.hasNext()) +// toReturn.add(it.next()); + + for(String s: coll) { + toReturn.add(concessioniReader.readValue(s)); + } + + +// for(int i=0;i call= new Call(){ +// @Override +// public String call(WebTarget endpoint) throws Exception { +// return endpoint.path(id).request(MediaType.APPLICATION_JSON).put(Entity.entity(updated, MediaType.APPLICATION_JSON)).readEntity(String.class); +// } +// }; +// return delegate.make(call); +// } + + @Override - public String update(final String id, final String updated) throws Exception { - Call call= new Call(){ - @Override - public String call(WebTarget endpoint) throws Exception { - return endpoint.path(id).request(MediaType.APPLICATION_JSON).put(Entity.entity(updated, MediaType.APPLICATION_JSON)).readEntity(String.class); - } - }; - return delegate.make(call); + public String addSection(String arg0, String arg1) throws Exception { + // TODO Auto-generated method stub + return null; } } diff --git a/src/test/java/org/gcube/application/geoportal/common/model/ConcessioniTests.java b/src/test/java/org/gcube/application/geoportal/common/model/ConcessioniTests.java index 51bd224..34c0f9e 100644 --- a/src/test/java/org/gcube/application/geoportal/common/model/ConcessioniTests.java +++ b/src/test/java/org/gcube/application/geoportal/common/model/ConcessioniTests.java @@ -1,22 +1,46 @@ package org.gcube.application.geoportal.common.model; import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicLong; import org.gcube.application.geoportal.client.legacy.ConcessioniManager; import org.gcube.application.geoportal.common.model.legacy.Concessione; +import org.gcube.application.geoportal.common.model.legacy.report.ValidationReport.ValidationStatus; import org.junit.Before; import org.junit.Test; public class ConcessioniTests { + static boolean STOP_ON_FAIL=true; + @Before public void setScope(){ - TokenSetter.set("/gcube/devNext/NextNext"); +// TokenSetter.set("/gcube/devNext/NextNext"); + TokenSetter.set("/gcube/devsec/devVRE"); } @Test public void readAll() throws Exception { - ConcessioniManager manager=new ConcessioniManager(); + ConcessioniManager manager=new ConcessioniManager(); ArrayList found=manager.getList(); + System.out.println("Found "+found.size()+" elements."); + final AtomicLong byId=new AtomicLong(0); + final AtomicLong valid=new AtomicLong(0); + final AtomicLong error=new AtomicLong(0); + found.forEach((Concessione c )->{ + try { + manager.getById(c.getId()+""); + byId.incrementAndGet(); + if(c.validate().getStatus().equals(ValidationStatus.PASSED)) + valid.incrementAndGet(); + + }catch(Throwable t) { + error.incrementAndGet(); + if(STOP_ON_FAIL) { + throw new RuntimeException(t); + }else t.printStackTrace(System.err); + } + }); + System.out.println("Valid count "+valid.get()+"Load BY ID : "+byId.get()+" Error : "+error.get()+" OUT OF "+found.size()); } }