Package org.jbpm.pvm.internal.model

Examples of org.jbpm.pvm.internal.model.TransitionImpl


      return;
    }
    String destinationName = element.getAttribute("to");
    ActivityImpl destination = (ActivityImpl) state.getProcessDefinition().getActivity(destinationName);
    if (destination!=null) {
      TransitionImpl transition = state.createOutgoingTransition();
      transition.setDestination(destination);
      transition.setName(transitionName);
    } else {
      parse.addProblem("destination "+destinationName+" of "+transitionName+" is unknown", element);
    }
  }
View Full Code Here


  public boolean isAsync(ExecutionImpl execution) {
    return false;
  }

  public void perform(ExecutionImpl execution) {
    TransitionImpl transition = execution.getTransition();
    execution.setActivity(null);
    execution.fire(Event.TAKE, transition, AtomicOperation.TRANSITION_START_ACTIVITY);
  }
View Full Code Here

  public ExecuteEventListenerMessage(ExecutionImpl execution) {
    super(execution);
   
    Map<String, Object> asyncExecutionInfo = new HashMap<String, Object>();
   
    TransitionImpl transition = execution.getTransition();
    if (transition!=null) {
      ActivityImpl source = transition.getSource();
      asyncExecutionInfo.put(KEY_TRANSITION_SOURCE, source.getName());
      asyncExecutionInfo.put(KEY_TRANSITION_SOURCE_INDEX, source.getOutgoingTransitions().indexOf(transition));
    }

    asyncExecutionInfo.put(KEY_STATE, execution.getState());
View Full Code Here

  public Object execute(Environment environment) throws Exception {
    Map<String, Object> asyncExecutionInfo = (Map) getConfiguration();

    String transitionSourceName = (String) asyncExecutionInfo.get(KEY_TRANSITION_SOURCE);
    TransitionImpl transition = null;
    if (transitionSourceName!=null) {
      ProcessDefinitionImpl processDefinition = execution.getProcessDefinition();
      ActivityImpl transitionSource = processDefinition.findActivity(transitionSourceName);
      Integer transitionIndex = (Integer) asyncExecutionInfo.get(KEY_TRANSITION_SOURCE_INDEX);
      transition = (TransitionImpl) transitionSource.getOutgoingTransitions().get(transitionIndex);
View Full Code Here

  public boolean isAsync(ExecutionImpl execution) {
    return false;
  }

  public void perform(ExecutionImpl execution) {
    TransitionImpl transition = execution.getTransition();
    ActivityImpl source = transition.getSource();
    ActivityImpl destination = transition.getDestination();
   
    ActivityImpl activity = execution.getActivity();
    if (activity==null) {
      // find outer most activity to start
      activity = destination;
View Full Code Here

        } else {
          parse.addProblem("a transition name is required when a timer is placed on a transition", element);
        }
      }

      TransitionImpl transition = activity.createOutgoingTransition();
      transition.setName(transitionName);

      unresolvedTransitions.add(transition, transitionElement);
     
      jpdlParser.parseOnEvent(transitionElement, parse, transition, Event.TAKE);
    }
View Full Code Here

    List<Element> transitionElements = XmlUtil.elements(element, "transition");
    ActivityImpl activity = parse.findObject(ActivityImpl.class);
    List<TransitionImpl> transitions = (List) activity.getOutgoingTransitions();
   
    for (int i=0; i<transitionElements.size(); i++) {
      TransitionImpl transition = transitions.get(i);
      Element transitionElement = transitionElements.get(i);

      Element conditionElement = XmlUtil.element(transitionElement, "condition");
      if (conditionElement!=null) {
        hasConditions = true;
       
        if (conditionElement.hasAttribute("expr")) {
          String expr = conditionElement.getAttribute("expr");
          String lang = XmlUtil.attribute(conditionElement, "expr-lang");
          ExpressionEvaluatorDescriptor expressionDescriptor = new ExpressionEvaluatorDescriptor(expr, lang);
          transition.setConditionDescriptor(expressionDescriptor);
         
        } else if (conditionElement.hasAttribute("ref")) {
          String expr = conditionElement.getAttribute("ref");
          ReferenceDescriptor refDescriptor = new ReferenceDescriptor(expr);
          transition.setConditionDescriptor(refDescriptor);
         
        } else if (ObjectBinding.isObjectDescriptor(conditionElement)) {
          ObjectDescriptor conditionDescriptor = (ObjectDescriptor) objectBinding.parse(conditionElement, parse, parser);
          transition.setConditionDescriptor(conditionDescriptor);
        }
      }
    }
   
    if (hasConditions) {
View Full Code Here

            if (observableElement instanceof ActivityImpl) {
              if (observableElement.getName()==null) {
                parse.addProblem("async continuation on event listener requires activity name", eventListenerElement);
              }
            } else if (observableElement instanceof TransitionImpl) {
              TransitionImpl transition = (TransitionImpl) observableElement;
              if (transition.getSource().getName()==null) {
                parse.addProblem("async continuation on event listener requires name in the transition source activity", eventListenerElement);
              }
            }
            if ("async".equals(continuationText)) {
              eventListenerReference.setContinuation(Continuation.ASYNCHRONOUS);
View Full Code Here

      if (timerElement!=null) {
        TimerDefinitionImpl timerDefinitionImpl = parseTimerDefinition(timerElement, parse, activity);
        timerDefinitionImpl.setSignalName(transitionName);
      }
 
      TransitionImpl transition = activity.createOutgoingTransition();
      transition.setName(transitionName);
 
      unresolvedTransitions.add(transition, transitionElement);
     
      parseOnEvent(transitionElement, parse, transition, Event.TAKE);
    }
View Full Code Here

  public ExecuteEventListenerMessage(ExecutionImpl execution) {
    super(execution);
   
    Map<String, Object> asyncExecutionInfo = new HashMap<String, Object>();
   
    TransitionImpl transition = execution.getTransition();
    if (transition!=null) {
      ActivityImpl source = transition.getSource();
      asyncExecutionInfo.put(KEY_TRANSITION_SOURCE, source.getName());
      asyncExecutionInfo.put(KEY_TRANSITION_SOURCE_INDEX, source.getOutgoingTransitions().indexOf(transition));
    }

    asyncExecutionInfo.put(KEY_STATE, execution.getState());
View Full Code Here

TOP

Related Classes of org.jbpm.pvm.internal.model.TransitionImpl

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.