Package org.huihoo.workflow.impl.xpdl

Source Code of org.huihoo.workflow.impl.xpdl.WorkflowPackageImpl

//----------------------------BEGIN LICENSE----------------------------
/*
* Willow : the Open Source WorkFlow Project
* Distributable under GNU LGPL license by gun.org
*
* Copyright (C) 2004-2010 huihoo.org
* Copyright (C) 2004-2010  ZosaTapo <dertyang@hotmail.com>
*
* ====================================================================
* Project Homepage : http://www.huihoo.org/willow
* Source Forge     : http://sourceforge.net/projects/huihoo
* Mailing list     : willow@lists.sourceforge.net
*/
//----------------------------END  LICENSE-----------------------------
package org.huihoo.workflow.impl.xpdl;
import java.util.ArrayList;
import java.util.List;

import org.huihoo.workflow.ComplexComponentObject;
import org.huihoo.workflow.xpdl.ExtendedAttribute;
import org.huihoo.workflow.xpdl.WorkflowApplication;
import org.huihoo.workflow.xpdl.WorkflowPackage;
import org.huihoo.workflow.xpdl.WorkflowPackageHeader;
import org.huihoo.workflow.xpdl.WorkflowParameter;
import org.huihoo.workflow.xpdl.WorkflowProcess;
import org.huihoo.workflow.xpdl.WorkflowScript;
import org.huihoo.workflow.xpdl.XPDLGlobals;
/**
* @author zosatapo
*
* To change the template for this generated type comment go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
public class WorkflowPackageImpl extends ComplexComponentObject implements WorkflowPackage
{
  private WorkflowScript script;
  private WorkflowPackageHeader packageHeader = null;

  private List applications = new ArrayList();
  private List parameters = new ArrayList();
  private List processes = new ArrayList();
 
  public WorkflowPackageImpl()
  {
    super();
  }
 
  public WorkflowPackageImpl(String uuid,String name)
  {
    super(uuid,name);
  }
 
  public WorkflowPackageImpl(String uuid,String name,String description)
  {
    super(uuid,name,description);
  }
 
  public WorkflowPackageHeader getPackageHeader()
  {
    return (this.packageHeader);
  }
  public void setPackageHeader(WorkflowPackageHeader packageHeader)
  {
    this.packageHeader = packageHeader;
  }
  public List getWorkflowApplications()
  {
    return (this.applications);
  }
  public WorkflowApplication findWorkflowApplication(String appId)
  {
    if(appId == null)
    {
      return null;
    }
   
    int sizeApp = applications.size();
    for (int i = 0; i < sizeApp; ++i)
    {
      WorkflowApplication app= (WorkflowApplication) applications.get(i);
      if (appId.equals(app.getUUID()))
      {
        return app;
      }
    }
    return null;
  }

  public WorkflowApplication findWorkflowApplication(String appNameOrID,boolean isID)
  {
    if(appNameOrID == null)
    {
      return null;
    }
   
    if(isID)
    {
      return findWorkflowApplication(appNameOrID);
    }
   
    int sizeApp = applications.size();
    for (int i = 0; i < sizeApp; ++i)
    {
      WorkflowApplication app= (WorkflowApplication) applications.get(i);
      if (appNameOrID.equals(app.getName()))
      {
        return app;
      }
    }
    return null;
  }
   
  public List getWorkflowParameters()
  {
    return (this.parameters);
  }
  public WorkflowParameter findWorkflowParameter(String paramId)
  {
    if(paramId == null)
    {
      return null;
    }
   
    int sizeParam = parameters.size();
    for (int i = 0; i < sizeParam; ++i)
    {
      WorkflowParameter  parameter = (WorkflowParameter) parameters.get(i);
      if (paramId.equals(parameter.getUUID()))
      {
        return parameter;
      }
    }
    return null;
  }
 
  public  WorkflowParameter        findWorkflowParameter(String paramNameOrID,boolean isID)
  {
    if(paramNameOrID == null)
    {
      return null;
    }
   
    if(isID)
    {
      return findWorkflowParameter(paramNameOrID);
    }
   
    int sizeParam = parameters.size();
    for (int i = 0; i < sizeParam; ++i)
    {
      WorkflowParameter  parameter = (WorkflowParameter) parameters.get(i);
      if (paramNameOrID.equals(parameter.getName()))
      {
        return parameter;
      }
    }
    return null;
  }
 
  public List getWorkflowProcesses()
  {
    return (this.processes);
  }
  public WorkflowProcess findWorkflowProcess(String processId)
  {
    if(processId == null)
    {
      return null;
    }
    int sizeProcess = processes.size();
    for (int i = 0; i < sizeProcess; ++i)
    {
      WorkflowProcess workflowProcess = (WorkflowProcess) processes.get(i);
      if (processId.equals(workflowProcess.getUUID()))
      {
        return workflowProcess;
      }
    }
    return null;
  }
 
  public WorkflowProcess findWorkflowProcess(String processNameOrID,boolean isID)
  {
    if(processNameOrID == null)
    {
      return null;
    }
   
    if(isID)
    {
      return findWorkflowProcess(processNameOrID);
    }
   
    int sizeProcess = processes.size();
    WorkflowProcess workflowProcess = null;
    for (int i = 0; i < sizeProcess; ++i)
    {
      workflowProcess = (WorkflowProcess) processes.get(i);
      if (processNameOrID.equals(workflowProcess.getName()))
      {
        return workflowProcess;
      }
    }
    return null;
  }
 
  public WorkflowScript getWorkflowScript()
  {
    return (this.script);
  }
  public void setWorkflowScript(WorkflowScript script_)
  {
    this.script = script_;
  }
 
  //--------------------------------------------------------------------
  public void addWorkflowProcess(WorkflowProcess workflowProcess)
  {
    if(processes.contains(workflowProcess))
    {
      return;
    }
   
    workflowProcess.setWorkflowPackage(this);
    this.processes.add(workflowProcess);
  }
 
  public WorkflowProcess removeWorkflowProcess(WorkflowProcess workflowProcess)
  {
    if(!processes.contains(workflowProcess))
    {
      return null;
    }

    this.processes.remove(workflowProcess);
    workflowProcess.setWorkflowPackage(null);
    return workflowProcess;
  }
   
  public void addWorkflowParameter(WorkflowParameter initParameter)
  {
    if(parameters.contains(initParameter))
    {
      return;
    }
    this.parameters.add(initParameter);
  }
  public WorkflowParameter removeWorkflowParameter(WorkflowParameter initParameter)
  {
    if(!parameters.contains(initParameter))
    {
      return null;
    }

    this.parameters.remove(initParameter);
   
    return initParameter;
  }
   
  public void addWorkflowApplication(WorkflowApplication application)
  {
    if(applications.contains(application))
    {
      return;
    }
   
    this.applications.add(application);
  }

  public WorkflowApplication removeWorkflowApplication(WorkflowApplication application)
  {
    if(!applications.contains(application))
    {
      return null;
    }

    this.applications.remove(application);
    return application;
  }
   
  public WorkflowProcess getMainProcess()
  { 
    ExtendedAttribute attribute =findExtendedAttribute(XPDLGlobals.ID_PROCESS_MAIN);
    if(attribute==null)
    {
      return null;
    }
   
    String mainProcessId= attribute.getValue();   
    return findWorkflowProcess(mainProcessId);
  }

  public String getInfo()
  {
    if(getName()!=null)
    {
      return "package_name="+getName();
    }
    else
    {
      return "package_id="+uuid;
    }
  }
 
  public String getTagName()
  {
    return "Package";
  }
}
TOP

Related Classes of org.huihoo.workflow.impl.xpdl.WorkflowPackageImpl

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.