Package org.jbpm.graph.def

Examples of org.jbpm.graph.def.Node


    nodeLog = (NodeLog) saveAndReload(nodeLog);
    assertEquals(enter, nodeLog.getEnter());
  }

  public void testNodeLogLeaveDate() {
    Node node = new Node();
    session.save(node);

    Date enter = new Date();
    Date leave = new Date(enter.getTime()+5);
    NodeLog nodeLog = new NodeLog(node, enter, leave);
View Full Code Here


    nodeLog = (NodeLog) saveAndReload(nodeLog);
    assertEquals(leave, nodeLog.getLeave());
  }

  public void testNodeLogDuration() {
    Node node = new Node();
    session.save(node);

    Date enter = new Date();
    Date leave = new Date(enter.getTime()+5);
    NodeLog nodeLog = new NodeLog(node, enter, leave);
View Full Code Here

      String nodeName = nodeElement.getName();
      // get the node type
      Class nodeType = NodeTypes.getNodeType(nodeName);
      if (nodeType!=null) {

        Node node = null;
        try {
          // create a new instance
          node = (Node) nodeType.newInstance();
        } catch (Exception e) {
          log.error("couldn't instantiate node '"+nodeName+"', of type '"+nodeType.getName()+"'", e);
        }
       
        node.setProcessDefinition(processDefinition);
       
        // check for duplicate start-states
        if ( (node instanceof StartState)
             && (processDefinition.getStartState()!=null)
           ) {
          addError("max one start-state allowed in a process");
         
        } else {
          // read the common node parts of the element
          readNode(nodeElement, node, nodeCollection);
       
          // if the node is parsable
          // (meaning: if the node has special configuration to parse, other then the
          //  common node data)
          node.read(nodeElement, this);
        }
      }
    }
  }
View Full Code Here

  public void resolveTransitionDestinations() {
    Iterator iter = unresolvedTransitionDestinations.iterator();
    while (iter.hasNext()) {
      Object[] unresolvedTransition = (Object[]) iter.next();
      Element nodeElement = (Element) unresolvedTransition[0];
      Node node = (Node) unresolvedTransition[1];
      resolveTransitionDestinations(nodeElement.elements("transition"), node);
    }
  }
View Full Code Here

    // set destinationNode of the transition
    String toName = transitionElement.attributeValue("to");
    if (toName==null) {
      addWarning("node '"+node.getFullyQualifiedName()+"' has a transition without a 'to'-attribute to specify its destinationNode");
    } else {
      Node to = ((NodeCollection)node.getParent()).findNode(toName);
      if (to==null) {
        addWarning("transition to='"+toName+"' on node '"+node.getFullyQualifiedName()+"' cannot be resolved");
      } else {
        to.addArrivingTransition(transition);
      }
    }
   
    // read the actions
    readActions(transitionElement, transition, Event.EVENTTYPE_TRANSITION);
View Full Code Here

        Element secondMiddleState = (Element) element.elements("state").toArray()[1];
        DefaultElement bpmToEsbVars = (DefaultElement) secondMiddleState.element("transition").element("action").element("bpmToEsbVars");

        Token token = processInstance.getRootToken();
        ExecutionContext executionContext = new ExecutionContext(token);
        Node node = executionContext.getNode();
        Transition transition = (Transition) node.getLeavingTransitions().get(0);

        JBpmObjectMapper mapper = new JBpmObjectMapper();
        Message message = mapper.mapFromJBpmToEsbMessage(bpmToEsbVars, Boolean.FALSE, executionContext);

        assertEquals(message.getBody().getNames().length,6);
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("TokenId"))), String.valueOf(token.getId()));
        //The token name is null.
        assertNull(message.getBody().get("TokenName"));
        //Get info about the node.
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("NodeName"))), String.valueOf(node.getName()));
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("esbNodeId"))), String.valueOf(node.getId()));
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("transName"))), String.valueOf(transition.getName()));
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("piId"))), String.valueOf(processInstance.getId()));
        assertEquals(String.valueOf(String.valueOf(message.getBody().get("piVersion"))), String.valueOf(processInstance.getVersion()));
        logger.info("Message=" + message);
    }
View Full Code Here

              startPageName = startPageElement.attributeValue("name");
           }
        }
        if (startPageName!=null)
        {
           Node startPage = getProcessDefinition().getNode(startPageName);
           if (startPage!=null)
           {
              getProcessDefinition().setStartState(startPage);
           }
        }
View Full Code Here

         && (variables!=null)
       ) {
      contextInstance.addVariables(variables);
    }

    Node initialNode = rootToken.getNode();
    // fire the process start event
    if (initialNode!=null) {
      ExecutionContext executionContext = new ExecutionContext(rootToken);
      processDefinition.fireEvent(Event.EVENTTYPE_PROCESS_START, executionContext);

      // execute the start node
      initialNode.execute(executionContext);
    }
  }
View Full Code Here

    + pi.getProcessDefinition().getVersion());
  return null;
    }

    private void changeTokenVersion(JbpmContext jbpmContext, Token token) {
  Node oldNode = token.getNode();

  ProcessDefinition oldDef = token.getProcessInstance()
    .getProcessDefinition();

  ProcessDefinition newDef = jbpmContext.getGraphSession()
    .findProcessDefinition(oldDef.getName(), newVersion);
  Node newNode = newDef.findNode(getNewNodeName(oldNode));

  if (newNode == null) {
      throw new JbpmException("node with name '"
        + getNewNodeName(oldNode)
        + "' not found in new process definition");
  }

  log.debug("change token id " + token.getId() + " from version "
    + oldDef.getVersion() + " to new version "
    + newDef.getVersion());

  token.setNode(newNode);

  // TODO: Change timers too!

  // change tasks
  Iterator iter = getTasksForToken(token).iterator();
  while (iter.hasNext()) {
      TaskInstance ti = (TaskInstance) iter.next();

      Task oldTask = ti.getTask();
      // find new task
      Query q = jbpmContext.getSession().getNamedQuery(
        "TaskMgmtSession.findTaskForNode");
      q.setString("taskName", oldTask.getName());
      q.setLong("taskNodeId", newNode.getId());
      // TODO: q.setLong("processDefinitionId", newDef.getId());

      Task newTask = (Task) q.uniqueResult();

      if (newTask == null) {
    throw new JbpmException(
      "node '"
        + newNode.getName()
        + "' has no Task configured! Check the new process definition");
      }

      ti.setTask(newTask);
      log.debug("change dependent task-instance with id "
View Full Code Here

   */
  public void end(String transitionName) {
    Transition leavingTransition = null;
   
    if (task!=null) {
      Node node = task.getTaskNode();
      if (node==null) {
        node = (Node) task.getParent();
      }

      if (node!=null) {
        leavingTransition = node.getLeavingTransition(transitionName);
      }
    }
    if (leavingTransition==null) {
      throw new JbpmException("task node does not have leaving transition '"+transitionName+"'");
    }
View Full Code Here

TOP

Related Classes of org.jbpm.graph.def.Node

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.