diff --git a/pom.xml b/pom.xml
index bd0fb1f..5426716 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
4.0.0
org.gcube.data.access
storagehub
- 1.3.1
+ 1.3.2-SNAPSHOT
storagehub
diff --git a/src/main/java/org/gcube/data/access/storagehub/handlers/vres/VREManager.java b/src/main/java/org/gcube/data/access/storagehub/handlers/vres/VREManager.java
index 432db4e..685f724 100644
--- a/src/main/java/org/gcube/data/access/storagehub/handlers/vres/VREManager.java
+++ b/src/main/java/org/gcube/data/access/storagehub/handlers/vres/VREManager.java
@@ -8,6 +8,7 @@ import java.util.concurrent.Executors;
import javax.inject.Inject;
import javax.inject.Singleton;
+import javax.jcr.ItemNotFoundException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
@@ -101,14 +102,24 @@ public class VREManager {
VRE vre = this.getVRE(groupName);
if (vre!=null) return vre;
else {
- String query = String.format("SELECT * FROM [nthl:workspaceItem] As node WHERE node.[jcr:title] like '%s' AND ISDESCENDANTNODE('%s')",groupName, vrePath.toPath());
- Query jcrQuery = ses.getWorkspace().getQueryManager().createQuery(query, Constants.QUERY_LANGUAGE);
- NodeIterator it = jcrQuery.execute().getNodes();
+
+ Node shareNode = ses.getNode(Constants.SHARED_FOLDER_PATH);
+
+ NodeIterator it = shareNode.getNodes();
- if (!it.hasNext()) throw new BackendGenericError("vre folder not found for context "+groupName);
+ Node vreFolderNode = null;
+
+ while (it.hasNext()) {
+ Node nextNode = it.nextNode();
+ if (nextNode.hasProperty("jcr:title") && nextNode.getProperty("jcr:title").getString().equals(groupName)) {
+ vreFolderNode = nextNode;
+ break;
+ }
+ }
+
+ if (vreFolderNode==null) throw new ItemNotFoundException("vre folder not found for context "+groupName);
- Node folder = it.nextNode();
- Item vreFolder = node2Item.getItem(folder, excludes);
+ Item vreFolder = node2Item.getItem(vreFolderNode, excludes);
return this.putVRE(vreFolder);
}
}