diff options
Diffstat (limited to 'source/com/c2kernel/lifecycle/instance/Split.java')
| -rw-r--r-- | source/com/c2kernel/lifecycle/instance/Split.java | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/source/com/c2kernel/lifecycle/instance/Split.java b/source/com/c2kernel/lifecycle/instance/Split.java deleted file mode 100644 index 4fe1bfc..0000000 --- a/source/com/c2kernel/lifecycle/instance/Split.java +++ /dev/null @@ -1,225 +0,0 @@ -package com.c2kernel.lifecycle.instance;
-
-import java.util.Vector;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.traversal.GraphTraversal;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.scripting.ScriptingEngineException;
-
-/**
- * @version $Revision: 1.47 $ $Date: 2006/05/29 13:17:45 $
- * @author $Author: abranson $
- */
-public abstract class Split extends WfVertex
-{
- public Vector<String> mErrors;
-
- /**
- * @see java.lang.Object#Object()
- */
- public Split()
- {
- mErrors = new Vector<String>(0, 1);
- getProperties().put("RoutingScriptName", "");
- getProperties().put("RoutingScriptVersion", "");
- }
-
- private boolean loopTested;
-
- private int mItemSystemKey = -1;
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#runNext()
- */
- @Override
- public abstract void runNext(AgentPath agent) throws ScriptingEngineException;
-
- /**
- * Method addNext.
- *
- * @param idNext
- */
- void addNext(String idNext)
- {
- new Next(this, (WfVertex) getParent().search(idNext));
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#addNext(com.c2kernel.lifecycle.instance.WfVertex)
- */
- @Override
- public Next addNext(WfVertex vertex)
- {
- Next nxt = new Next(this, vertex);
- int num = getOutGraphables().length;
- try
- {
- num = Integer.parseInt((String) getProperties().get("LastNum"));
- } catch (Exception e)
- {
- }
- nxt.getProperties().put("Alias", String.valueOf(num));
- getProperties().put("LastNum", String.valueOf(num + 1));
- return nxt;
- }
-
- /**
- * Method getItemSystemKey.
- *
- * @return int
- */
- public int getItemSystemKey()
- {
- return mItemSystemKey;
- }
-
- /**
- * Method setItemSystemKey.
- *
- * @param itemSystemKey
- */
- public void setItemSystemKey(int itemSystemKey)
- {
- mItemSystemKey = itemSystemKey;
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#reinit(int)
- */
- // public void initItemSystemKey(String systemKey) {
- // setItemSystemKey(systemKey);
- // }
- @Override
- public void reinit(int idLoop)
- {
- Vertex[] outVertices = getOutGraphables();
- for (Vertex outVertice : outVertices)
- ((WfVertex) outVertice).reinit(idLoop);
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#verify()
- */
- @Override
- public boolean verify()
- {
- mErrors.removeAllElements();
- int nbInEdgres = getParent().getChildrenGraphModel().getInEdges(this).length;
- if (nbInEdgres == 0 && this.getID() != getParent().getChildrenGraphModel().getStartVertexId())
- {
- mErrors.add("not enough previous");
- return false;
- }
- if (nbInEdgres > 1)
- {
- mErrors.add("Bad nb of previous");
- return false;
- }
- if (getOutEdges().length <= 1 && !(this instanceof Loop))
- {
- mErrors.add("not enough next");
- return false;
- }
- if (!(this instanceof Loop))
- {
- Vertex[] outV = getOutGraphables();
- Vertex[] anteVertices = GraphTraversal.getTraversal(getParent().getChildrenGraphModel(), this, GraphTraversal.kUp, false);
- boolean loop = false;
- boolean errInLoop = true;
- for (int i = 0; i < outV.length; i++)
- {
- for (int j = 0; j < anteVertices.length; j++)
- if (!loop && outV[i].getID() == anteVertices[j].getID())
- {
- if (outV[i] instanceof Loop)
- {
- loop = true;
- j = anteVertices.length;
- i = outV.length;
- } else
- {
- errInLoop = false;
- }
- }
- }
- if (errInLoop && loop)
- {
- mErrors.add("Problem in Loop");
- return false;
- }
- }
- return true;
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#getErrors()
- */
- @Override
- public String getErrors()
- {
- if (mErrors.size() == 0)
- return "No error";
- else
- return mErrors.elementAt(0);
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#run()
- */
- @Override
- public void run(AgentPath agent) throws ScriptingEngineException
- {
- runNext(agent);
- }
-
- /**
- * @see com.c2kernel.lifecycle.instance.WfVertex#loop()
- */
- @Override
- public boolean loop()
- {
- boolean loop2 = false;
- if (!loopTested)
- {
- loopTested = true;
- if (getOutGraphables().length != 0)
- {
- Vertex[] outVertices = getOutGraphables();
- for (int i = 0; i < outVertices.length; i++)
- {
- WfVertex tmp = (WfVertex) getOutGraphables()[i];
- loop2 = loop2 || tmp.loop();
- }
- }
- }
- loopTested = false;
- return loop2;
- }
-
- public String[] nextNames()
- {
- Vertex[] vs = getOutGraphables();
- String[] result = new String[vs.length];
- for (int i = 0; i < vs.length; i++)
- result[i] = vs[i].getName();
- return result;
- }
-
- protected boolean isInTable(String test, String[] list)
- {
- if (test == null)
- return false;
- for (String element : list)
- if (test.equals(element))
- return true;
- return false;
- }
-
- @Override
- public void runfirst(AgentPath agent) throws ScriptingEngineException
- {
- runNext(agent);
- }
-
-}
\ No newline at end of file |
