import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.SortedSet;
+import java.util.TreeSet;
import java.util.UUID;
import javax.jcr.Node;
import javax.jcr.query.Query;
import javax.jcr.query.QueryManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.argeo.ArgeoException;
import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;
import org.argeo.jcr.JcrUtils;
public class ProcessBuilderPage extends FormPage implements SlcNames {
public final static String ID = "processBuilderPage";
- private final static Log log = LogFactory.getLog(ProcessBuilderPage.class);
+ // private final static Log log =
+ // LogFactory.getLog(ProcessBuilderPage.class);
private Node processNode;
getManagedForm().addPart(formPart);
// observation
- statusObserver = new AsyncUiEventListener() {
+ statusObserver = new AsyncUiEventListener(form.getDisplay()) {
protected void onEventInUiThread(EventIterator events) {
statusChanged();
}
specAttrs: for (NodeIterator nit = specAttrsBase.getNodes(); nit
.hasNext();) {
Node specAttrNode = nit.nextNode();
+ String attrName = specAttrNode.getName();
if (!specAttrNode
.isNodeType(SlcTypes.SLC_EXECUTION_SPEC_ATTRIBUTE))
continue specAttrs;
.getName());
JcrUtils.copy(specAttrNode, realizedAttrNode);
- // for (PropertyIterator pit = realizedAttrNode.getProperties();
- // pit
- // .hasNext();) {
- // Property p = pit.nextProperty();
- // if (!p.isMultiple())
- // log.debug(p.getName() + "=" + p.getValue().getString());
- // }
+ // ovveride with flow value
+ if (flowNode.hasNode(attrName)) {
+ // assuming this is a primitive
+ realizedAttrNode.setProperty(SLC_VALUE,
+ flowNode.getNode(attrName).getProperty(SLC_VALUE)
+ .getValue());
+ }
}
flowsViewer.refresh();
+ SlcTypes.SLC_EXECUTION_FLOW
+ "] WHERE ISDESCENDANTNODE(['" + path
+ "']) OR ISSAMENODE(['" + path + "'])";
- //log.debug(statement);
+ // log.debug(statement);
Query query = qm.createQuery(statement, Query.JCR_SQL2);
+
+ // order paths
+ SortedSet<String> paths = new TreeSet<String>();
for (NodeIterator nit = query.execute().getNodes(); nit
.hasNext();) {
- addFlow(nit.nextNode().getPath());
+ paths.add(nit.nextNode().getPath());
+ }
+
+ for (String p : paths) {
+ addFlow(p);
}
return true;
} catch (RepositoryException e) {