Package org.uengine.smcp.twister.engine.priv.core.definition.impl

Source Code of org.uengine.smcp.twister.engine.priv.core.definition.impl.ProcessImpl

package org.uengine.smcp.twister.engine.priv.core.definition.impl;

import org.smartcomps.twister.common.persistence.DBSessionException;
import org.smartcomps.twister.common.persistence.XMLSessionException;
import org.smartcomps.twister.common.persistence.CreationException;
import org.smartcomps.twister.engine.exception.EngineException;
import org.uengine.smcp.twister.engine.priv.core.definition.Activity;
import org.uengine.smcp.twister.engine.priv.core.definition.CorrelationSet;
import org.uengine.smcp.twister.engine.priv.core.definition.Variable;
import org.uengine.smcp.twister.engine.priv.core.definition.Property;
import org.uengine.smcp.twister.engine.priv.core.definition.TwisterProcess;
import org.smartcomps.twister.engine.priv.core.dynamic.ProcessInstance;
import org.smartcomps.twister.engine.priv.core.dynamic.ProcessInstanceFactory;

import java.util.Collection;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;

/**
* Persistent implementation of the TwisterProcess interface.
* @see org.smcp.twister.engine.priv.core.definition.TwisterProcess
*/
public class ProcessImpl implements TwisterProcess {

    private Long id;
    private String name;
    private String namespace;

  /**
   *
   * @uml.property name="activity"
   * @uml.associationEnd
   * @uml.property name="activity" multiplicity="(0 1)"
   */
  private ActivityImpl activity;

  /**
   *
   * @uml.property name="instances"
   * @uml.associationEnd
   * @uml.property name="instances" multiplicity="(0 -1)" elementType="org.smartcomps.twister.engine.priv.core.dynamic.ProcessInstance"
   */
  private Collection instances = new HashSet();

  /**
   *
   * @uml.property name="correlationSets"
   * @uml.associationEnd
   * @uml.property name="correlationSets" multiplicity="(0 -1)" elementType="org.uengine.smcp.twister.engine.priv.core.definition.CorrelationSet"
   */
  private Collection correlationSets = new HashSet();

  /**
   *
   * @uml.property name="properties"
   * @uml.associationEnd
   * @uml.property name="properties" multiplicity="(0 -1)" elementType="org.uengine.smcp.twister.engine.priv.core.definition.Property"
   */
  private Collection properties = new HashSet();

  /**
   *
   * @uml.property name="variables"
   * @uml.associationEnd
   * @uml.property name="variables" multiplicity="(0 -1)" elementType="org.uengine.smcp.twister.engine.priv.core.definition.Variable"
   */
  private Collection variables = new HashSet();

/**
*
* @uml.property name="piFactory"
* @uml.associationEnd
* @uml.property name="piFactory" multiplicity="(1 1)"
*/
//    private Collection partnerLinks = new HashSet();

private ProcessInstanceFactory piFactory = new ProcessInstanceFactory();

  /**
   *
   * @uml.property name="id"
   */
  public Long getId() {
    return id;
  }

  /**
   *
   * @uml.property name="id"
   */
  public void setId(Long id) {
    this.id = id;
  }

  /**
   *
   * @uml.property name="name"
   */
  public String getName() {
    return name;
  }

  /**
   *
   * @uml.property name="name"
   */
  public void setName(String name) {
    this.name = name;
  }

  /**
   *
   * @uml.property name="namespace"
   */
  public String getNamespace() {
    return namespace;
  }

  /**
   *
   * @uml.property name="namespace"
   */
  public void setNamespace(String namespace) {
    this.namespace = namespace;
  }


    public Activity getActivity() {
        return activity;
    }

    public void setActivity(Activity activity) {
        this.activity = (ActivityImpl)activity;
    }

  /**
   *
   * @uml.property name="instances"
   */
  public Collection getInstances() {
    return this.instances;
  }

  /**
   *
   * @uml.property name="instances"
   */
  public void setInstances(Collection instances) {
    this.instances = instances;
  }


    public void addInstance(ProcessInstance context) {
        this.instances.add(context);
    }

  /**
   *
   * @uml.property name="correlationSets"
   */
  public Collection getCorrelationSets() {
    return correlationSets;
  }


    public CorrelationSet getCorrelationSet(String setName) {
        CorrelationSet result = null;
        for (Iterator corIter = correlationSets.iterator(); corIter.hasNext();) {
            CorrelationSet correlationSet = (CorrelationSet) corIter.next();
            if (correlationSet.getName().equals(setName)) {
                result = correlationSet;
            }
        }
        return result;
    }

  /**
   *
   * @uml.property name="correlationSets"
   */
  public void setCorrelationSets(Collection correlationSets) {
    this.correlationSets = correlationSets;
  }


    public void addCorrelationSet(CorrelationSet set) {
        this.correlationSets.add(set);
    }

  /**
   *
   * @uml.property name="properties"
   */
  public Collection getProperties() {
    return properties;
  }


    public Property getProperty(String propName) {
        Property result = null;
        for (Iterator propIter = properties.iterator(); propIter.hasNext();) {
            Property property = (Property) propIter.next();
            if (property.getName().equals(propName)) {
                result = property;
            }
        }
        return result;
    }

  /**
   *
   * @uml.property name="properties"
   */
  public void setProperties(Collection properties) {
    this.properties = properties;
  }


    public void addProperty(Property prop) {
        this.properties.add(prop);
    }

    public ProcessInstance execute(String correlationSetName, Map correlation) throws EngineException {
        return null;
    }

    protected ProcessInstanceFactory getProcessInstanceFactory() {
        if (this.piFactory == null) {
            piFactory = new ProcessInstanceFactory();
        }
        return piFactory;
    }

  /**
   *
   * @uml.property name="variables"
   */
  public Collection getVariables() {
    return variables;
  }

  /**
   *
   * @uml.property name="variables"
   */
  public void setVariables(Collection variables) {
    this.variables = variables;
  }

 
  public void addVariable(Variable variable){
    getVariables().add(variable);
  }
 
  public Variable getVariable(String name){
    return null;//getVariables().
  }
}
TOP

Related Classes of org.uengine.smcp.twister.engine.priv.core.definition.impl.ProcessImpl

TOP
Copyright © 2018 www.massapi.com. 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.