summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-10-24 13:12:52 +0200
committerAndrew Branson <andrew.branson@cern.ch>2013-10-24 13:12:52 +0200
commit04048a6c4026b47fc6c372e792ffb60726baee56 (patch)
treef45ead5986b8df26d4f9171350638b418fca3e47 /src/main/java/com/c2kernel/lifecycle
parent8b32fe15554c0103585321c3d397f6e46dd451b4 (diff)
Clear of exceptions
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Activity.java24
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java5
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/AndSplit.java6
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java35
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Join.java18
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Loop.java9
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/ParserWF.java356
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Split.java20
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java29
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/Workflow.java23
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java8
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java2
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java8
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java4
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java3
15 files changed, 134 insertions, 416 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
index 6e03d01..bb0ce0d 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java
@@ -109,7 +109,7 @@ public class Activity extends WfVertex
/** cf Item request
* @throws ObjectNotFoundException
* @throws PersistencyException */
- public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectAlreadyExistsException, ObjectNotFoundException, PersistencyException
+ public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
{
// Find requested transition
@@ -249,9 +249,14 @@ public class Activity extends WfVertex
loopTested = false;
return loop2;
}
- /** sets the next activity available if possible */
+ /** sets the next activity available if possible
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
+ * @throws ObjectAlreadyExistsException */
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
setActive(false);
try
@@ -328,10 +333,14 @@ public class Activity extends WfVertex
/**
* called by precedent Activity runNext() for setting the activity able to be executed
* @throws InvalidDataException
+ * @throws ObjectAlreadyExistsException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
* @throws ObjectNotFoundException
+ * @throws PersistencyException
*/
@Override
- public void run(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
Logger.debug(8, getPath() + " run " + getState());
@@ -350,9 +359,14 @@ public class Activity extends WfVertex
/**
* sets the activity available to be executed on start of Workflow or composite activity (when it is the first one of the (sub)process
* @throws InvalidDataException
+ * @throws ObjectAlreadyExistsException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
*/
@Override
- public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
Logger.debug(8, getPath() + " runfirst");
run(agent, itemSysKey);
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java
index 6011c13..6302dc7 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/AdvancementCalculator.java
@@ -3,6 +3,7 @@ package com.c2kernel.lifecycle.instance;
import java.io.Serializable;
import java.util.Hashtable;
+import com.c2kernel.common.InvalidDataException;
import com.c2kernel.graph.model.Vertex;
//import com.c2kernel.utils.Logger;
/** @author XSeb74 */
@@ -27,7 +28,7 @@ public class AdvancementCalculator implements Serializable
HasNextMarked = new Hashtable<Vertex, Vertex>();
hasprevActive = new Hashtable<String, Vertex>();
}
- public void calculate(CompositeActivity act)
+ public void calculate(CompositeActivity act) throws InvalidDataException
{
// Logger.debug(0, act.getName()+" >>>>>>>>>");
if (act instanceof Workflow)
@@ -57,7 +58,7 @@ public class AdvancementCalculator implements Serializable
j++;
if (j != 0 && j==nexts.length) current.HasNextMarked.put(v, nexts[0]);
}
- private void calc(Vertex v, AdvancementCalculator current)
+ private void calc(Vertex v, AdvancementCalculator current) throws InvalidDataException
{
if (current.isMarked.get(v) != null && !(v instanceof Join))
return;
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/AndSplit.java b/src/main/java/com/c2kernel/lifecycle/instance/AndSplit.java
index 3e9ef3c..0ecdb7f 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/AndSplit.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/AndSplit.java
@@ -1,5 +1,9 @@
package com.c2kernel.lifecycle.instance;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.Vertex;
import com.c2kernel.lookup.AgentPath;
/**
@@ -16,7 +20,7 @@ public class AndSplit extends Split
super();
}
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
AdvancementCalculator adv = new AdvancementCalculator();
adv.calculate((CompositeActivity) getParent());
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
index f7d39ae..2f475c7 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/CompositeActivity.java
@@ -5,14 +5,13 @@ import java.util.ArrayList;
import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
import com.c2kernel.common.InvalidTransitionException;
-import com.c2kernel.common.ObjectAlreadyExistsException;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.entity.agent.Job;
import com.c2kernel.graph.model.GraphModel;
import com.c2kernel.graph.model.GraphPoint;
import com.c2kernel.graph.model.GraphableVertex;
import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.scripting.ScriptingEngineException;
import com.c2kernel.utils.Logger;
/**
@@ -21,9 +20,9 @@ import com.c2kernel.utils.Logger;
*/
public class CompositeActivity extends Activity
{
- /**
- * @see java.lang.Object#Object()
- */
+
+ public static final int START = 0;
+ public static final int COMPLETE = 1;
/*
* --------------------------------------------
* ----------------CONSTRUCTOR-----------------
@@ -275,10 +274,14 @@ public class CompositeActivity extends Activity
/**
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
* @see com.c2kernel.lifecycle.instance.WfVertex#run()
*/
@Override
- public void run(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
super.run(agent, itemSysKey);
if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished())
@@ -289,10 +292,10 @@ public class CompositeActivity extends Activity
}
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, AccessRightsException, InvalidTransitionException, ObjectNotFoundException, PersistencyException
{
if (!getStateMachine().getState(state).isFinished())
- getMachine().traverse(Transitions.COMPLETE);
+ request(agent, itemSysKey, CompositeActivity.COMPLETE, null);
super.runNext(agent, itemSysKey);
}
@@ -393,10 +396,11 @@ public class CompositeActivity extends Activity
}
/**
+ * @throws InvalidDataException
*
*/
@Override
- public void reinit(int idLoop)
+ public void reinit(int idLoop) throws InvalidDataException
{
super.reinit(idLoop);
if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished())
@@ -404,16 +408,11 @@ public class CompositeActivity extends Activity
}
@Override
- public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectAlreadyExistsException
+ public void request(AgentPath agent, int itemSysKey, int transitionID, String requestData) throws AccessRightsException, InvalidTransitionException, InvalidDataException, ObjectNotFoundException, PersistencyException
{
- if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished() && transitionID == Transitions.START)
- try
- {
- ((WfVertex) getChildrenGraphModel().getStartVertex()).run(agent);
- } catch (ScriptingEngineException e)
- {
- Logger.error(e);
- }
+ if (getChildrenGraphModel().getStartVertex() != null && !getStateMachine().getState(state).isFinished() && transitionID == CompositeActivity.START)
+ ((WfVertex) getChildrenGraphModel().getStartVertex()).run(agent, itemSysKey);
+
super.request(agent, itemSysKey, transitionID, requestData);
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Join.java b/src/main/java/com/c2kernel/lifecycle/instance/Join.java
index 173f57c..7f50ece 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Join.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Join.java
@@ -1,7 +1,11 @@
package com.c2kernel.lifecycle.instance;
import java.util.Vector;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.Vertex;
import com.c2kernel.graph.traversal.GraphTraversal;
import com.c2kernel.lookup.AgentPath;
@@ -25,10 +29,14 @@ public class Join extends WfVertex
/**
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
* @see com.c2kernel.lifecycle.instance.WfVertex#runNext()
*/
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
AdvancementCalculator adv = new AdvancementCalculator();
adv.calculate((CompositeActivity) getParent());
@@ -142,10 +150,14 @@ public class Join extends WfVertex
}
/**
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
* @see com.c2kernel.lifecycle.instance.WfVertex#run()
*/
@Override
- public void run(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
runNext(agent, itemSysKey);
}
@@ -176,7 +188,7 @@ public class Join extends WfVertex
return loop2;
}
@Override
- public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
runNext(agent, itemSysKey);
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Loop.java b/src/main/java/com/c2kernel/lifecycle/instance/Loop.java
index 76ad7d5..51d6133 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Loop.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Loop.java
@@ -1,5 +1,9 @@
package com.c2kernel.lifecycle.instance;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.Vertex;
import com.c2kernel.graph.traversal.GraphTraversal;
import com.c2kernel.lookup.AgentPath;
@@ -26,7 +30,7 @@ public class Loop extends XOrSplit
return true;
}
@Override
- public void followNext(Next activeNext, AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void followNext(Next activeNext, AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
WfVertex v = activeNext.getTerminusVertex();
if (!isInPrev(v))
@@ -38,10 +42,11 @@ public class Loop extends XOrSplit
}
}
/**
+ * @throws InvalidDataException
* @see com.c2kernel.lifecycle.instance.WfVertex#reinit(int)
*/
@Override
- public void reinit(int idLoop)
+ public void reinit(int idLoop) throws InvalidDataException
{
Logger.msg(8, "Loop.reinit");
if (idLoop == getID())
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/ParserWF.java b/src/main/java/com/c2kernel/lifecycle/instance/ParserWF.java
deleted file mode 100644
index 1e52e6b..0000000
--- a/src/main/java/com/c2kernel/lifecycle/instance/ParserWF.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package com.c2kernel.lifecycle.instance;
-
-import java.io.IOException;
-import java.util.Vector;
-
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.utils.CastorHashMap;
-import com.c2kernel.utils.Logger;
-
-/**
- * @version $Revision: 1.26 $ $Date: 2006/03/03 13:52:21 $
- * @author $Author: abranson $
- */
-public class ParserWF
-{
- static Vector<String[]> nexts;
- static String file = "";
- static int i;
- static CastorHashMap mInfo = new CastorHashMap();
-
- /**
- * Method addStep.
- * @param act
- * @param xmlfile
- * @return CompositeActivity
- * @throws IOException
- */
- /**
- * @associates <{com.c2kernel.lifecycle.instance.Workflow}>
- * @label creates
- */
- public static CompositeActivity addStep(CompositeActivity act, String xmlfile, AgentPath agent) throws IOException
- {
- nexts = new Vector<String[]>(1, 1);
- i = 0;
- file = xmlfile;
- while (i < file.length() - 5)
- {
- if (file.substring(i, i + 5).equals("<STEP"))
- {
- readStep(act);
- }
- else
- {
- i++;
- }
- }
- boolean flag = false;
- for (int j = 0; j < nexts.size(); j++)
- {
- for (int k = j + 1; k < nexts.size(); k++)
- {
- if (nexts.elementAt(j)[0].equals(nexts.elementAt(k)[0]))
- {
- int tmp = act.newSplitChild("And", new GraphPoint(0, 0)).getID();
- ((WfVertex) act.search(nexts.elementAt(k)[0])).addNext(act.search(tmp));
- ((Split) act.search(tmp)).addNext((WfVertex) act.search(nexts.elementAt(k)[1]));
- ((Split) act.search(tmp)).addNext((WfVertex) act.search(nexts.elementAt(j)[1]));
- nexts.removeElementAt(k--);
- flag = true;
- }
- }
- if (flag)
- {
- nexts.removeElementAt(j--);
- }
- flag = false;
- }
- for (int j = 0; j < nexts.size(); j++)
- {
- for (int k = j + 1; k < nexts.size(); k++)
- {
- if (nexts.elementAt(j)[1].equals(nexts.elementAt(k)[1]))
- {
- int tmp = act.newJoinChild(new GraphPoint(0, 0)).getID();
- ((WfVertex) act.search(nexts.elementAt(j)[0])).addNext(act.search(tmp));
- ((WfVertex) act.search(nexts.elementAt(k)[0])).addNext(act.search(tmp));
- ((Join) act.search(tmp)).addNext(nexts.elementAt(j)[1]);
- nexts.removeElementAt(k--);
- flag = true;
- }
- }
- if (flag)
- {
- nexts.removeElementAt(j--);
- }
- flag = false;
- }
- for (int j = 0; j < nexts.size(); j++)
- {
- Logger.msg(
- 7,
- "try to add next " + nexts.elementAt(j)[1] + " to " + nexts.elementAt(j)[0]);
- ((Activity) act.search(nexts.elementAt(j)[0])).addNext(nexts.elementAt(j)[1]);
- }
- if (act instanceof Workflow)
- try
- {
- act.run(agent);
- }
- catch (Exception ex)
- {
- Logger.error(ex);
- }
- return act;
- }
-
- private static void readStep(CompositeActivity parent)
- {
- Activity act = null;
- String[] step = new String[15];
- for (int j = 0; j < 15; j++)
- {
- step[j] = "";
- }
- i += 5;
- while (!file.substring(i, i + 7).equals("</STEP>"))
- {
- if (file.substring(i, i + 5).equals("<STEP"))
- {
- Logger.msg(7, "<STEP");
- if (!step[14].equals("done"))
- {
- act = parent.newCompChild(step[0], step[12].startsWith("true"), new GraphPoint(0, 0));
- }
- readStep((CompositeActivity) act);
- step[14] = "done";
- }
- else if (file.substring(i, i + 3).equals("Id="))
- {
- Logger.msg(7, "Id=");
- i += 4;
- int j = 0;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[0] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 6).equals("Alias="))
- {
- Logger.msg(7, "Alias=");
- i += 7;
- int j = 0;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[10] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 9).equals("Resource="))
- {
- Logger.msg(7, "Ressource=");
- i += 10;
- int j = 0;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[1] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 6).equals("First="))
- {
- Logger.msg(7, "First=");
- i += 7;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[12] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 3).equals("LC="))
- {
- Logger.msg(7, "LC=");
- i += 4;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[2] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 3).equals("WC="))
- {
- Logger.msg(7, "WC=");
- i += 4;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[3] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 6).equals("Posts="))
- {
- Logger.msg(7, "Posts=");
- i += 7;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[4] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 17).equals("Preparation-Time="))
- {
- Logger.msg(7, "Preparation-Time=");
- i += 18;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[5] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 12).equals("Active-Time="))
- {
- Logger.msg(7, "Active-Time=");
- i += 13;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[6] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 13).equals("OP-Startdate="))
- {
- Logger.msg(7, "OP-Startdate=");
- i += 14;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[7] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 11).equals("OP-Enddate="))
- {
- Logger.msg(7, "OP-Enddate=");
- i += 12;
- int j = 0;
- ;
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- step[8] = file.substring(i, i + j);
- i += (j + 1);
- }
- else if (file.substring(i, i + 13).equals("<DESCRIPTION>"))
- {
- Logger.msg(7, "<DESCRIPTION>");
- i += 13;
- int j = 0;
- ;
- while (file.charAt(i + j) != '<')
- {
- j++;
- }
- step[9] = file.substring(i, i + j);
- i += (j + 14);
- }
- else if (file.substring(i, i + 6).equals("<NEXT>"))
- {
- Logger.msg(7, "<NEXT>");
- i += 6;
- int j = 0;
- ;
- String[] tmp = new String[2];
- while (file.charAt(i + j) != '<')
- {
- j++;
- }
- tmp[0] = step[0];
- tmp[0] = parent.getPath() + "/" + tmp[0];
- tmp[1] = file.substring(i, i + j);
- tmp[1] = parent.getPath() + "/" + tmp[1];
- nexts.addElement(tmp);
- i += (j + 8);
- Logger.msg(7, "</NEXT>");
- }
- else if (file.substring(i, i + 5).equals("Path="))
- {
- Logger.msg(7, "Path=");
- i += 6;
- int j = 0;
- ;
- step[11] = file.substring(i, i + j);
- while (file.charAt(i + j) != '"')
- {
- j++;
- }
- i += (j + 1);
- }
- else
- {
- i++;
- }
- }
- i += 7;
- if (!step[14].equals("done"))
- act = parent.newAtomChild(step[0], step[12].startsWith("true"), new GraphPoint(0, 0));
- Logger.msg(7, "Step Created");
-
- try
- {
- Logger.msg(7, "Starting to create info");
- if (!step[1].equals(""))
- act.getProperties().put("Agent ID", step[1]);
- if (!step[2].equals(""))
- act.getProperties().put("Lc", step[2]);
- if (!step[3].equals(""))
- act.getProperties().put("Wc", step[3]);
- if (!step[4].equals(""))
- act.getProperties().put("Posts", step[4]);
- if (!step[5].equals(""))
- act.getProperties().put("PreparationTime", step[5]);
- if (!step[6].equals(""))
- act.getProperties().put("ActiveTime", step[6]);
- if (!step[7].equals(""))
- act.getProperties().put("OpStartdate", step[7]);
- if (!step[8].equals(""))
- act.getProperties().put("OpEnddate", step[8]);
- if (!step[9].equals(""))
- act.getProperties().put("Description", step[9]);
- Logger.msg(7, "create info for " + act.getID());
- Logger.msg(7, "Finished to create info");
- }
- catch (Exception e)
- {
- Logger.error(e);
- }
- file = file.substring(i);
- i = 0;
- }
-}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Split.java b/src/main/java/com/c2kernel/lifecycle/instance/Split.java
index 7ba9db3..a123391 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Split.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Split.java
@@ -2,7 +2,11 @@ package com.c2kernel.lifecycle.instance;
import java.util.Vector;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.Vertex;
import com.c2kernel.graph.traversal.GraphTraversal;
import com.c2kernel.lookup.AgentPath;
@@ -29,10 +33,14 @@ public abstract class Split extends WfVertex
/**
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
* @see com.c2kernel.lifecycle.instance.WfVertex#runNext()
*/
@Override
- public abstract void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException;
+ public abstract void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException;
/**
* Method addNext.
@@ -64,7 +72,7 @@ public abstract class Split extends WfVertex
}
@Override
- public void reinit(int idLoop)
+ public void reinit(int idLoop) throws InvalidDataException
{
Vertex[] outVertices = getOutGraphables();
for (Vertex outVertice : outVertices)
@@ -139,10 +147,14 @@ public abstract class Split extends WfVertex
/**
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
* @see com.c2kernel.lifecycle.instance.WfVertex#run()
*/
@Override
- public void run(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
runNext(agent, itemSysKey);
}
@@ -191,7 +203,7 @@ public abstract class Split extends WfVertex
}
@Override
- public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runFirst(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
runNext(agent, itemSysKey);
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
index b0872c2..271e8df 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
@@ -4,8 +4,12 @@ package com.c2kernel.lifecycle.instance;
import java.util.HashMap;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectAlreadyExistsException;
import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.GraphableVertex;
import com.c2kernel.lifecycle.routingHelpers.ViewpointDataHelper;
import com.c2kernel.lookup.AgentPath;
@@ -25,8 +29,13 @@ public abstract class WfVertex extends GraphableVertex
{
/**sets the activity available to be executed on start of Workflow or composite activity (when it is the first one of the
* (sub)process
- * @throws InvalidDataException */
- public abstract void runFirst(AgentPath agent, int itemSysKey) throws ScriptingEngineException, InvalidDataException;
+ * @throws InvalidDataException
+ * @throws ObjectAlreadyExistsException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException */
+ public abstract void runFirst(AgentPath agent, int itemSysKey) throws ScriptingEngineException, InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, ObjectAlreadyExistsException, PersistencyException;
/**
* @see java.lang.Object#Object()
@@ -41,12 +50,17 @@ public abstract class WfVertex extends GraphableVertex
/**
* Method runNext.
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
+ * @throws ObjectAlreadyExistsException
*/
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
try
{
- ((CompositeActivity)getParent()).request(agent, Transitions.COMPLETE, null);
+ ((CompositeActivity)getParent()).request(agent, itemSysKey, CompositeActivity.COMPLETE, null);
}
catch (Exception e)
{
@@ -78,8 +92,13 @@ public abstract class WfVertex extends GraphableVertex
/**
* Method run.
* @throws InvalidDataException
+ * @throws ObjectAlreadyExistsException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
+ * @throws PersistencyException
*/
- public abstract void run(AgentPath agent, int itemSysKey) throws InvalidDataException;
+ public abstract void run(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException;
/**
* Method loop.
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
index 0ead50d..faf0841 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/Workflow.java
@@ -156,8 +156,11 @@ public class Workflow extends CompositeActivity implements C2KLocalObject
*
* @param systemKey
* @throws InvalidDataException
+ * @throws ObjectNotFoundException
+ * @throws AccessRightsException
+ * @throws InvalidTransitionException
*/
- public void initialise(int systemKey, AgentPath agent) throws InvalidDataException
+ public void initialise(int systemKey, AgentPath agent) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException
{
try
{
@@ -166,18 +169,22 @@ public class Workflow extends CompositeActivity implements C2KLocalObject
catch (InvalidDataException ex)
{
Logger.error(ex);
+ } catch (PersistencyException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
- /**
- * Method calculateJobs.
- *
- * @param type
- * @return JobList
- */
+
/**
* if type = 0 only domain steps will be queried if type = 1 only predefined steps will be queried else both will be queried
+ * @param agent
+ * @param itemSysKey
+ * @param type
+ * @return
+ * @throws ObjectNotFoundException
+ * @throws InvalidDataException
*/
- public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, int type)
+ public ArrayList<Job> calculateJobs(AgentPath agent, int itemSysKey, int type) throws ObjectNotFoundException, InvalidDataException
{
ArrayList<Job> jobs = new ArrayList<Job>();
if (type != 1)
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java b/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java
index 6c11e92..164fabc 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/XOrSplit.java
@@ -3,7 +3,11 @@ package com.c2kernel.lifecycle.instance;
import java.util.ArrayList;
import java.util.StringTokenizer;
+import com.c2kernel.common.AccessRightsException;
import com.c2kernel.common.InvalidDataException;
+import com.c2kernel.common.InvalidTransitionException;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.common.PersistencyException;
import com.c2kernel.graph.model.DirectedEdge;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.scripting.ScriptingEngineException;
@@ -24,7 +28,7 @@ public class XOrSplit extends Split
}
@Override
- public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException
+ public void runNext(AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException
{
ArrayList<DirectedEdge> nextsToFollow = new ArrayList<DirectedEdge>();
String nexts;
@@ -55,7 +59,7 @@ public class XOrSplit extends Split
}
- public void followNext(Next activeNext, AgentPath agent, int itemSysKey) throws InvalidDataException {
+ public void followNext(Next activeNext, AgentPath agent, int itemSysKey) throws InvalidDataException, InvalidTransitionException, AccessRightsException, ObjectNotFoundException, PersistencyException {
activeNext.getTerminusVertex().run(agent, itemSysKey);
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java
index 8d5ba4a..30d014c 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java
@@ -35,7 +35,7 @@ public class AddStepsFromDescription extends PredefinedStep
lifeCycle.initChild(domain, true, new GraphPoint(150, 100));
domain.setName("domain");
domain.setType(actDef.getName());
- lifeCycle.run(agent);
+ lifeCycle.run(agent, itemSysKey);
Gateway.getStorage().put(itemSysKey, lifeCycle, null);
Logger.msg(1, "AddStepsFromDescription::request() - DONE.");
return requestData;
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java
index 2e4b313..5c600e2 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java
@@ -159,7 +159,7 @@ public class CreateItemFromDescription extends PredefinedStep
for (Iterator<String> iter = collections.iterator(); iter.hasNext();) {
colls[0] = iter.next();
// TODO: initialize
- newItem.requestAction(agent.getSysKey(), "workflow/predefined/AddC2KObject", Transitions.DONE, PredefinedStep.bundleData(colls));
+ newItem.requestAction(agent.getSysKey(), "workflow/predefined/AddC2KObject", PredefinedStep.DONE, PredefinedStep.bundleData(colls));
}
}
@@ -168,12 +168,6 @@ public class CreateItemFromDescription extends PredefinedStep
context.setEntity(entityPath);
Gateway.getLDAPLookup().add(context);
return requestData;
- } catch (ObjectAlreadyExistsException e) {
- Logger.error(e);
- throw e;
- } catch (AccessRightsException e) {
- Logger.error(e);
- throw e;
} catch (Exception e) {
Logger.error(e);
throw new InvalidDataException(e.getMessage(), "");
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java
index a9776ed..5369cb2 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java
@@ -19,11 +19,13 @@ import com.c2kernel.utils.Logger;
* @author $Author: sgaspard $ $Date: 2004/09/21 10:32:17 $
* @version $Revision: 1.14 $
**********************************************************************************************************************************************************************************************************************************************************************************************************/
-public class PredefinedStep extends Activity
+public abstract class PredefinedStep extends Activity
{
/*******************************************************************************************************************************************************************************************************************************************************************************************************
* predefined Steps are always Active, and have only one transition subclasses could override this method (if necessary)
******************************************************************************************************************************************************************************************************************************************************************************************************/
+ public static final int DONE = 0;
+ public static final int AVAILABLE = 0;
private boolean isPredefined = false;
@Override
public boolean getActive()
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
index c3334d6..f089a83 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
@@ -16,6 +16,7 @@ import com.c2kernel.entity.TraceableEntity;
import com.c2kernel.events.Event;
import com.c2kernel.events.History;
import com.c2kernel.lifecycle.CompositeActivityDef;
+import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
import com.c2kernel.lookup.DomainPath;
import com.c2kernel.lookup.EntityPath;
import com.c2kernel.persistency.ClusterStorage;
@@ -128,7 +129,7 @@ public class NewItem extends ModuleImport {
}
// write new view/outcome/event
- Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", thisOutcome.schema, thisOutcome.version, thisOutcome.viewname, States.FINISHED);
+ Event newEvent = hist.addEvent("system", "Admin", PredefinedStep.DONE, "Import", "Import", "Import", thisOutcome.schema, thisOutcome.version, thisOutcome.viewname, PredefinedStep.AVAILABLE);
newOutcome.setID(newEvent.getID());
impView.setEventId(newEvent.getID());
try {