import javax.jcr.query.QueryManager;
import javax.jcr.query.QueryResult;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.argeo.jcr.BeanNodeMapper;
import org.argeo.jcr.JcrUtils;
import org.argeo.slc.SlcException;
import org.argeo.slc.process.SlcExecutionStep;
public class SlcExecutionDaoJcr implements SlcExecutionDao {
+ private final static Log log = LogFactory.getLog(SlcExecutionDaoJcr.class);
private Session session;
private Workspace workspace;
private QueryManager queryManager;
}
public void create(SlcExecution slcExecution) {
+ if (log.isDebugEnabled())
+ log.debug("create");
+
try {
beanNodeMapper.save(getSession(), basePath(slcExecution),
slcExecution);
}
public SlcExecution getSlcExecution(String uuid) {
+ if (log.isDebugEnabled())
+ log.debug("getSlcExecution");
+
try {
// TODO: optimize query
String queryString = "//process[@uuid='" + uuid + "']";
}
public List<SlcExecution> listSlcExecutions() {
+ if (log.isDebugEnabled())
+ log.debug("listSlcExecutions");
+
List<SlcExecution> res = new ArrayList<SlcExecution>();
// TODO: optimize query
String queryString = "//process";
}
public void update(SlcExecution slcExecution) {
+ if (log.isDebugEnabled())
+ log.debug("update");
+
// TODO: optimize query
String queryString = "//process[@uuid='" + slcExecution.getUuid()
+ "']";
Query query = queryManager.createQuery(queryString, Query.XPATH);
Node node = JcrUtils.querySingleNode(query);
beanNodeMapper.update(node, slcExecution);
+ session.save();
} catch (Exception e) {
throw new SlcException("Cannot update " + slcExecution, e);
}