import javax.jcr.NodeIterator;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import org.argeo.ArgeoException;
+import org.argeo.jcr.JcrUtils;
import org.argeo.slc.SlcException;
import org.argeo.slc.core.execution.DefaultExecutionSpec;
import org.argeo.slc.core.execution.PrimitiveSpecAttribute;
@Override
protected void process() throws InterruptedException {
+ Session session = null;
try {
- Node rootRealizedFlowNode = getNode().getNode(SLC_FLOW);
+ session = getJcrExecutionProcess().getRepository().login();
+ Node rootRealizedFlowNode = session.getNode(
+ getJcrExecutionProcess().getNodePath()).getNode(SLC_FLOW);
// we just manage one level for the time being
NodeIterator nit = rootRealizedFlowNode.getNodes(SLC_FLOW);
while (nit.hasNext()) {
}
}
} catch (RepositoryException e) {
- throw new ArgeoException("Cannot process " + getNode(), e);
+ throw new ArgeoException("Cannot process "
+ + getJcrExecutionProcess().getNodePath(), e);
+ } finally {
+ JcrUtils.logoutQuietly(session);
}
}
}
}
- protected Node getNode() {
- return ((JcrExecutionProcess) getProcess()).getNode();
+ protected JcrExecutionProcess getJcrExecutionProcess() {
+ return (JcrExecutionProcess) getProcess();
}
}