protected void retrieveToken(Token token) { retrieveNode(token.getNode()); // Hibernate.initialize(token.getAvailableTransitions()); if( token.getChildren() != null ) { for (Iterator iter = token.getChildren().values().iterator(); iter.hasNext();) { retrieveToken((Token) iter.next()); } } }
private void collectTokenLogs(Map tokenLogs, Token token) { tokenLogs.put(token, findLogsByToken(token.getId())); Map children = token.getChildren(); if (children != null) { for (Iterator i = children.values().iterator(); i.hasNext();) { Token child = (Token) i.next(); collectTokenLogs(tokenLogs, child); } } }
protected String getTokenName(Token parent, String transitionName) { if (transitionName != null) { // use transition name, if not taken already if (!parent.hasChild(transitionName)) return transitionName; // append numeric suffix to transition name StringBuffer tokenText = new StringBuffer(transitionName); String tokenName; int baseLength = transitionName.length(); int suffix = 2; do { tokenText.append(suffix++); tokenName = tokenText.toString(); tokenText.setLength(baseLength); } while (parent.hasChild(tokenName)); return tokenName; } // no transition name else { Map childTokens = parent.getChildren(); return childTokens != null ? Integer.toString(childTokens.size() + 1) : "1"; } }
protected void retrieveToken(Token token) { retrieveNode(token.getNode()); // Hibernate.initialize(token.getAvailableTransitions()); for (Iterator iter = token.getChildren().values().iterator(); iter.hasNext();) { retrieveToken((Token) iter.next()); } }
private void collectTokenLogs(Map tokenLogs, Token token) { tokenLogs.put(token, findLogsByToken(token.getId())); Map children = token.getChildren(); if (children != null) { for (Iterator i = children.values().iterator(); i.hasNext();) { Token child = (Token) i.next(); collectTokenLogs(tokenLogs, child); } } }
protected String getTokenName(Token parent, String transitionName) { if (transitionName != null) { // use transition name, if not taken already if (!parent.hasChild(transitionName)) return transitionName; // append numeric suffix to transition name StringBuffer tokenText = new StringBuffer(transitionName); String tokenName; int baseLength = transitionName.length(); int suffix = 2; do { tokenText.append(suffix++); tokenName = tokenText.toString(); tokenText.setLength(baseLength); } while (parent.hasChild(tokenName)); return tokenName; } // no transition name else { Map childTokens = parent.getChildren(); return childTokens != null ? Integer.toString(childTokens.size() + 1) : "1"; } }
protected void cancelToken(Token token) { // recursively cancel children cancelTokens(token.getChildren().values()); // cancel tasks cancelTasks(getTasksForToken(token)); if (!token.hasEnded()) { // end token but do not propagate to parent // to prevent inadvertent termination token.end(false); } if (log.isDebugEnabled()) log.debug("cancelled " + token); }
protected void cancelToken(Token token) { // recursively cancel children cancelTokens(token.getChildren().values()); // cancel tasks cancelTasks(getTasksForToken(token)); if (!token.hasEnded()) { // end token but do not propagate to parent // to prevent inadvertent termination token.end(false); } if (log.isDebugEnabled()) log.debug("cancelled " + token); }
Collection concurrentTokens = token.getParent().getChildren().values(); boolean reactivate = true; Iterator iter = concurrentTokens.iterator();
private void changeTokenVersion(Token token) { // change node reference on token (current node) Node oldNode = token.getNode(); ProcessDefinition newDef = token.getProcessInstance().getProcessDefinition(); Node newNode = findReplacementNode(newDef, oldNode); token.setNode(newNode); // Change timers too! adjustTimersForToken(token); // change tasks adjustTaskInstancesForToken(token); // change children recursively Map children = token.getChildren(); if (children != null) { for (Iterator i = children.values().iterator(); i.hasNext();) { changeTokenVersion((Token) i.next()); } } }
private void changeTokenVersion(Token token) { // change node reference on token (current node) Node oldNode = token.getNode(); ProcessDefinition newDef = token.getProcessInstance().getProcessDefinition(); Node newNode = findReplacementNode(newDef, oldNode); token.setNode(newNode); // Change timers too! adjustTimersForToken(token); // change tasks adjustTaskInstancesForToken(token); // change children recursively Map children = token.getChildren(); if (children != null) { for (Iterator i = children.values().iterator(); i.hasNext();) { changeTokenVersion((Token) i.next()); } } }
Collection concurrentTokens = token.getParent().getChildren().values(); boolean reactivate = true; Iterator iter = concurrentTokens.iterator();
int n = 0; for (Iterator iter = parentToken.getChildren().values().iterator(); iter.hasNext();) { Token childToken = (Token) iter.next(); if (equals(childToken.getNode())) n++; Collection tokenNames = parentToken.getChildren().keySet(); reactivateParent = !parentToken.hasActiveChildren() && mustParentBeReactivated(parentToken, tokenNames); for (Iterator iter = parentToken.getChildren().values().iterator(); iter.hasNext();) { Token childToken = (Token) iter.next(); childToken.setAbleToReactivateParent(false);
int n = 0; for (Iterator iter = parentToken.getChildren().values().iterator(); iter.hasNext();) { Token childToken = (Token) iter.next(); if (equals(childToken.getNode())) n++; Collection tokenNames = parentToken.getChildren().keySet(); reactivateParent = !parentToken.hasActiveChildren() && mustParentBeReactivated(parentToken, tokenNames); for (Iterator iter = parentToken.getChildren().values().iterator(); iter.hasNext();) { Token childToken = (Token) iter.next(); childToken.setAbleToReactivateParent(false);