]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/SlcAgentDescriptorDaoJcr.java
Improve Security
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / dao / SlcAgentDescriptorDaoJcr.java
index 14c838aa7001eac9cf14eb8aad55dc6806e16f05..b592f4e357ef3339eb1e09a80dc8c6c5f16870a1 100644 (file)
@@ -5,6 +5,7 @@ import java.util.List;
 \r
 import javax.jcr.Node;\r
 import javax.jcr.NodeIterator;\r
+import javax.jcr.RepositoryException;\r
 import javax.jcr.query.Query;\r
 \r
 import org.apache.commons.logging.Log;\r
@@ -24,30 +25,26 @@ public class SlcAgentDescriptorDaoJcr extends AbstractSlcJcrDao implements
                        nodeMapper.save(getSession(), basePath(slcAgentDescriptor),\r
                                        slcAgentDescriptor);\r
                        getSession().save();\r
-               } catch (Exception e) {\r
+               } catch (RepositoryException e) {\r
                        throw new SlcException("Cannot import " + slcAgentDescriptor, e);\r
                }\r
        }\r
 \r
        public SlcAgentDescriptor getAgentDescriptor(String agentId) {\r
-               try {\r
-                       // TODO: optimize query\r
-                       String queryString = "//agent[@uuid='" + agentId + "']";\r
-                       Query query = queryManager.createQuery(queryString, Query.XPATH);\r
-                       Node node = JcrUtils.querySingleNode(query);\r
-                       if (node == null)\r
-                               return null;\r
-                       return (SlcAgentDescriptor) nodeMapper.load(node);\r
-               } catch (Exception e) {\r
-                       throw new SlcException("Cannot load Agent Descriptor" + agentId, e);\r
-               }\r
+               // TODO: optimize query\r
+               String queryString = "//agent[@uuid='" + agentId + "']";\r
+               Query query = createQuery(queryString, Query.XPATH);\r
+               Node node = JcrUtils.querySingleNode(query);\r
+               if (node == null)\r
+                       return null;\r
+               return (SlcAgentDescriptor) nodeMapper.load(node);\r
        }\r
 \r
        public void delete(SlcAgentDescriptor slcAgentDescriptor) {\r
                try {\r
                        String queryString = "//agent[@uuid='"\r
                                        + slcAgentDescriptor.getUuid() + "']";\r
-                       Query query = queryManager.createQuery(queryString, Query.XPATH);\r
+                       Query query = createQuery(queryString, Query.XPATH);\r
                        Node node = JcrUtils.querySingleNode(query);\r
                        if (node != null) {\r
                                node.remove();\r
@@ -55,7 +52,7 @@ public class SlcAgentDescriptorDaoJcr extends AbstractSlcJcrDao implements
                        } else\r
                                log.warn("No node found for agent descriptor: "\r
                                                + slcAgentDescriptor);\r
-               } catch (Exception e) {\r
+               } catch (RepositoryException e) {\r
                        throw new SlcException("Cannot delete " + slcAgentDescriptor, e);\r
                }\r
 \r
@@ -65,11 +62,11 @@ public class SlcAgentDescriptorDaoJcr extends AbstractSlcJcrDao implements
                try {\r
                        // TODO: optimize query\r
                        String queryString = "//agent[@uuid='" + agentId + "']";\r
-                       Query query = queryManager.createQuery(queryString, Query.XPATH);\r
+                       Query query = createQuery(queryString, Query.XPATH);\r
                        Node node = JcrUtils.querySingleNode(query);\r
                        if (node != null)\r
                                node.remove();\r
-               } catch (Exception e) {\r
+               } catch (RepositoryException e) {\r
                        throw new SlcException("Cannot find AgentDescriptor" + agentId, e);\r
                }\r
 \r
@@ -78,7 +75,7 @@ public class SlcAgentDescriptorDaoJcr extends AbstractSlcJcrDao implements
        public List<SlcAgentDescriptor> listSlcAgentDescriptors() {\r
                try {\r
                        String queryString = "//agent";\r
-                       Query query = queryManager.createQuery(queryString, Query.XPATH);\r
+                       Query query = createQuery(queryString, Query.XPATH);\r
 \r
                        List<SlcAgentDescriptor> listSad = new ArrayList<SlcAgentDescriptor>();\r
 \r