X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.support.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjcr%2Fdao%2FSlcExecutionDaoJcr.java;h=135f10760e91c3a73917918cd6c066b82ad63c56;hb=0ebe6753b6569ff52b4ba86cd61c6e08a19e0c5f;hp=f57102d324c982712dc652fbebe9874d40b47c24;hpb=aa7186934987661f592d3338c120385b76d7ccee;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 f57102d32..135f10760 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,35 +8,19 @@ import java.util.List; import javax.jcr.Node; import javax.jcr.NodeIterator; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.Workspace; import javax.jcr.query.Query; -import javax.jcr.query.QueryManager; import javax.jcr.query.QueryResult; -import org.argeo.jcr.BeanNodeMapper; import org.argeo.jcr.JcrUtils; import org.argeo.slc.SlcException; import org.argeo.slc.dao.process.SlcExecutionDao; import org.argeo.slc.process.SlcExecution; import org.argeo.slc.process.SlcExecutionStep; -public class SlcExecutionDaoJcr implements SlcExecutionDao { - private Session session; - private Workspace workspace; - private QueryManager queryManager; - - private BeanNodeMapper beanNodeMapper = new BeanNodeMapper(); - - public void init() { - try { - workspace = session.getWorkspace(); - queryManager = workspace.getQueryManager(); - } catch (RepositoryException e) { - throw new SlcException("Cannot initialize DAO", e); - } - } +public class SlcExecutionDaoJcr extends AbstractSlcJcrDao implements + SlcExecutionDao { + // private final static Log log = + // LogFactory.getLog(SlcExecutionDaoJcr.class); public void addSteps(String slcExecutionId, List additionalSteps) { @@ -49,11 +33,11 @@ public class SlcExecutionDaoJcr implements SlcExecutionDao { public void create(SlcExecution slcExecution) { try { - beanNodeMapper.save(getSession(), basePath(slcExecution), - slcExecution); - session.save(); + nodeMapper.save(getSession(), basePath(slcExecution), slcExecution); + getSession().save(); } catch (Exception e) { - throw new SlcException("Cannot import " + slcExecution, e); + throw new SlcException("Cannot create slcExecution" + slcExecution, + e); } } @@ -61,8 +45,11 @@ public class SlcExecutionDaoJcr implements SlcExecutionDao { Calendar cal = new GregorianCalendar(); cal.setTime(new Date()); // cal.setTime(slcExecution.getStartDate()); - return "/slc/processes/" + slcExecution.getHost().replace('.', '/') - + '/' + JcrUtils.dateAsPath(cal) + "process"; + String host = slcExecution.getHost(); + if (host == null) + host = "UNKOWNHOST"; + return "/slc/processes/" + JcrUtils.hostAsPath(host) + '/' + + JcrUtils.dateAsPath(cal) + "process"; } public SlcExecution getSlcExecution(String uuid) { @@ -73,7 +60,7 @@ public class SlcExecutionDaoJcr implements SlcExecutionDao { Node node = JcrUtils.querySingleNode(query); if (node == null) return null; - return (SlcExecution) beanNodeMapper.nodeToBean(node); + return (SlcExecution) nodeMapper.load(node); } catch (Exception e) { throw new SlcException("Cannot load SLC execution " + uuid, e); } @@ -89,8 +76,8 @@ public class SlcExecutionDaoJcr implements SlcExecutionDao { NodeIterator iterator = qr.getNodes(); while (iterator.hasNext()) { Node node = iterator.nextNode(); - SlcExecution slcExecution = (SlcExecution) beanNodeMapper - .nodeToBean(node); + SlcExecution slcExecution = (SlcExecution) nodeMapper + .load(node); res.add(slcExecution); } return res; @@ -110,22 +97,11 @@ public class SlcExecutionDaoJcr implements SlcExecutionDao { try { Query query = queryManager.createQuery(queryString, Query.XPATH); Node node = JcrUtils.querySingleNode(query); - beanNodeMapper.update(node, slcExecution); + nodeMapper.update(node, slcExecution); + getSession().save(); } catch (Exception e) { throw new SlcException("Cannot update " + slcExecution, e); } } - public void setSession(Session session) { - this.session = session; - } - - protected Session getSession() { - return session; - } - - public void setBeanNodeMapper(BeanNodeMapper beanNodeMapper) { - this.beanNodeMapper = beanNodeMapper; - } - }