]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/AbstractSlcJcrDao.java
Improve Security
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / dao / AbstractSlcJcrDao.java
index bb752a8c1aeb16793d4cc9acd32d03e22ab44281..368ef9e3c27d07ae39e634a83efc6ba042ace56c 100644 (file)
@@ -6,13 +6,12 @@ import java.util.GregorianCalendar;
 \r
 import javax.jcr.RepositoryException;\r
 import javax.jcr.Session;\r
-import javax.jcr.Workspace;\r
-import javax.jcr.query.QueryManager;\r
+import javax.jcr.query.Query;\r
 \r
+import org.argeo.ArgeoException;\r
 import org.argeo.jcr.JcrUtils;\r
 import org.argeo.jcr.NodeMapper;\r
 import org.argeo.jcr.NodeMapperProvider;\r
-import org.argeo.slc.SlcException;\r
 import org.argeo.slc.runtime.SlcAgentDescriptor;\r
 import org.argeo.slc.test.TestResult;\r
 import org.argeo.slc.test.TestRunDescriptor;\r
@@ -21,8 +20,8 @@ public abstract class AbstractSlcJcrDao {
 \r
        private Session session;\r
 \r
-       protected Workspace workspace;\r
-       protected QueryManager queryManager;\r
+       // protected Workspace workspace;\r
+       // protected QueryManager queryManager;\r
        protected NodeMapper nodeMapper;\r
 \r
        // We inject the nodeMapperProvider that define a default node mapper as an\r
@@ -30,13 +29,7 @@ public abstract class AbstractSlcJcrDao {
        private NodeMapperProvider nodeMapperProvider;\r
 \r
        public void init() {\r
-               try {\r
-                       workspace = getSession().getWorkspace();\r
-                       queryManager = workspace.getQueryManager();\r
-                       nodeMapper = getNodeMapperProvider().findNodeMapper(null);\r
-               } catch (RepositoryException e) {\r
-                       throw new SlcException("Cannot initialize DAO", e);\r
-               }\r
+               nodeMapper = getNodeMapperProvider().findNodeMapper(null);\r
        }\r
 \r
        public void setSession(Session session) {\r
@@ -73,4 +66,12 @@ public abstract class AbstractSlcJcrDao {
                return this.nodeMapperProvider;\r
        }\r
 \r
+       protected Query createQuery(String query, String type) {\r
+               try {\r
+                       return getSession().getWorkspace().getQueryManager().createQuery(\r
+                                       query, type);\r
+               } catch (RepositoryException e) {\r
+                       throw new ArgeoException("Cannot create query " + query, e);\r
+               }\r
+       }\r
 }\r