Package org.jbpm.pvm.internal.model

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


  }
 
  public void execute(ExecutionImpl execution) {
    Activity activity = execution.getActivity();
    List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
    ActivityImpl parentActivity = (ActivityImpl) activity.getParentActivity();

    if ( (parentActivity!=null)
         && ("group".equals(parentActivity.getType()))
       ) {
      // if the end activity itself has an outgoing transition
      // (such end activities should be drawn on the border of the group)
      if ( (outgoingTransitions!=null)
              && (outgoingTransitions.size()==1)
View Full Code Here


      if (activityBinding == null) {
        log.debug("unrecognized activity: " + tagName);
        continue;
      }

      ActivityImpl activity = compositeElement.createActivity();
      parse.pushObject(activity);
      try {
        activity.setType(activityBinding.getTagName());
        activityBinding.parseName(nestedElement, activity, parse);
        parseTransitions(nestedElement, activity, parse);

        Element descriptionElement = XmlUtil.element(documentElement, "description");
        if (descriptionElement!=null) {
          String description = XmlUtil.getContentText(descriptionElement);
          activity.setDescription(description);
        }

        String continuationText = XmlUtil.attribute(nestedElement, "continue");
        if (continuationText!=null) {
          if ("async".equals(continuationText)) {
            activity.setContinuation(Continuation.ASYNCHRONOUS);
          } else if ("exclusive".equals(continuationText)) {
            activity.setContinuation(Continuation.EXCLUSIVE);
          }
        }

        ActivityBehaviour activityBehaviour = (ActivityBehaviour) activityBinding.parse(nestedElement, parse, this);
        activity.setBehaviour(activityBehaviour);

        parseOnEvents(nestedElement, parse, activity);

        String g = XmlUtil.attribute(nestedElement, "g");
        if (g == null) continue;

        StringTokenizer stringTokenizer = new StringTokenizer(g, ",");
        ActivityCoordinatesImpl coordinates = null;
        if (stringTokenizer.countTokens() == 4) {
          try {
            int x = Integer.parseInt(stringTokenizer.nextToken());
            int y = Integer.parseInt(stringTokenizer.nextToken());
            int width = Integer.parseInt(stringTokenizer.nextToken());
            int height = Integer.parseInt(stringTokenizer.nextToken());
            coordinates = new ActivityCoordinatesImpl(x, y, width, height);
          } catch (NumberFormatException e) {
            coordinates = null;
          }
        }
        if (coordinates != null) {
          activity.setCoordinates(coordinates);
        } else {
          parse.addProblem("invalid coordinates g=\"" + g + "\" in " + activity, nestedElement);
        }
      } finally {
        parse.popObject();
View Full Code Here

    this.transitionElement = transitionElement;
  }
  public void resolve(ProcessDefinitionImpl processDefinition, Parse parse) {
    String to = XmlUtil.attribute(transitionElement, "to", true, parse);
    if (to!=null) {
      ActivityImpl destination = (ActivityImpl) processDefinition.findActivity(to);
      if (destination!=null) {
        destination.addIncomingTransition(transition);
      } else {
        parse.addProblem(XmlUtil.errorMessageAttribute(transitionElement, "to", to, "doesn't reference an existing activity name"), transitionElement);
      }
    }
  }
View Full Code Here

   
    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());

    ObservableElementImpl eventSource = (ObservableElementImpl) execution.getEventSource();
View Full Code Here

    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);
      execution.setTransition(transition);
    }

    if (asyncExecutionInfo.containsKey(KEY_EVENT_SOURCE_PROCESS_DEFINITION)){
      ProcessDefinitionImpl processDefinition = execution.getProcessDefinition();
      execution.setEventSource(processDefinition);

    } else if (asyncExecutionInfo.containsKey(KEY_EVENT_SOURCE_ACTIVITY)){
      ProcessDefinitionImpl processDefinition = execution.getProcessDefinition();
      String activityName = (String) asyncExecutionInfo.get(KEY_EVENT_SOURCE_ACTIVITY);
      ActivityImpl activity = processDefinition.findActivity(activityName);
      execution.setEventSource(activity);
   
    } else if (asyncExecutionInfo.containsKey(KEY_EVENT_SOURCE_TRANSITION)){
      execution.setEventSource(transition);
    }
View Full Code Here

  public boolean isAsync(ExecutionImpl execution) {
    return execution.getActivity().isAsync();
  }

  public void perform(ExecutionImpl execution) {
    ActivityImpl activity = execution.getActivity();
   
    if (log.isDebugEnabled()) {
      if (execution.getName()!=null) {
        log.debug(execution.toString()+" executes "+activity);
      } else {
        log.debug("executing "+activity);
      }
    }
   
    ActivityBehaviour activityBehaviour = activity.getActivityBehaviour();
   
    try {
      execution.setPropagation(Propagation.UNSPECIFIED);
      execution.setHistoryActivityStart(Clock.getCurrentTime());
View Full Code Here

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

  public void perform(ExecutionImpl execution) {
    ActivityImpl activity = execution.getActivity();
   
    if (execution.getName()!=null) {
      log.debug(execution.toString()+" signals "+activity);
    } else {
      log.debug("signalling "+activity+", signalName="+signalName);
    }

    ExternalActivityBehaviour externalActivityBehaviour = (ExternalActivityBehaviour) activity.getActivityBehaviour();
   
    try {
      execution.setPropagation(Propagation.UNSPECIFIED);
      externalActivityBehaviour.signal(execution, signalName, parameters);
View Full Code Here

  }

  protected ProcessDefinitionImpl getProcessDefinition(Execution execution) {
    ProcessDefinitionImpl processDefinition = null;
    ExecutionImpl executionImpl = (ExecutionImpl) execution;
    ActivityImpl activity = executionImpl.getActivity();
    TransitionImpl transition = executionImpl.getTransition();
    if (activity!=null) {
      processDefinition = activity.getProcessDefinition();
    }
    if ( (processDefinition==null)
         && (transition!=null)
       ) {
      processDefinition = transition.getProcessDefinition();
View Full Code Here

  public String execute(Environment environment) {
    RepositorySession repositorySession = environment.get(RepositorySession.class);
    ProcessDefinitionImpl processDefinition = repositorySession.findProcessDefinitionById(processDefinitionId);
   
    ActivityImpl activity = processDefinition.getActivity(activityName);
   
    ActivityBehaviour behaviour = activity.getActivityBehaviour();
    if (behaviour instanceof FormBehaviour) {
      return ((FormBehaviour)behaviour).getFormResourceName();
    }

    return null;
View Full Code Here

    }
   
    Set<String> outcomes = new HashSet<String>();
   
    ExecutionImpl execution = (task!=null ? task.getExecution() : null);
    ActivityImpl activity = (execution!=null ? execution.getActivity() : null);
    List<Transition> outgoingTransitions = (activity!=null ? activity.getOutgoingTransitions() : null);

    if (outgoingTransitions!=null) {
      for (Transition transition: outgoingTransitions) {
        outcomes.add(transition.getName());
      }
View Full Code Here

TOP

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

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.