Package domain

Source Code of domain.VolatileProcess

/*
* This file is part of the WfMOpen project.
* Copyright (C) 2001-2003 Danet GmbH (www.danet.de), GS-AN.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*
* $Id: VolatileProcess.java 3002 2009-03-13 22:20:49Z mlipp $
*
* $Log$
* Revision 1.11  2007/09/21 06:19:35  mlipp
* Fixed problem with NamingException during process deletion.
*
* Revision 1.10  2007/07/04 21:32:22  mlipp
* Using local interface whereever possible.
*
* Revision 1.9  2007/05/03 21:58:24  mlipp
* Internal refactoring for making better use of local EJBs.
*
* Revision 1.8  2007/01/25 22:59:04  mlipp
* Fixed result().
*
* Revision 1.7  2006/09/29 12:32:11  drmlipp
* Consistently using WfMOpen as projct name now.
*
* Revision 1.6  2006/03/08 14:46:43  drmlipp
* Synchronized with 1.3.3p5.
*
* Revision 1.5  2005/10/10 20:02:12  mlipp
* Synchronized with 1.3.3.
*
* Revision 1.4  2005/04/22 15:11:06  drmlipp
* Merged changes from 1.3 branch up to 1.3p15.
*
* Revision 1.2.2.3  2005/04/16 21:18:32  drmlipp
* Made audit event filtering more flexible and added possibility to turn
* off audit log.
*
* Revision 1.2.2.2  2005/04/14 21:38:49  drmlipp
* Added new property.
*
* Revision 1.3  2005/02/04 14:25:27  drmlipp
* Synchronized with 1.3rc2.
*
* Revision 1.2.2.1  2005/01/31 15:43:55  drmlipp
* Started implementation of deferred choice.
*
* Revision 1.2  2005/01/05 21:31:01  mlipp
* Implemented new abstract methods.
*
* Revision 1.1.1.3  2004/08/18 15:18:46  drmlipp
* Update to 1.2
*
* Revision 1.44  2004/06/14 19:37:20  lipp
* Fixed assignment functions and cleaned up assignment related
* interfaces.
*
* Revision 1.43  2004/05/05 09:44:07  lipp
* Finished SAX based process creation (no cleanup of old code, yet).
*
* Revision 1.42  2004/03/20 21:08:44  lipp
* Added access to requesting processes' channels.
*
* Revision 1.41  2004/02/13 09:01:15  lipp
* Changed channel message data type to Map which is more appropriate.
*
* Revision 1.40  2004/02/12 14:26:59  lipp
* Adapted to name change.
*
* Revision 1.39  2004/02/12 14:17:03  lipp
* Adapted to extended process interface.
*
* Revision 1.38  2003/09/24 15:19:09  lipp
* Updated to interface changes.
*
* Revision 1.37  2003/09/22 12:56:53  lipp
* Fixed key creation for block activity (must be unique).
*
* Revision 1.36  2003/09/21 21:28:14  lipp
* Introducing "virtual" block activity.
*
* Revision 1.35  2003/06/27 09:44:13  lipp
* Fixed copyright/license information.
*
* Revision 1.34  2003/05/31 20:05:25  lipp
* Added support for different condition types.
*
* Revision 1.33  2003/05/16 08:08:49  lipp
* Handling OTHERWISE condition type.
*
* Revision 1.32  2003/05/14 13:05:06  lipp
* Made creator of subprocess inherited attribute.
*
* Revision 1.31  2003/05/08 08:14:17  lipp
* Adapted to changes.
*
* Revision 1.30  2003/05/05 14:39:50  lipp
* Moved code for removing process automatically to event handling.
*
* Revision 1.29  2003/05/05 07:04:51  lipp
* Handling parameters for sub-flow now.
*
* Revision 1.28  2003/04/26 16:12:35  lipp
* Moved some classes to reduce package dependencies.
*
* Revision 1.27  2003/04/19 18:33:28  lipp
* Improved handling of info.
*
* Revision 1.26  2003/02/03 10:09:27  lipp
* Adapted to latest changes in src.
*
* Revision 1.25  2002/11/26 11:23:29  lipp
* Modified RemoteException comment.
*
* Revision 1.24  2002/11/25 21:16:23  lipp
* Adapted to transition interface changes.
*
* Revision 1.23  2002/11/15 15:13:54  lipp
* Clarified usage of transitions as attribute. Included in caching.
*
* Revision 1.22  2002/11/04 08:40:25  barzik
* adapted to several modifications in the workflow component
*
* Revision 1.21  2002/10/21 19:08:05  lipp
* Continuing implementation of new state handling.
*
* Revision 1.20  2002/10/21 11:54:23  lipp
* Better suspend state handling.
*
* Revision 1.19  2002/10/18 13:46:02  lipp
* Getting on with adaptions...
*
* Revision 1.18  2002/10/09 14:27:33  lipp
* Intermediate, compilable state.
*
* Revision 1.17  2002/10/09 07:30:29  lipp
* log fire events as debug.
*
* Revision 1.16  2002/10/08 15:32:39  lipp
* Providing base implementations for more methods in AbstractActivity.
*
* Revision 1.15  2002/10/02 21:23:25  lipp
* Some adaptations.
*
* Revision 1.14  2002/09/17 06:53:17  huaiyang
* Do not use super.init(null).
*
* Revision 1.13  2002/08/30 11:38:51  lipp
* Added create time as process method.
*
* Revision 1.12  2002/08/30 09:06:40  lipp
* Renamed internal state to typed state and use polymorphism for type
* names where possible.
*
* Revision 1.11  2002/08/30 07:58:19  huaiyang
* Separation of Domain class and persistent class more cleaner.
*
* Revision 1.10  2002/08/29 20:55:34  lipp
* Added last state time persistence and process create time.
*
* Revision 1.9  2002/08/29 14:33:17  huaiyang
* Use createTransitionRef.
*
* Revision 1.8  2002/08/29 11:00:45  huaiyang
* Move operation methods towards domain for new style of procDefSpec.
*
* Revision 1.7  2002/08/28 15:04:34  huaiyang
* New methods in AbstractProcess.
*
* Revision 1.6  2002/08/28 12:58:03  lipp
* Fixed unittests.
*
* Revision 1.5  2002/08/28 12:47:20  lipp
* Starting new process generation.
*
* Revision 1.4  2002/08/28 09:54:51  lipp
* Moving domain logic to domain package...
*
* Revision 1.3  2002/08/27 11:36:37  lipp
* Better use of ProcessDefinition.
*
* Revision 1.2  2002/08/25 20:55:54  lipp
* Clearing up use of ProcessDefinition.
*
* Revision 1.1  2002/08/22 15:19:34  lipp
* Redesign of EJB persistence.
*
*/
package domain;

import java.io.Serializable;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import java.rmi.RemoteException;
import java.security.Principal;

import org.jdom.Element;

import de.danet.an.workflow.internalapi.ExtActivityLocal;
import de.danet.an.workflow.internalapi.ExtProcessLocal;
import de.danet.an.workflow.internalapi.ExtTransitionLocal;
import de.danet.an.workflow.localapi.ActivityLocal;
import de.danet.an.workflow.localapi.ProcessLocal;
import de.danet.an.workflow.localapi.ProcessDefinitionDirectoryLocal;
import de.danet.an.workflow.localapi.TransitionLocal;
import de.danet.an.workflow.localcoreapi.WfActivityLocal;
import de.danet.an.workflow.localcoreapi.WfProcessLocal;
import de.danet.an.workflow.omgcore.CannotChangeRequesterException;
import de.danet.an.workflow.omgcore.InvalidDataException;
import de.danet.an.workflow.omgcore.InvalidPerformerException;
import de.danet.an.workflow.omgcore.ProcessData;
import de.danet.an.workflow.omgcore.ResultNotAvailableException;
import de.danet.an.workflow.omgcore.TransitionNotAllowedException;
import de.danet.an.workflow.omgcore.WfAuditEvent;
import de.danet.an.workflow.omgcore.WfProcess;
import de.danet.an.workflow.omgcore.WfProcessMgr;
import de.danet.an.workflow.omgcore.WfRequester;
import de.danet.an.workflow.omgcore.WfExecutionObject.NotRunningState;
import de.danet.an.workflow.omgcore.WfExecutionObject.State;

import de.danet.an.workflow.api.InvalidKeyException;
import de.danet.an.workflow.api.ProcessDefinition;
import de.danet.an.workflow.api.Process;
import de.danet.an.workflow.api.Transition;
import de.danet.an.workflow.api.Activity.Implementation;
import de.danet.an.workflow.api.Activity.JoinAndSplitMode;
import de.danet.an.workflow.api.Activity.StartFinishMode;

import de.danet.an.workflow.domain.AbstractProcess;
import de.danet.an.workflow.domain.TransitionDefinitionLocal;


/**
* This class implements the persistance layer required by
* <code>AbstractProcess</code> by, well, providing no
* persistence ...
*
* @author <a href="mailto:lipp@danet.de"></a>
* @version $Revision: 3002 $
*/

public class VolatileProcess extends AbstractProcess
    implements ExtProcessLocal {
    /** Persistent attribute <code>id</code>. */
    private String paId;
   
    /** Persistent attribute <code>key</code>. */
    private String paKey;

    /** Persistent attribute <code>name</code>. */
    private String paName;

    /** Persistent attribute <code>createTime</code>. */
    private Date paCreateTime = new Date();

    /** Persistent attribute <code>description</code>. */
    private String paDescription;

    /** Persistent attribute <code>priority</code>. */
    private Priority paPriority = Priority.NORMAL;

    /** Persistent attribute <code>typedState</code>. */
    private State paTypedState;

    /** Persistent attribute <code>lastStateTime</code>. */
    private Date paLastStateTime;

    /** Persistent attribute <code>processMgr</code>. */
    private String paProcessMgr;

    /** Persistent attribute <code>requester</code>. */
    private WfRequester paRequester;

    /** Persistent attribute <code>processDef</code>. */
    private ProcessDefinition paProcessDef;

    /** Persistent attribute <code>processData</code>. */
    private ProcessData paProcessData;
   
    /** Persistent attribute <code>processMgrName</code>. */
    private String paProcessMgrName;

    /** Persistent attribute <code>processMgrVersion</code>. */
    private String paProcessMgrVersion;

    /** Persistent attribute <code>Debug</code>. */
    private boolean paDebug;
   
    /** Persistent attribute <code>auditEventSelection</code>. */
    private int paAuditEventSelection;

    /** Persistent attribute <code>storeAuditEvents</code>. */
    private boolean paStoreAuditEvents;

    // normal attributes
    private Collection activities = new ArrayList();
    private WfProcessMgr pmgr = new VolatileMgr ();

    private static int procKeyGen = 1;

    private List transitions = new ArrayList();

    /**
     * Creates an instance of <code>TestProcess</code>
     * with all attributes initialized to default values.
     * @param key a <code>String</code> value
     */
    public VolatileProcess (String key) {
  setPaLastStateTime (new Date());
  setPaPriority (Priority.NORMAL);
  setPaTypedState (NotRunningState.NOT_STARTED);
  paKey = key; 
    }

    /**
     * Creates an instance of <code>TestProcess</code>
     * with all attributes initialized to default values.
     */
    public VolatileProcess () {
  this (Integer.toString(procKeyGen++));
    }

    /**
     * Describe <code>thisRemote</code> method here.
     *
     * @return a <code>Process</code> value
     */
    public Process toProcess () {
        return new ProcessRemoteWrapper(this);
    }

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public ExtProcessLocal toProcessLocal() {
        return this;
    }

    /**
     * Remove this process.
     */
    protected void removeThis () {
    }

    /**
     * Returns the process manager which created this process.
     * @return the associated process manager.
     */
    public WfProcessMgr manager () {
  return pmgr;
    }

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public void copyProcessDefinition(String procDefXpdl) {
    }

    //
    // Implement abstract methods as unsupported
    //

    /**
     * Describe <code>createTime</code> method here.
     *
     * @return a <code>Date</code> value
     */
    public Date createTime () {
  return getPaCreateTime();
    }

    /**
     * Return the creator of the process.
     * @return the process creator.
     */
    public Principal processCreator() {
  return null;
    }

    /**
     * Return the process this process is a subflow of.
     * @return the process or <code>null</code> if this process is not
     * a subflow
     */
    public ProcessLocal requestingProcessLocal () {
  return null;
    }

    /**
     * Describe <code>setActivities</code> method here.
     *
     * @param act a <code>Collection</code> value
     */
    public void setActivities(Collection act) {
  activities = act;
    }

    /**
     * Describe <code>addActivity</code> method here.
     *
     * @param act an <code>Activity</code> value
     */
    public void addActivity(ActivityLocal act) {
  activities.add(act);
    }

    /**
     * Describe <code>addTransition</code> method here.
     *
     * @param id a <code>String</code> value
     * @param from an <code>Activity</code> value
     * @param to an <code>Activity</code> value
     */
    public void addTransition(String id, String group, int order,
            ActivityLocal from, ActivityLocal to) {
  addTransition(id, group, order, from, to, null);
    }

    /**
     * Describe <code>addTransition</code> method here.
     *
     * @param id a <code>String</code> value
     * @param from an <code>Activity</code> value
     * @param to an <code>Activity</code> value
     * @param cond condition.
     */
    public void addTransition(String id, String group, int order,
            ActivityLocal from, ActivityLocal to, String cond) {
  doCreateTransition(id, group, order, from, to,
         Transition.COND_TYPE_CONDITION, cond);
    }

    /**
     * Gets a list of transitions for this process.
     * @return list of transitions for this process
     */
    public List transitionsLocal() {
        return transitions;
    }

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public List transitionsLocalFrom(String fromActivityKey) {
        List res = new ArrayList();
        for (Iterator iter = transitions.iterator(); iter.hasNext();) {
            TransitionLocal trans = (TransitionLocal)iter.next();
            if (trans.from().key().equals(fromActivityKey)) {
                res.add(trans);
            }
        }
        return res;
    }

    /**
     * Provide a new unique activity key.
     *
     * @return the key.
     */
    protected Long createActivityKey () {
  throw new UnsupportedOperationException ();
    }

    /**
     * Describe <code>createActivity</code> method here.
     *
     * @param actElement an <code>Element</code> value
     * @param jm a <code>JoinAndSplitMode</code> value
     * @param sm a <code>JoinAndSplitMode</code> value
     * @return a <code>WfActivity</code> value
     */
    protected WfActivityLocal createActivity
  (Element actElement, Long blockId,
   JoinAndSplitMode jm, JoinAndSplitMode sm) {
  throw new UnsupportedOperationException();
    }

    /**
     * Factory method that create new persistent objects of type
     * <code>WfActivity</code>. Must be implement by the persistence
     * layer.
     *
     * @param blockActId if the activity is part of a block activity,
     * else <code>null</code>
     * @param priority a <code>Priority</code> value
     * @param name the activity's name
     * @param description activity description
     * @param startMode the start mode
     * @param finishMode the finish mode
     * @param joinMode the join mode
     * @param splitMode the split mode
     * @param implementation the implementation description
     * @param performer the performer
     * @param deadlines the deadlines
     * @param deferChoiceOnSplit if true, choice is to be deferred
     * @param auditEventSelection the audit event selection
     * @param storeAuditEvents if true, audit events are stored in the
     * database
     * @return the created activity.
     */
    protected WfActivityLocal createActivity
  (String blockActId, Priority priority, String name, String description,
   StartFinishMode startMode, StartFinishMode finishMode,
   JoinAndSplitMode joinMode, JoinAndSplitMode splitMode,
   Implementation[] implementation, String performer, List deadlines,
   boolean deferChoiceOnSplit, int auditEventSelection,
   boolean storeAuditEvents) {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>requester</code> method here.
     *
     * @return a <code>WfRequester</code> value
     */
    public WfRequester requester() {
  return new WfRequester () {
    public Collection performers() {
        throw new UnsupportedOperationException();
    }
    public boolean isMemberOfPerformers(WfProcess member) {
        throw new UnsupportedOperationException();
    }
    public void receiveEvent (WfAuditEvent e)
        throws InvalidPerformerException {
        throw new UnsupportedOperationException();
    }
      };
    }

    /**
     * Return the process definition directory.
     * While there is no immediate relation between a process
     * instance and the known process definitions, the definitions
     * nevertheless make up part of the environment of a process.
     * Specifically, this method is needed to start a sub-process
     * in an activity.
     * @return the process definition directory
     */
    public ProcessDefinitionDirectoryLocal processDefinitionDirectoryLocal () {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>getXPDL</code> method here.
     *
     * @return a <code>String</code> value
     */
    public String getXPDL() {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>steps</code> method here.
     *
     * @return a <code>Collection</code> value
     */
    public Collection stepsLocal() {
  return activities;
    }

    /**
     * Describe <code>processDefinition</code> method here.
     *
     * @return a <code>ProcessDefinition</code> value
     */
    public ProcessDefinition processDefinition() {
  throw new UnsupportedOperationException();
    }

    /**
     * Returns <code>true</code> if the process will be removed automatically
     * on completion.
     */
    public boolean removeOnClose () throws RemoteException {
  return false;
    }

    public int cleanupMode () {
        return ProcessDefinition.REMOVE_MANUAL;
    }

    /**
     * Describe <code>history</code> method here.
     *
     * @return a <code>Collection</code> value
     */
    public Collection history() {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>setRequester</code> method here.
     *
     * @param requester a <code>WfRequester</code> value
     * @exception CannotChangeRequesterException if an error occurs
     */
    public void  setRequester(WfRequester requester)
  throws CannotChangeRequesterException {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>activityByKey</code> method here.
     *
     * @param key a <code>String</code> value
     * @return an <code>Activity</code> value
     * @exception InvalidKeyException if an error occurs
     */
    public ActivityLocal activityByKeyLocal (String key) throws
  InvalidKeyException {
  throw new UnsupportedOperationException();
    }

    /**
     * Return an arbitrary activity with the given key. The activity
     * need not belong to this process.
     * @param key activity key
     * @return the activity
     * @throws InvalidKeyException if the activity cannot be found
     */
    protected ExtActivityLocal lookupActivityLocal (String key)
  throws InvalidKeyException {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>processContext</code> method here.
     *
     * @return a <code>ProcessData</code> value
     */
    public ProcessData processContext () {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>complete</code> method here.
     *
     * @param activity a <code>Long</code> value
     * @param s a <code>State</code> value
     */
    public void complete (Long activity, State s) {
  throw new UnsupportedOperationException();
    }

    /**
     * Describe <code>createTransitionRef</code> method here.
     *
     * @param serialNum a <code>long</code> value
     * @param fromActivity an <code>Activity</code> value
     * @param toActivity an <code>Activity</code> value
     */
    protected void createTransitionRef
  (long serialNum, ActivityLocal fromActivity, ActivityLocal toActivity) {
  throw new UnsupportedOperationException();
    }
   
    /**
     * Create a new transition with given id, From Activity, To Activity.
     * @param id a <code>String</code> value
     * @param fromAct an <code>Activity</code> value
     * @param toAct an <code>Activity</code> value
     * @return the created transition.
     */
    protected TransitionLocal createTransition
  (String id, String group, int order, ActivityLocal fromAct,
   ActivityLocal toAct) {
  return doCreateTransition (id,group,order,fromAct,toAct,
           Transition.COND_TYPE_CONDITION,null);
    }

    public static class ExtTransitionDefinition extends TransitionDefinitionLocal
        implements ExtTransitionLocal {

        private boolean pendingToken = false;

        /**
         * @param pid
         * @param tid
         * @param group
         * @param order
         * @param from
         * @param to
         * @param condType
         * @param condition
         */
        public ExtTransitionDefinition(String pid, String tid, String group, int order, ActivityLocal from, ActivityLocal to, int condType, String condition) {
            super(pid, tid, group, order, from, to, condType, condition);
        }

        /* (non-Javadoc)
         * @see de.danet.an.workflow.apix.ExtTransition#hasPendingToken()
         */
        public boolean hasPendingToken() {
            return pendingToken;
        }

        /* (non-Javadoc)
         * @see de.danet.an.workflow.apix.ExtTransition#setPendingToken(boolean)
         */
        public void setPendingToken(boolean value) {
            pendingToken = value;
        }
    }
   
    /**
     * Create a new transition with given id, From Activity, To Activity.
     * @param id a <code>String</code> value
     * @param fromAct an <code>Activity</code> value
     * @param toAct an <code>Activity</code> value
     * @param cond condition.
     * @return the created transition.
     */
    protected TransitionLocal doCreateTransition
  (String id, String group, int order, ActivityLocal fromAct,
   ActivityLocal toAct, int condType, String cond) {
  TransitionLocal trans = new ExtTransitionDefinition
      (paKey,id,group,order,fromAct,toAct,condType,cond);
  transitions.add(trans);
  return trans;
    }

    /**
     * Describe <code>activityRequesterInfo</code> method here.
     *
     * @param req a <code>WfRequester</code> value
     * @return a <code>WfAuditEvent</code> value
     */
    protected WfAuditEvent activityRequesterInfo(WfRequester req) {
  throw new UnsupportedOperationException();
    }

    /**
     * Returns an audit event object with process relevant information
     * initialized.
     * @return the process related information.
     */
    public WfAuditEvent auditEventBase() {
  return auditEventBase(null);
    }

    /**
     * Start a timer that will call <code>handleTimeout</code> at the
     * given date with the given info.
     * @param due target date
     * @param info the context
     */
    public void startTimer (Date due, Serializable info) {
    }

    /**
     * Stop all timers that this object has created.
     */
    public void stopTimers () {
    }

    /**
     * Deliver a message on the given channel to a receiver tool
     * listening on that channel.
     *
     * @param channel the channel name
     * @param message the message
     * @return <code>true</code> if the mesage could be delivered,
     * <code>false</code> if no activity was listening
     * @throws InvalidDataException if the message contains invalid data
     * @ejb.interface-method view-type="remote"
     * @ejb.transaction type="Required"
     */
    public boolean deliverChannelMessage (String channel, Map message)
  throws InvalidDataException {
  throw new UnsupportedOperationException ();
    }

    /**
     * Deliver a message on the given channel to a receiver tool
     * listening on that channel. If no tool is listening, store the
     * message.
     *
     * @param channel the channel name
     * @param message the message
     * @throws InvalidDataException if the message contains invalid data
     * @ejb.interface-method view-type="remote"
     * @ejb.transaction type="Required"
     */
    public void submitChannelMessage (String channel, Map message)
  throws InvalidDataException {
  throw new UnsupportedOperationException ();
    }

    /**
     * Looks for a message on the given channel and if found returns it.
     *
     * @param channel the channel name
     * @return the message or <code>null</code>
     * @ejb.interface-method view-type="remote"
     * @ejb.transaction type="Required"
     */
    public Map lookForMessage (String channel) {
  throw new UnsupportedOperationException ();
    }

    /* (non-Javadoc)
     * @see de.danet.an.workflow.domain.AbstractProcess#result()
     */
    public ProcessData result()
        throws ResultNotAvailableException {
        return paProcessData;
    }
   
    //
    // Implement accessor methods for the persistent attributes
    //

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public boolean choose(ActivityLocal activity)
            throws TransitionNotAllowedException {
        // TODO Auto-generated method stub
        return false;
    }

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public void closeActivity(ActivityLocal activity, State closedState) {
        // TODO Auto-generated method stub
       
    }

    /* (non-Javadoc)
     * Comment copied from interface or superclass.
     */
    public void handleException(ActivityLocal activity, String exceptionName) {
        // TODO Auto-generated method stub
       
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>key</code>.
     *
     * @return the value of key.
     */
    protected String getPaKey() {
  return paKey;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>name</code>.
     *
     * @return the value of name.
     * @see #setPaName
     */
    protected String getPaName() {
  return paName;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>name</code>.
     *
     * @param newName the new value of name.
     * @see #getPaName
     */
    protected void setPaName(String newName) {
  paName = newName;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>description</code>.
     *
     * @return the value of description.
     * @see #setPaDescription
     */
    protected String getPaDescription() {
  return paDescription;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>description</code>.
     *
     * @param newDescription the new value of description.
     * @see #getPaDescription
     */
    protected void setPaDescription(String newDescription) {
  paDescription = newDescription;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>priority</code>.
     *
     * @return the value of priority.
     * @see #setPaPriority
     */
    protected Priority getPaPriority() {
  return paPriority;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>priority</code>.
     *
     * @param newPriority the new value of priority.
     * @see #getPaPriority
     */
    protected void setPaPriority(Priority newPriority) {
  paPriority = newPriority;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>typedState</code>.
     *
     * @return the value of typedState.
     * @see #setPaTypedState
     */
    protected State getPaTypedState() {
  return paTypedState;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>lastStateTime</code>.
     *
     * @return the value of lastStateTime.
     * @see #setPaLastStateTime
     */
    protected Date getPaLastStateTime() {
  return paLastStateTime;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>lastStateTime</code>.
     *
     * @param newLastStateTime the new value of lastStateTime.
     * @see #getPaLastStateTime
     */
    protected void setPaLastStateTime(Date newLastStateTime) {
  paLastStateTime = newLastStateTime;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>typedState</code>.
     *
     * @param newTypedState the new value of typedState.
     * @see #getPaTypedState
     */
    protected void setPaTypedState(State newTypedState) {
  paTypedState = newTypedState;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>processMgr</code>.
     *
     * @return the value of processMgr.
     * @see #setPaProcessMgr
     */
    protected String getPaProcessMgr() {
  return paProcessMgr;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>processMgr</code>.
     *
     * @param newProcessMgr the new value of processMgr.
     * @see #getPaProcessMgr
     */
    protected void setPaProcessMgr(String newProcessMgr) {
  paProcessMgr = newProcessMgr;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>requester</code>.
     *
     * @return the value of requester.
     * @see #setPaRequester
     */
    protected WfRequester getPaRequester() {
  return paRequester;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>requester</code>.
     *
     * @param newRequester the new value of requester.
     * @see #getPaRequester
     */
    protected void setPaRequester(WfRequester newRequester) {
  paRequester = newRequester;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>processDef</code>.
     *
     * @return the value of processDef.
     * @see #setPaProcessDef
     */
    protected ProcessDefinition getPaProcessDef() {
  return paProcessDef;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>processDef</code>.
     *
     * @param newProcessDef the new value of processDef.
     * @see #getPaProcessDef
     */
    protected void setPaProcessDef(ProcessDefinition newProcessDef) {
  paProcessDef = newProcessDef;
    }
   
    /**
     * The getter method implementation for the persistent
     * attribute <code>processData</code>.
     *
     * @return the value of processData.
     * @see #setPaProcessData
     */
    protected ProcessData getPaProcessData() {
  return paProcessData;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>processData</code>.
     *
     * @param newProcessData the new value of processData.
     * @see #getPaProcessData
     */
    protected void setPaProcessData(ProcessData newProcessData) {
  paProcessData = newProcessData;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>processMgrName</code>.
     *
     * @return the value of processMgrName.
     * @see #setPaProcessMgrName
     */
    protected String getPaProcessMgrName() {
  return paProcessMgrName;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>processMgrName</code>.
     *
     * @param newProcessMgrName the new value of processMgrName.
     * @see #getPaProcessMgrName
     */
    protected void setPaProcessMgrName(String newProcessMgrName) {
  paProcessMgrName = newProcessMgrName;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>processMgrVersion</code>.
     *
     * @see #setPaProcessMgrVersion
     * @return the value of processMgrVersion.
     */
    protected String getPaProcessMgrVersion() {
  return paProcessMgrVersion;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>processMgrVersion</code>.
     *
     * @param newProcessMgrVersion the new value of processMgrVersion.
     * @see #getPaProcessMgrVersion
     */
    protected void setPaProcessMgrVersion(String newProcessMgrVersion) {
  paProcessMgrVersion = newProcessMgrVersion;
    }

    /**
     * The getter method for the persistent attribute <code>id</code>.
     *
     * @return the value of process id.
     * @see #setPaId
     */
    protected String getPaId() {
  return paId;
    }

    /**
     * The setter method for the persistent attribute <code>Id</code>.
     *
     * @param newId the new value of process id.
     * @see #getPaId
     */
    protected void setPaId(String newId) {
  paId = newId;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>createTime</code>.
     *
     * @return the value of createTime.
     * @see #setPaCreateTime
     */
    protected Date getPaCreateTime() {
  return paCreateTime;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>blockDeadlines</code>.
     *
     * @see #setPaBlockDeadlines
     * @return the value of blockDeadlines.
     */
    protected Map getPaBlockDeadlines() {
  return new HashMap ();
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>Debug</code>.
     *
     * @see #setPaDebug
     * @return the value of Debug.
     */
    protected boolean getPaDebug() {
  return paDebug;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>Debug</code>.
     *
     * @param newDebug the new value of Debug.
     * @see #getPaDebug
     */
    protected void setPaDebug(boolean newDebug) {
  paDebug = newDebug;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>auditEventSelection</code>.
     *
     * @see #setPaAuditEventSelection
     * @return the value of auditEventSelection.
     */
    protected int getPaAuditEventSelection() {
  return paAuditEventSelection;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>auditEventSelection</code>.
     *
     * @param newAuditEventSelection the new value of auditEventSelection.
     * @see #getPaAuditEventSelection
     */
    protected void setPaAuditEventSelection(int newAuditEventSelection) {
  paAuditEventSelection = newAuditEventSelection;
    }

    /**
     * The getter method implementation for the persistent
     * attribute <code>storeAuditEvents</code>.
     *
     * @see #setPaStoreAuditEvents
     * @return the value of storeAuditEvents.
     */
    protected boolean getPaStoreAuditEvents() {
  return paStoreAuditEvents;
    }

    /**
     * The setter method implementation for the persistent
     * attribute <code>storeAuditEvents</code>.
     *
     * @param newStoreAuditEvents the new value of storeAuditEvents.
     * @see #getPaStoreAuditEvents
     */
    protected void setPaStoreAuditEvents(boolean newStoreAuditEvents) {
  paStoreAuditEvents = newStoreAuditEvents;
    }
}
TOP

Related Classes of domain.VolatileProcess

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.