diff --git a/CHANGELOG.md b/CHANGELOG.md index e67f6bb..16cf4a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm # Changelog for org.gcube.application.geoportal-service +## [v1.0.4-SNAPSHOT] 2020-11-11 +Mongo integration with Concessione +Project interface + ## [v1.0.3] 2020-11-11 Fixed HTTP method diff --git a/pom.xml b/pom.xml index 619ed18..f18bc81 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.gcube.application geoportal-service - 1.0.3 + 1.0.4-SNAPSHOT Geoportal Service war diff --git a/src/main/java/org/gcube/application/geoportal/service/GeoPortalService.java b/src/main/java/org/gcube/application/geoportal/service/GeoPortalService.java index 471012b..5d89e34 100644 --- a/src/main/java/org/gcube/application/geoportal/service/GeoPortalService.java +++ b/src/main/java/org/gcube/application/geoportal/service/GeoPortalService.java @@ -4,6 +4,7 @@ import javax.ws.rs.ApplicationPath; import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.service.rest.Concessioni; +import org.gcube.application.geoportal.service.rest.ConcessioniOverMongo; import org.gcube.application.geoportal.service.rest.Profiles; import org.gcube.application.geoportal.service.rest.Projects; import org.gcube.application.geoportal.service.rest.Sections; @@ -18,6 +19,7 @@ public class GeoPortalService extends ResourceConfig{ super(); //Register interrfaces registerClasses(Concessioni.class); + registerClasses(ConcessioniOverMongo.class); registerClasses(Projects.class); registerClasses(Sections.class); registerClasses(Profiles.class); diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java index 9cb751a..ae30f18 100644 --- a/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java +++ b/src/main/java/org/gcube/application/geoportal/service/engine/cache/MongoClientProvider.java @@ -10,6 +10,8 @@ import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class MongoClientProvider extends AbstractScopedMap{ public MongoClientProvider() { @@ -21,9 +23,13 @@ public class MongoClientProvider extends AbstractScopedMap{ @Override protected MongoClient retrieveObject() throws ConfigurationException { MongoConnection conn=ImplementationProvider.get().getMongoConnectionProvider().getObject(); + log.debug("Connecting to "+conn); + MongoCredential credential = MongoCredential.createCredential(conn.getUser(), conn.getDatabase(), conn.getPassword().toCharArray()); + + MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build(); return new MongoClient(new ServerAddress(conn.getHosts().get(0),conn.getPort()), diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java new file mode 100644 index 0000000..6b38c5f --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ConcessioniMongoManager.java @@ -0,0 +1,98 @@ +package org.gcube.application.geoportal.service.engine.mongo; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.bson.Document; +import org.bson.types.ObjectId; +import org.gcube.application.geoportal.common.model.legacy.Concessione; +import org.gcube.application.geoportal.common.model.legacy.report.PublicationReport; +import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.utils.Serialization; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.mongodb.client.MongoDatabase; + +import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class ConcessioniMongoManager extends MongoManager{ + + + + public ConcessioniMongoManager() throws ConfigurationException { + super(); + // TODO Auto-generated constructor stub + } + private static final String collectionName="legacy-concessioni"; + private static final String DB_NAME="gna_dev"; + + + private MongoDatabase db=null; + + @Override + @Synchronized + protected MongoDatabase getDatabase() { + if(db==null) { + db=client.getDatabase(DB_NAME); + } + return db; + } + + protected static Document asDocument (Concessione c) throws JsonProcessingException { + return Document.parse(Serialization.write(c)); + + } + + protected static Concessione asConcessione (Document d) throws JsonProcessingException, IOException { + return Serialization.read(d.toJson(), Concessione.class); + } + + public Concessione registerNew(Concessione toRegister) throws IOException { + ObjectId id=insert(asDocument(toRegister), collectionName); + Concessione toReturn=asConcessione(getById(id,collectionName)); + toReturn.setMongo_id(id.toHexString()); + update(asDocument(toRegister),collectionName); + return toReturn; + } + + public void update(Concessione toRegister) throws JsonProcessingException { + update(asDocument(toRegister),collectionName); + } + + public List list(){ + ArrayList toReturn=new ArrayList<>(); + iterate(null, collectionName).forEach((Document d)->{ + try { + toReturn.add(asConcessione(d)); + }catch(Throwable t) { + log.error("Unable to read Document as concessione ",t); + log.debug("Document was "+d.toJson()); + } + }); + return toReturn; + } + + public Concessione getById(String id) throws JsonProcessingException, IOException { + return asConcessione(getById(new ObjectId(id),collectionName)); + } + public void deleteById(String id) { + delete(new ObjectId(id), collectionName); + } + + public Concessione publish(String id) throws JsonProcessingException, IOException{ + Concessione toReturn=asConcessione(getById(new ObjectId(id),collectionName)); + toReturn.setDefaults(); + toReturn.validate(); + publish(toReturn); + update(asDocument(toReturn),collectionName); + return toReturn; + } + + private static PublicationReport publish(Concessione c) { + //TODO implement + return null; + } +} diff --git a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java index 68e7968..d217299 100644 --- a/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java +++ b/src/main/java/org/gcube/application/geoportal/service/engine/mongo/MongoManager.java @@ -1,72 +1,95 @@ package org.gcube.application.geoportal.service.engine.mongo; +import static com.mongodb.client.model.Filters.eq; + import org.bson.Document; -import org.gcube.application.geoportal.common.model.profile.Profile; -import org.gcube.application.geoportal.common.model.project.Project; +import org.bson.types.ObjectId; import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.service.engine.ImplementationProvider; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public abstract class MongoManager { - private MongoClient client=null; + protected MongoClient client=null; public MongoManager() throws ConfigurationException { -// client=ImplementationProvider.get().getMongoClientProvider().getObject(); + client=ImplementationProvider.get().getMongoClientProvider().getObject(); - // init profile + log.info("Got Mongo Client at "+client.getConnectPoint()); + // NOT AUTHORIZED +// log.debug("Existing databases "+client.getDatabaseNames()); } // private abstract MongoDatabase getDatabase() { // return client.getDatabase("gna-db"); // } + // TODO check if existing DB protected abstract MongoDatabase getDatabase(); //*********** PROJECTS - public void insert(Project proj, Profile profile) { - MongoDatabase database=getDatabase(); - // TODO check if existing DB + // NB BsonId + protected ObjectId insert(Document proj, String collectionName) { + MongoDatabase database=getDatabase(); + MongoCollection collection = database.getCollection(collectionName); + collection.insertOne(Document.parse(proj.toJson())); + return proj.getObjectId("_id"); - String collectionName=profile.getName(); - - MongoCollection collection = database.getCollection(collectionName); - // TODO check if existing collection - - - collection.insertOne(Document.parse(proj.toString())); - - - } -// public Project update(Project proj) { -// -// } - - public void delete(String id) { - - } - public Document getById(String id,Profile p) { - MongoDatabase database=getDatabase(); - MongoCollection coll=database.getCollection(p.getName()); - - return coll.find(new Document("id",id)).first(); } - public FindIterable iterate(Document filter,Profile p) { - MongoDatabase database=getDatabase(); - MongoCollection coll=database.getCollection(p.getName()); - - return coll.find(filter); + public void delete(ObjectId id, String collectionName) { + MongoDatabase database=getDatabase(); + MongoCollection collection = database.getCollection(collectionName); + collection.deleteOne(eq("_id",id)); } + + public Document getById(ObjectId id,String collectionName) { + MongoDatabase database=getDatabase(); + MongoCollection coll=database.getCollection(collectionName); + return coll.find(new Document("_id",id)).first(); + } + + + public FindIterable iterate(Document filter,String collectionName) { + MongoDatabase database=getDatabase(); + MongoCollection coll=database.getCollection(collectionName); + if(filter==null) + return coll.find(); + else + return coll.find(filter); + } + + + public FindIterable iterateForClass(Document filter,String collectionName,Class clazz) { + MongoDatabase database=getDatabase(); + MongoCollection coll=database.getCollection(collectionName); + if(filter==null) + return coll.find(clazz); + else + return coll.find(filter,clazz); + } + + public void update(Document toUpdate,String collectionName) { + MongoDatabase database=getDatabase(); + MongoCollection coll=database.getCollection(collectionName); + coll.findOneAndReplace(eq("_id",toUpdate.getObjectId("_id")), toUpdate); + } + + + //********** PROFILES diff --git a/src/main/java/org/gcube/application/geoportal/service/rest/ConcessioniOverMongo.java b/src/main/java/org/gcube/application/geoportal/service/rest/ConcessioniOverMongo.java new file mode 100644 index 0000000..f021867 --- /dev/null +++ b/src/main/java/org/gcube/application/geoportal/service/rest/ConcessioniOverMongo.java @@ -0,0 +1,127 @@ +package org.gcube.application.geoportal.service.rest; + +import java.util.ArrayList; +import java.util.List; + +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; + +import org.gcube.application.geoportal.common.model.legacy.Concessione; +import org.gcube.application.geoportal.common.rest.InterfaceConstants; +import org.gcube.application.geoportal.service.engine.mongo.ConcessioniMongoManager; +import org.gcube.application.geoportal.service.utils.Serialization; +import org.json.JSONArray; +import org.json.JSONObject; + +import lombok.extern.slf4j.Slf4j; + +@Path("mongo-concessioni") +@Slf4j +public class ConcessioniOverMongo { + + + @PUT + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public String update(String jsonString) { + return new GuardedMethod () { + @Override + protected String run() throws Exception, WebApplicationException { + Concessione c=Serialization.read(jsonString, Concessione.class); + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + manager.update(c); + + return Serialization.write(manager.getById(c.getMongo_id())); + } + }.execute().getResult(); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public String createNew(String jsonString) { + return new GuardedMethod () { + @Override + protected String run() throws Exception, WebApplicationException { + Concessione c=Serialization.read(jsonString, Concessione.class); + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + return Serialization.write(manager.registerNew(c)); + } + }.execute().getResult(); + } + + + + @GET + @Produces(MediaType.APPLICATION_JSON) + public String list() { + return new GuardedMethod () { + protected String run() throws Exception ,WebApplicationException { + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + JSONArray toReturn=new JSONArray(); + manager.list().forEach((Concessione c) -> { + try{ + toReturn.put(new JSONObject(Serialization.write(c))); + }catch(Throwable t) { + log.error("Unable to serialize "+c); + } + }); + return toReturn.toString(); + + }; + }.execute().getResult(); + + + } + + + // BY ID + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("{"+InterfaceConstants.Parameters.PROJECT_ID+"}") + public String getById(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { + return new GuardedMethod () { + @Override + protected String run() throws Exception, WebApplicationException { + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + return Serialization.write(manager.getById(id)); + } + }.execute().getResult(); + } + + @DELETE + @Produces(MediaType.APPLICATION_JSON) + @Path("{"+InterfaceConstants.Parameters.PROJECT_ID+"}") + public void deleteById(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { + new GuardedMethod () { + @Override + protected Concessione run() throws Exception, WebApplicationException { + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + manager.deleteById(id); + return null; + } + }.execute(); + } + + @PUT + @Produces(MediaType.APPLICATION_JSON) + @Path("/publish/{"+InterfaceConstants.Parameters.PROJECT_ID+"}") + public String publish(@PathParam(InterfaceConstants.Parameters.PROJECT_ID) String id) { + return new GuardedMethod () { + @Override + protected String run() throws Exception, WebApplicationException { + ConcessioniMongoManager manager=new ConcessioniMongoManager(); + return Serialization.write(manager.publish(id)); + } + }.execute().getResult(); + } + +} diff --git a/src/test/java/org/gcube/application/geoportal/service/BasicServiceTestUnit.java b/src/test/java/org/gcube/application/geoportal/service/BasicServiceTestUnit.java index 61c9866..77fb6f5 100644 --- a/src/test/java/org/gcube/application/geoportal/service/BasicServiceTestUnit.java +++ b/src/test/java/org/gcube/application/geoportal/service/BasicServiceTestUnit.java @@ -2,17 +2,24 @@ package org.gcube.application.geoportal.service; import javax.persistence.EntityManagerFactory; import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; import org.gcube.application.geoportal.managers.AbstractRecordManager; import org.gcube.application.geoportal.model.fault.ConfigurationException; +import org.gcube.application.geoportal.model.report.PublicationReport; import org.gcube.application.geoportal.service.engine.ImplementationProvider; import org.gcube.application.geoportal.service.engine.ScopedEMFProvider; import org.gcube.application.geoportal.service.engine.StorageClientProvider; +import org.gcube.application.geoportal.service.engine.cache.MongoClientProvider; +import org.gcube.application.geoportal.service.engine.cache.MongoConnectionProvider; import org.gcube.application.geoportal.service.legacy.TokenSetter; +import org.gcube.application.geoportal.service.utils.Serialization; import org.gcube.contentmanagement.blobstorage.service.IClient; import org.glassfish.jersey.test.JerseyTest; import org.junit.BeforeClass; +import com.mongodb.MongoClient; + public class BasicServiceTestUnit extends JerseyTest { @@ -33,7 +40,6 @@ public class BasicServiceTestUnit extends JerseyTest { @Override public EntityManagerFactory getFactory() { -// System.err.println("***********************SETTING DEBUG CONTEXT******************"); TokenSetter.set(scope); return super.getFactory(); } @@ -47,5 +53,31 @@ public class BasicServiceTestUnit extends JerseyTest { } }); + + ImplementationProvider.get().setMongoConnectionProvider(new MongoConnectionProvider() { + @Override + public org.gcube.application.geoportal.service.model.internal.db.MongoConnection getObject() throws ConfigurationException { + TokenSetter.set(scope); + return super.getObject(); + } + }); + + ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() { + @Override + public MongoClient getObject() throws ConfigurationException { + TokenSetter.set(scope); + return super.getObject(); + } + }); + + } + + + protected static T check(Response resp, Class clazz) throws Exception { + String resString=resp.readEntity(String.class); + if(resp.getStatus()<200||resp.getStatus()>=300) + throw new Exception("RESP STATUS IS "+resp.getStatus()+". Message : "+resString); + System.out.println("Resp String is "+resString); + return Serialization.read(resString, clazz); } } diff --git a/src/test/java/org/gcube/application/geoportal/service/ConcessioniOverMongoTest.java b/src/test/java/org/gcube/application/geoportal/service/ConcessioniOverMongoTest.java new file mode 100644 index 0000000..8642243 --- /dev/null +++ b/src/test/java/org/gcube/application/geoportal/service/ConcessioniOverMongoTest.java @@ -0,0 +1,36 @@ +package org.gcube.application.geoportal.service; + +import java.io.IOException; +import java.util.List; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.gcube.application.geoportal.common.model.legacy.Concessione; +import org.gcube.application.geoportal.service.utils.Serialization; +import org.junit.Test; + +public class ConcessioniOverMongoTest extends BasicServiceTestUnit{ + + + private static final String PATH="mongo-concessioni"; + + + @Test + public void list() { + WebTarget target=target(PATH); + System.out.println(target.request(MediaType.APPLICATION_JSON).get(List.class)); + } + + @Test + public void createNew() throws Exception { + WebTarget target=target(PATH); + Concessione conc=TestModel.prepareConcessione(); + Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON)); + Concessione c=check(resp,Concessione.class); + System.out.println("ID IS "+c.getMongo_id()); + } + +} diff --git a/src/test/java/org/gcube/application/geoportal/service/TestModel.java b/src/test/java/org/gcube/application/geoportal/service/TestModel.java new file mode 100644 index 0000000..2f478b8 --- /dev/null +++ b/src/test/java/org/gcube/application/geoportal/service/TestModel.java @@ -0,0 +1,111 @@ +package org.gcube.application.geoportal.service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; + +import org.gcube.application.geoportal.common.model.legacy.AccessPolicy; +import org.gcube.application.geoportal.common.model.legacy.Concessione; +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; + + + +public class TestModel { + + + public static Concessione prepareEmptyConcessione() { + Concessione concessione=new Concessione(); + + // Generic fields + + // Concessione fields + + concessione.setNome("MONGO Italia, forse, ma su "); + concessione.setIntroduzione("This is my MONGO project"); + concessione.setDescrizioneContenuto("It contains this and that"); + + concessione.setAuthors(Arrays.asList(new String[] {"Some one","Some, oneelse"})); + + concessione.setContributore("Contrib 1"); + concessione.setTitolari(Arrays.asList(new String[] {"Some one","Some, oneelse"})); + concessione.setResponsabile("Someone"); + concessione.setEditore("Editore"); + + concessione.setFontiFinanziamento(Arrays.asList(new String[] {"Big pharma","Pentagon"})); + + + concessione.setSoggetto(Arrays.asList(new String[] {"Research Excavation","Archeology"})); + + + concessione.setDataInizioProgetto(LocalDateTime.now()); + concessione.setDataFineProgetto(LocalDateTime.now()); + + concessione.setLicenzaID("CC-BY"); + + concessione.setTitolareLicenza(Arrays.asList(new String[] {"Qualcun altro"})); + concessione.setTitolareCopyright(Arrays.asList(new String[] {"Chiedilo in giro"})); + + concessione.setParoleChiaveLibere(Arrays.asList(new String[] {"Robba","Stuff"})); + concessione.setParoleChiaveICCD(Arrays.asList(new String[] {"vattelapesca","somthing something"})); + + + concessione.setCentroidLat(43.0); //N-S + concessione.setCentroidLong(9.0); //E-W + + return concessione; + } + + public static Concessione prepareConcessione() { + + Concessione concessione=prepareEmptyConcessione(); + + + + // Attachments + + // Relazione scavo + RelazioneScavo relScavo=new RelazioneScavo(); + + relScavo.setAbstractSection("simple abstract section"); + relScavo.setResponsabili(concessione.getAuthors()); + + concessione.setRelazioneScavo(relScavo); + //Immagini rappresentative + ArrayList imgs=new ArrayList<>(); + for(int i=0;i<5;i++) { + UploadedImage img=new UploadedImage(); + img.setTitolo("My image number "+i); + img.setDidascalia("You can see my image number "+i); + img.setFormat("TIFF"); + img.setCreationTime(LocalDateTime.now()); + img.setResponsabili(concessione.getAuthors()); + imgs.add(img); + } + concessione.setImmaginiRappresentative(imgs); + //Posizionamento + LayerConcessione posizionamento=new LayerConcessione(); + posizionamento.setValutazioneQualita("Secondo me si"); + posizionamento.setMetodoRaccoltaDati("Fattobbene"); + posizionamento.setScalaAcquisizione("1:10000"); + posizionamento.setAuthors(concessione.getAuthors()); + concessione.setPosizionamentoScavo(posizionamento); + + // Piante fine scavo + ArrayList piante=new ArrayList(); + for(int i=0;i<4;i++) { + LayerConcessione pianta=new LayerConcessione(); + pianta.setValutazioneQualita("Secondo me si"); + pianta.setMetodoRaccoltaDati("Fattobbene"); + pianta.setScalaAcquisizione("1:10000"); + pianta.setAuthors(concessione.getAuthors()); + pianta.setPolicy(AccessPolicy.RESTRICTED); + piante.add(pianta); + } + concessione.setPianteFineScavo(piante); + + return concessione; + } + +} diff --git a/src/test/java/org/gcube/application/geoportal/service/legacy/ConcessioniTest.java b/src/test/java/org/gcube/application/geoportal/service/legacy/ConcessioniTest.java index 1478edc..6b709c0 100644 --- a/src/test/java/org/gcube/application/geoportal/service/legacy/ConcessioniTest.java +++ b/src/test/java/org/gcube/application/geoportal/service/legacy/ConcessioniTest.java @@ -71,7 +71,7 @@ public class ConcessioniTest extends BasicServiceTestUnit { @Test public void failPublish() throws com.fasterxml.jackson.core.JsonProcessingException, IOException { - Concessione toCreate=TestModel.prepareEmptyConcessione(); + Concessione toCreate=OLDTestModel.prepareEmptyConcessione(); Concessione conc=pushConcessione(toCreate); System.out.println(publish(conc.getId()+"").prettyPrint()); @@ -81,17 +81,17 @@ public class ConcessioniTest extends BasicServiceTestUnit { @Test public void createNew() throws IOException { - Concessione toCreate=TestModel.prepareEmptyConcessione(); + Concessione toCreate=OLDTestModel.prepareEmptyConcessione(); pushConcessione(toCreate); } @Test public void publishNew() throws IOException, RemoteBackendException, ConfigurationException { - Concessione toCreate=TestModel.prepareEmptyConcessione(); + Concessione toCreate=OLDTestModel.prepareEmptyConcessione(); Concessione registered = pushConcessione(toCreate); System.out.println("Registered at "+Serialization.write(registered)); - Concessione fullTemplate=TestModel.prepareConcessione(); + Concessione fullTemplate=OLDTestModel.prepareConcessione(); //Push Relazione publishSection(registered.getId()+"",formRequest(Section.RELAZIONE,fullTemplate.getRelazioneScavo(),"concessioni/relazione.pdf")); diff --git a/src/test/java/org/gcube/application/geoportal/service/legacy/TestModel.java b/src/test/java/org/gcube/application/geoportal/service/legacy/OLDTestModel.java similarity index 99% rename from src/test/java/org/gcube/application/geoportal/service/legacy/TestModel.java rename to src/test/java/org/gcube/application/geoportal/service/legacy/OLDTestModel.java index 64685a5..26472ec 100644 --- a/src/test/java/org/gcube/application/geoportal/service/legacy/TestModel.java +++ b/src/test/java/org/gcube/application/geoportal/service/legacy/OLDTestModel.java @@ -10,7 +10,7 @@ import org.gcube.application.geoportal.model.concessioni.LayerConcessione; import org.gcube.application.geoportal.model.concessioni.RelazioneScavo; import org.gcube.application.geoportal.model.content.UploadedImage; -public class TestModel { +public class OLDTestModel { public static Concessione prepareEmptyConcessione() { Concessione concessione=new Concessione();