X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjcr%2Fdao%2FSlcExecutionDaoJcr.java;h=ab9a1ea974fde7987fbc4b2dd4914571d3513a58;hb=7efacbb6a17cd98979833f3c427ddeb940869d5c;hp=135f10760e91c3a73917918cd6c066b82ad63c56;hpb=f1949f18a209de9f9ee110e2e2654882529b8ec5;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/SlcExecutionDaoJcr.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/SlcExecutionDaoJcr.java index 135f10760..ab9a1ea97 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/SlcExecutionDaoJcr.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/SlcExecutionDaoJcr.java @@ -8,6 +8,7 @@ import java.util.List; import javax.jcr.Node; import javax.jcr.NodeIterator; +import javax.jcr.RepositoryException; import javax.jcr.query.Query; import javax.jcr.query.QueryResult; @@ -35,7 +36,7 @@ public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements try { nodeMapper.save(getSession(), basePath(slcExecution), slcExecution); getSession().save(); - } catch (Exception e) { + } catch (RepositoryException e) { throw new SlcException("Cannot create slcExecution" + slcExecution, e); } @@ -53,17 +54,13 @@ public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements } public SlcExecution getSlcExecution(String uuid) { - try { - // TODO: optimize query - String queryString = "//process[@uuid='" + uuid + "']"; - Query query = queryManager.createQuery(queryString, Query.XPATH); - Node node = JcrUtils.querySingleNode(query); - if (node == null) - return null; - return (SlcExecution) nodeMapper.load(node); - } catch (Exception e) { - throw new SlcException("Cannot load SLC execution " + uuid, e); - } + // TODO: optimize query + String queryString = "//process[@uuid='" + uuid + "']"; + Query query = createQuery(queryString, Query.XPATH); + Node node = JcrUtils.querySingleNode(query); + if (node == null) + return null; + return (SlcExecution) nodeMapper.load(node); } public List listSlcExecutions() { @@ -71,7 +68,7 @@ public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements // TODO: optimize query String queryString = "//process"; try { - Query query = queryManager.createQuery(queryString, Query.XPATH); + Query query = createQuery(queryString, Query.XPATH); QueryResult qr = query.execute(); NodeIterator iterator = qr.getNodes(); while (iterator.hasNext()) { @@ -81,7 +78,7 @@ public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements res.add(slcExecution); } return res; - } catch (Exception e) { + } catch (RepositoryException e) { throw new SlcException("Cannot list SLC executions", e); } } @@ -95,11 +92,11 @@ public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements String queryString = "//process[@uuid='" + slcExecution.getUuid() + "']"; try { - Query query = queryManager.createQuery(queryString, Query.XPATH); + Query query = createQuery(queryString, Query.XPATH); Node node = JcrUtils.querySingleNode(query); nodeMapper.update(node, slcExecution); getSession().save(); - } catch (Exception e) { + } catch (RepositoryException e) { throw new SlcException("Cannot update " + slcExecution, e); } }