diff --git a/geoportal-service/pom.xml b/geoportal-service/pom.xml
index cc3c96a..658cc1a 100644
--- a/geoportal-service/pom.xml
+++ b/geoportal-service/pom.xml
@@ -93,6 +93,13 @@
+
+
+ net.postgis
+ postgis-jdbc
+ 2.5.0
+
+
org.gcube.spatial.data
@@ -100,12 +107,6 @@
[2.4.6,3.0.0)
-
-
- net.postgis
- postgis-jdbc
- 2.5.0
-
@@ -216,6 +217,12 @@
test
+
+ org.gcube.application.cms
+ sdi-plugins
+ test
+
+
junit
junit
diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfileManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfileManager.java
new file mode 100644
index 0000000..e12f3b1
--- /dev/null
+++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfileManager.java
@@ -0,0 +1,22 @@
+package org.gcube.application.geoportal.service.engine.mongo;
+
+import org.bson.Document;
+import org.gcube.application.cms.caches.Engine;
+import org.gcube.application.geoportal.common.model.document.ProfiledDocument;
+import org.gcube.application.geoportal.common.model.profile.Profile;
+import org.gcube.application.geoportal.common.model.rest.QueryRequest;
+
+import java.util.Iterator;
+
+public interface ProfileManager {
+
+ public Profile create(Document toCreate);
+
+ public Iterable query(QueryRequest request);
+
+ public void deleteById(String id,boolean force);
+
+ public Profile update(String ID, Document toSet);
+
+ public Profile getById(String id);
+}
diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java
index da98e4b..134efa8 100644
--- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java
+++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java
@@ -312,7 +312,11 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
if(matchingPaths.isEmpty()) throw new WebApplicationException("PArent path not found at "+request.getParentPath(),Response.Status.BAD_REQUEST);
String parentMatchingPath = matchingPaths.get(0);
- Document parent = Serialization.asDocument(docWrapper.getByPath(parentMatchingPath).get(0));
+ List