Refactored abstract mongo manager

This commit is contained in:
Fabio Sinibaldi 2022-03-11 16:42:33 +01:00
parent b827ba2f13
commit db82bc0a53
9 changed files with 133 additions and 160 deletions

View File

@ -46,25 +46,27 @@ public class ConcessioniMongoManager extends MongoManager{
public ConcessioniMongoManager() throws ConfigurationException {
super();
init(collectionName);
}
private static final String collectionName="legacyConcessioni";
//private static final String DB_NAME="gna_dev";
private MongoDatabase db=null;
@Override
@Synchronized
protected MongoDatabase getDatabase() {
if(db==null) {
String toUseDB=super.client.getConnection().getDatabase();
log.info("Connecting to DB {} ",toUseDB);
// TODO MAP OF DATABASES?
db=client.getTheClient().getDatabase(toUseDB);
}
return db;
}
//
// private MongoDatabase db=null;
//
// @Override
// @Synchronized
// protected MongoDatabase getDatabase() {
// if(db==null) {
// String toUseDB=super.client.getConnection().getDatabase();
// log.info("Connecting to DB {} ",toUseDB);
//
// // TODO MAP OF DATABASES?
// db=client.getTheClient().getDatabase(toUseDB);
// }
// return db;
// }
protected static Document asDocument (Concessione c) throws JsonProcessingException {
Document toReturn=Document.parse(Serialization.write(c));
@ -92,14 +94,14 @@ public class ConcessioniMongoManager extends MongoManager{
log.trace("Going to register {} ",toRegister);
toRegister=onUpdate(toRegister);
log.trace("Concessione with defaults is {}",toRegister);
ObjectId id=insert(asDocument(toRegister), collectionName);
ObjectId id=insertDoc(asDocument(toRegister));
log.trace("Obtained id {}",id);
Concessione toReturn=asConcessione(getById(id,collectionName));
Concessione toReturn=asConcessione(getDocById(id));
toReturn.setMongo_id(asString(id));
toReturn = asConcessione(replace(asDocument(toReturn),id,collectionName));
toReturn = asConcessione(replaceDoc(asDocument(toReturn),id));
log.debug("Registered {} ",toReturn);
return toReturn;
}
@ -107,22 +109,13 @@ public class ConcessioniMongoManager extends MongoManager{
public Concessione replace(Concessione toRegister) throws IOException {
log.trace("Replacing {} ",toRegister);
toRegister=onUpdate(toRegister);
return asConcessione(replace(asDocument(toRegister),new ObjectId(toRegister.getMongo_id()),collectionName));
return asConcessione(replaceDoc(asDocument(toRegister),new ObjectId(toRegister.getMongo_id())));
}
/* public Concessione update(String id,String json) throws IOException {
log.trace("Updating id {} with {} ",id,json);
Concessione toReturn=asConcessione(update(asId(id),asDoc(json),collectionName));
log.debug("Refreshing defaults..");
toReturn.setDefaults();
return asConcessione(replace(asDocument(toReturn),collectionName));
}
*/
public Iterable<Concessione> list(){
LinkedBlockingQueue queue=new LinkedBlockingQueue<Concessione>();
iterate(null,null, collectionName).forEach(
iterateDoc(null,null).forEach(
new Consumer<Document>() {
@Override
public void accept(Document d) {
@ -140,7 +133,7 @@ public class ConcessioniMongoManager extends MongoManager{
public Iterable<Concessione> search(Document filter){
log.info("Searching concessione for filter {} ",filter);
LinkedBlockingQueue queue=new LinkedBlockingQueue<Concessione>();
iterate(filter,null,collectionName).forEach(
iterateDoc(filter,null).forEach(
(Consumer<? super Document>) (Document d)->{try{
queue.put(asConcessione(d));
}catch(Throwable t){log.warn("Unable to translate "+d);}});
@ -151,7 +144,7 @@ public class ConcessioniMongoManager extends MongoManager{
public Iterable<Document> query(QueryRequest queryRequest){
log.info("Searching concessione for filter {} ",queryRequest);
LinkedBlockingQueue queue=new LinkedBlockingQueue<Concessione>();
query(queryRequest,collectionName).forEach(
queryDoc(queryRequest).forEach(
(Consumer<? super Document>) (Document d)->{try{
queue.put(d);
}catch(Throwable t){log.warn("Unable to translate "+d);}});
@ -161,7 +154,7 @@ public class ConcessioniMongoManager extends MongoManager{
public Concessione getById(String id)throws IOException {
log.debug("Loading by ID "+id);
return asConcessione(getById(asId(id),collectionName));
return asConcessione(getDocById(asId(id)));
}
public void deleteById(String id,boolean force) throws DeletionException {
@ -180,12 +173,12 @@ public class ConcessioniMongoManager extends MongoManager{
if (!concessione.getReport().getStatus().equals(ValidationStatus.PASSED)&&!force)
throw new DeletionException("Unable to clean "+concessione.getMongo_id());
delete(asId(id), collectionName);
deleteDoc(asId(id));
}catch(DeletionException e) {
//storing updated - partially deleted
log.error("Error while trying to delete",e);
concessione=onUpdate(concessione);
replace(asDocument(concessione),new ObjectId(concessione.getMongo_id()), collectionName);
replaceDoc(asDocument(concessione),new ObjectId(concessione.getMongo_id()));
throw e;
}
}catch(Throwable t){
@ -198,21 +191,21 @@ public class ConcessioniMongoManager extends MongoManager{
public Concessione unpublish(String id) throws DeletionException {
try{
Concessione toReturn=asConcessione(getById(asId(id),collectionName));
Concessione toReturn=asConcessione(getDocById(asId(id)));
removeFromIndex(toReturn);
log.debug("Removed from centroids "+toReturn.getMongo_id());
toReturn = unpublish(toReturn);
log.debug("Concessione after unpublishing is "+toReturn);
toReturn = onUpdate(toReturn);
return asConcessione(replace(asDocument(toReturn),new ObjectId(toReturn.getMongo_id()),collectionName));
return asConcessione(replaceDoc(asDocument(toReturn),new ObjectId(toReturn.getMongo_id())));
}catch(Throwable t){
throw new DeletionException("Unable to unpublish "+id,t);
}
}
public Concessione publish(String id) throws IOException{
Concessione toReturn=asConcessione(getById(asId(id),collectionName));
Concessione toReturn=asConcessione(getDocById(asId(id)));
toReturn=onUpdate(toReturn);
toReturn.validate();
@ -224,7 +217,7 @@ public class ConcessioniMongoManager extends MongoManager{
toReturn=index(toReturn);
// replace(asDocument(toReturn),collectionName);
return asConcessione(replace(asDocument(toReturn),new ObjectId(toReturn.getMongo_id()),collectionName));
return asConcessione(replaceDoc(asDocument(toReturn),new ObjectId(toReturn.getMongo_id())));
}
@ -247,7 +240,7 @@ public class ConcessioniMongoManager extends MongoManager{
toClearContent.getActualContent().clear();
c=onUpdate(c);
return asConcessione(replace(asDocument(c),new ObjectId(c.getMongo_id()),collectionName));
return asConcessione(replaceDoc(asDocument(c),new ObjectId(c.getMongo_id())));
}catch(Exception e) {
throw new Exception("Unable to unregister files.",e);
@ -277,7 +270,7 @@ public class ConcessioniMongoManager extends MongoManager{
store(section,files,ws,storage,baseFolder);
c=onUpdate(c);
return asConcessione(replace(asDocument(c),new ObjectId(c.getMongo_id()),collectionName));
return asConcessione(replaceDoc(asDocument(c),new ObjectId(c.getMongo_id())));
}catch(Exception e) {
throw new Exception("Unable to save file.",e);
}

View File

@ -15,6 +15,8 @@ import org.gcube.application.cms.implementations.ImplementationProvider;
import org.gcube.application.geoportal.service.model.internal.db.Mongo;
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
import javax.print.Doc;
import static com.mongodb.client.model.Filters.eq;
import static com.mongodb.client.model.Sorts.ascending;
import static com.mongodb.client.model.Sorts.descending;
@ -24,7 +26,9 @@ public abstract class MongoManager {
protected Mongo client=null;
protected MongoCollection<Document> collection=null;
protected static final String ID="_id";
protected static final ObjectId asId(String id) {return new ObjectId(id);}
@ -35,72 +39,62 @@ public abstract class MongoManager {
public MongoManager() throws ConfigurationException {
client=ImplementationProvider.get().getEngineByManagedClass(Mongo.class);
log.info("Got Mongo Client at "+client.getConnection());
log.debug("Mongo client is "+client);
log.debug("Cached client is {} ",client);
}
protected void init(String collectionName){
String toUseDB=client.getConnection().getDatabase();
log.info("Opening collection {} : {} ",toUseDB);
collection=client.getTheClient().getDatabase(toUseDB).getCollection(collectionName);
}
// TODO check if existing DB
protected abstract MongoDatabase getDatabase();
MongoCollection getCollection(){
return collection;
}
protected abstract String mongoIDFieldName();
//*********** PROJECTS
// NB BsonId
protected ObjectId insert(Document proj, String collectionName) {
MongoDatabase database=getDatabase();
MongoCollection<Document> collection = database.getCollection(collectionName);
protected ObjectId insertDoc(Document proj) {
MongoCollection<Document> collection = getCollection();
// Check if _id is present
ObjectId id=proj.getObjectId(mongoIDFieldName());
if(id==null) {
proj.append(mongoIDFieldName(), new ObjectId());
id=proj.getObjectId(mongoIDFieldName());
}
collection.insertOne(Document.parse(proj.toJson()));
collection.insertOne(Document.parse(proj.toJson()));
return id;
}
public void delete(ObjectId id, String collectionName) {
MongoDatabase database=getDatabase();
MongoCollection<Document> collection = database.getCollection(collectionName);
public void deleteDoc(ObjectId id) {
MongoCollection<Document> collection = getCollection();
collection.deleteOne(eq(mongoIDFieldName(),id));
}
public Document getById(ObjectId id,String collectionName) {
MongoDatabase database=getDatabase();
MongoCollection<Document> coll=database.getCollection(collectionName);
public Document getDocById(ObjectId id) {
MongoCollection<Document> coll=getCollection();
return coll.find(new Document(mongoIDFieldName(),id)).first();
}
public FindIterable<Document> iterate(Document filter, Document projection, String collectionName) {
log.debug("Iterate over {} ",collectionName);
MongoDatabase database=getDatabase();
MongoCollection<Document> coll=database.getCollection(collectionName);
public FindIterable<Document> iterateDoc(Document filter, Document projection) {
MongoCollection<Document> coll=getCollection();
if(filter == null) filter=new Document();
log.debug("Applying Filter "+filter.toJson());
if(projection != null ) {
log.debug("Applying projection "+projection.toJson());
return coll.find(filter).projection(projection);
}else return coll.find(filter);
}
public FindIterable<Document> query(QueryRequest request, String collectionName){
FindIterable<Document> toReturn=iterate(request.getFilter(), request.getProjection(),collectionName);
public FindIterable<Document> queryDoc(QueryRequest request){
FindIterable<Document> toReturn=iterateDoc(request.getFilter(), request.getProjection());
if(request.getOrdering()!=null){
if(request.getOrdering().getDirection().equals(QueryRequest.OrderedRequest.Direction.ASCENDING))
@ -117,34 +111,29 @@ public abstract class MongoManager {
return toReturn;
}
public <T> FindIterable<T> iterateForClass(Document filter,String collectionName,Class<T> clazz) {
MongoDatabase database=getDatabase();
MongoCollection<Document> coll=database.getCollection(collectionName);
if(filter==null)
return coll.find(clazz);
else
return coll.find(filter,clazz);
}
public Document replace(Document toUpdate,ObjectId id, String collectionName) {
MongoDatabase database=getDatabase();
MongoCollection<Document> coll=database.getCollection(collectionName);
//
// public <T> FindIterable<T> iterateForClass(Document filter,Class<T> clazz) {
// MongoCollection<Document> coll=getCollection();
// if(filter==null)
// return coll.find(clazz);
// else
// return coll.find(filter,clazz);
// }
//
public Document replaceDoc(Document toUpdate,ObjectId id) {
MongoCollection<Document> coll=getCollection();
return coll.findOneAndReplace(
eq(mongoIDFieldName(),id), toUpdate,new FindOneAndReplaceOptions().returnDocument(ReturnDocument.AFTER));
}
public Document update(ObjectId id, Document updateSet, String collectionName) {
MongoDatabase database=getDatabase();
MongoCollection<Document> coll=database.getCollection(collectionName);
public Document updateDoc(ObjectId id, Document updateSet) {
MongoCollection<Document> coll=getCollection();
return coll.findOneAndUpdate(
eq(mongoIDFieldName(),id),
updateSet,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER));
}
//********** PROFILES
}

View File

@ -67,7 +67,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
@Getter
UseCaseDescriptor useCaseDescriptor;
MongoDatabase db=null;
@Override
protected String mongoIDFieldName() {
@ -85,11 +85,13 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
// Connect to DB
String toUseDB=super.client.getConnection().getDatabase();
log.info("Connecting to DB {} ",toUseDB);
init(getToUseCollectionName());
}
db=client.getTheClient().getDatabase(toUseDB);
private String getToUseCollectionName(){
//TODO collection name in UCD
return useCaseDescriptor.getId();
}
@Getter(lazy = true)
@ -118,16 +120,6 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
}
}
private String getCollectionName(){
// TODO UseCaseDescriptor can directly specify, use ID only as default
return useCaseDescriptor.getId();
}
@Override
public MongoDatabase getDatabase(){
return db;
}
@Override
public Project registerNew(Document toRegisterDoc) throws IOException, StepException, EventException {
@ -165,7 +157,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
log.debug("Going to register {} ",toRegister);
// Insert object
ObjectId id =insert(asDocumentWithId(toRegister),getCollectionName());
ObjectId id =insertDoc(asDocumentWithId(toRegister));
log.info("Obtained id {} ",id);
return getByID(id.toHexString());
@ -179,7 +171,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
toUpdate.getLifecycleInformation().cleanState();
toUpdate=onUpdate(toUpdate);
Project toReturn =convert(replace(asDocumentWithId(toUpdate),new ObjectId(id),getCollectionName()), Project.class);
Project toReturn =convert(replaceDoc(asDocumentWithId(toUpdate),new ObjectId(id)), Project.class);
log.debug("Updated Project is {}",toReturn);
return toReturn;
}
@ -224,7 +216,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
@Override
public Project getByID(String id) throws WebApplicationException{
Document doc=super.getById(asId(id),getCollectionName());
Document doc=getDocById(asId(id));
if(doc==null) throw new WebApplicationException("No document with ID "+id);
return convert(doc, Project.class);
}
@ -233,7 +225,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
public Iterable<Document> query(QueryRequest queryRequest) {
log.info("Querying {} ",queryRequest);
LinkedBlockingQueue queue=new LinkedBlockingQueue<Project>();
query(queryRequest,getCollectionName()).forEach(
queryDoc(queryRequest).forEach(
(Consumer<? super Document>) (Document d)->{try{
queue.put(d);
}catch(Throwable t){log.warn("Unable to translate "+d);}});
@ -245,7 +237,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
public Iterable<Project> filter(QueryRequest queryRequest) {
log.info("Searching concessione for filter {} ",queryRequest);
LinkedBlockingQueue queue=new LinkedBlockingQueue<Project>();
query(queryRequest,getCollectionName()).forEach(
queryDoc(queryRequest).forEach(
(Consumer<? super Document>) (Document d)->{try{
queue.put(d);
}catch(Throwable t){log.warn("Unable to translate "+d);}});
@ -273,7 +265,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
step,document.getLifecycleInformation().getLastOperationStatus());
log.debug("LifecycleInformation is {} ",document.getLifecycleInformation());
if(log.isTraceEnabled())log.trace("Document is {} ",Serialization.write(document));
return convert(replace(asDocumentWithId(document),new ObjectId(id),getCollectionName()), Project.class);
return convert(replaceDoc(asDocumentWithId(document),new ObjectId(id)), Project.class);
}
}
@ -366,7 +358,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
doc=onUpdate(doc);
return convert(replace(asDocumentWithId(doc),new ObjectId(id),getCollectionName()), Project.class);
return convert(replaceDoc(asDocumentWithId(doc),new ObjectId(id)), Project.class);
}
@Override
@ -388,7 +380,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
log.debug("Removing FS from document [ID : ] by path {}",id,path);
wrapper.setElement(path,null);
doc=onUpdate(doc);
return convert(replace(asDocumentWithId(doc),new ObjectId(id),getCollectionName()), Project.class);
return convert(replaceDoc(asDocumentWithId(doc),new ObjectId(id)), Project.class);
}
@Override
@ -405,9 +397,9 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
// Add Mongo Info
Archive mongoArchive = new Archive("DOCUMENT-STORE-COLLECTION");
MongoCollection coll=getDatabase().getCollection(getCollectionName());
MongoCollection coll=getCollection();
mongoArchive.put("count",coll.count());
mongoArchive.put("collection_name",getCollectionName());
mongoArchive.put("collection_name",getToUseCollectionName());
archives.add(mongoArchive);
// Set WS Info

View File

@ -2,6 +2,7 @@ package org.gcube.application.geoportal.service.engine.mongo;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.FindOneAndReplaceOptions;
import com.mongodb.client.model.ReturnDocument;
@ -30,19 +31,8 @@ import java.util.function.Consumer;
public class UCDMongoManager extends MongoManager implements UCDManagerI{
MongoDatabase db=null;
public UCDMongoManager() throws ConfigurationException {
String toUseDB=super.client.getConnection().getDatabase();
log.info("Connecting to DB {} ",toUseDB);
db=client.getTheClient().getDatabase(toUseDB);
}
@Override
public MongoDatabase getDatabase(){
return db;
init("UCD_"+ContextUtils.getCurrentScope().replaceAll("/","_"));
}
@Override
@ -50,11 +40,6 @@ public class UCDMongoManager extends MongoManager implements UCDManagerI{
return UseCaseDescriptor.MONGO_ID;
}
private String getCollectionName(){
return "profiles_"+ContextUtils.getCurrentScope();
}
public UseCaseDescriptor insert(UseCaseDescriptor desc) throws RegistrationException {
try {
if (desc.getMongoId() != null)
@ -62,9 +47,9 @@ public class UCDMongoManager extends MongoManager implements UCDManagerI{
//TODO validate
ObjectId id = super.insert(Serialization.asDocument(desc), mongoCollectionName());
ObjectId id = insertDoc(Serialization.asDocument(desc));
desc.setMongoId(id);
return Serialization.convert(super.getById(id, mongoCollectionName()), UseCaseDescriptor.class);
return Serialization.convert(getDocById(id), UseCaseDescriptor.class);
}catch(JsonProcessingException e){
log.error("Unexpected serialization exception ",e);
throw new WebApplicationException("Unexpected exception ",e);
@ -80,7 +65,7 @@ public class UCDMongoManager extends MongoManager implements UCDManagerI{
// MONGO ID SHOULD MATCH IF PROVIDED
filter.put(UseCaseDescriptor.MONGO_ID,desc.getMongoId());
try {
UseCaseDescriptor toReturn = Serialization.convert(getDatabase().getCollection(mongoCollectionName()).findOneAndReplace(
UseCaseDescriptor toReturn = Serialization.convert(getCollection().findOneAndReplace(
filter, Serialization.asDocument(desc),
new FindOneAndReplaceOptions().returnDocument(ReturnDocument.BEFORE)), UseCaseDescriptor.class);
log.trace("Matching is {} ", toReturn);
@ -103,24 +88,17 @@ public class UCDMongoManager extends MongoManager implements UCDManagerI{
}
}
private String mongoCollectionName(){
return "_UCD"+ ContextUtils.getCurrentScope().replaceAll("/","_");
}
@Override
public Iterable<UseCaseDescriptor> query(QueryRequest queryRequest) {
log.info("Searching UCD for {} ",queryRequest);
LinkedBlockingQueue queue=new LinkedBlockingQueue<UseCaseDescriptor>();
query(queryRequest,getCollectionName()).forEach(
FindIterable<Document> it=queryDoc(queryRequest);
it.forEach(
(Consumer<? super Document>) d ->{try{
queue.put(Serialization.convert(d,UseCaseDescriptor.class));
}catch(Throwable t){log.warn("Unable to translate "+d);}});
}catch(Throwable t){log.warn("Unable to translate "+d,t);}});
log.info("Returned {} elements ",queue.size());
return queue;
@ -128,7 +106,7 @@ public class UCDMongoManager extends MongoManager implements UCDManagerI{
@Override
public void deleteById(String id, boolean force) throws ConfigurationException {
delete(getById(id).getMongoId(),mongoCollectionName());
deleteDoc(getById(id).getMongoId());
}

View File

@ -17,6 +17,7 @@ import javax.ws.rs.core.MediaType;
import java.util.Iterator;
import java.util.concurrent.atomic.AtomicLong;
import static junit.framework.TestCase.assertTrue;
import static org.junit.Assume.assumeTrue;
@Slf4j
@ -51,6 +52,6 @@ public class UCDTests extends BasicServiceTestUnit{
QueryRequest request=new QueryRequest();
AtomicLong l = new AtomicLong();
query(request).forEachRemaining(u->l.incrementAndGet());
assumeTrue(l.get()>0);
assertTrue(l.get()>0);
}
}

View File

@ -1,4 +1,4 @@
package org.gcube.application.geoportal.service;
package org.gcube.application.geoportal.service.engine.mongo;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.mongodb.Block;
@ -25,15 +25,7 @@ public class MongoTests {
public static class MongoTester extends MongoManager {
public MongoTester() throws ConfigurationException {
}
public MongoCollection<Document> getCollection(){return getDatabase().getCollection("legacyConcessioni");}
@Override
protected MongoDatabase getDatabase() {
return client.getTheClient().getDatabase("gna_dev");
init("legacyConcessioni");
}
@Override

View File

@ -18,6 +18,7 @@ import org.gcube.application.geoportal.common.utils.tests.GCubeTest;
import org.gcube.application.geoportal.service.BasicServiceTestUnit;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import javax.ws.rs.client.Entity;
@ -40,9 +41,10 @@ public abstract class AbstractProfiledDocumentsTests extends BasicServiceTestUni
}
protected abstract WebTarget baseTarget();
protected abstract WebTarget baseTarget();
@Test
public void getAll() {
@ -66,9 +68,10 @@ public abstract class AbstractProfiledDocumentsTests extends BasicServiceTestUni
}
@Test
public void getConfiguration() {
public void getConfiguration() throws Exception {
assumeTrue(GCubeTest.isTestInfrastructureEnabled());
System.out.println(baseTarget().path(InterfaceConstants.Methods.CONFIGURATION_PATH).request(MediaType.APPLICATION_JSON).get(Configuration.class));
System.out.println(check(
baseTarget().path(InterfaceConstants.Methods.CONFIGURATION_PATH).request(MediaType.APPLICATION_JSON).get(),Configuration.class));
}
// Queries

View File

@ -2,6 +2,7 @@ package org.gcube.application.geoportal.service.profiledDocuments;
import org.bson.Document;
import org.gcube.application.cms.serialization.Serialization;
import org.gcube.application.cms.tests.TokenSetter;
import org.gcube.application.geoportal.common.model.JSONPathWrapper;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportal.common.model.document.filesets.RegisteredFileSet;
@ -9,8 +10,10 @@ import org.gcube.application.geoportal.common.model.useCaseDescriptor.Field;
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
import org.gcube.application.geoportal.common.rest.InterfaceConstants;
import org.gcube.application.geoportal.common.utils.StorageUtils;
import org.gcube.application.geoportal.common.utils.tests.GCubeTest;
import org.gcube.application.geoportal.service.BasicServiceTestUnit;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import javax.ws.rs.client.Entity;
@ -18,6 +21,7 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
public class DummyProjectTest extends AbstractProfiledDocumentsTests{
@ -28,6 +32,9 @@ public class DummyProjectTest extends AbstractProfiledDocumentsTests{
}
@Test
public void registerNew() throws Exception {

View File

@ -0,0 +1,18 @@
{
"profile_id": "profiledConcessioni",
"context": "/gcube/devsec/devVRE",
"last_updated_time": "2022-03-11T15:53:41.099",
"indexes": null,
"archives":
[
{
"_type": "DOCUMENT-STORE-COLLECTION",
"count": 41,
"collection_name": "profiledConcessioni"
},
{
"_type": "W-STORAGE",
"folder_id": "2a688014-cf98-464d-aa7c-38f1667f5542"
}
]
}