craigmcc 01/08/26 19:55:54
Modified: workflow/src/java/org/apache/commons/workflow/core
CoreRuleSet.java
workflow/src/java/org/apache/commons/workflow/demo Main.java
main.xml
workflow/src/java/org/apache/commons/workflow/io
IoRuleSet.java
workflow/src/java/org/apache/commons/workflow/web
WebRuleSet.java
Log:
Update the demo program to use the new RuleSet implementations, and fix
some missing/incorrect rule definitions in those implementations.
Revision Changes Path
1.2 +63 -3
jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/core/CoreRuleSet.java
Index: CoreRuleSet.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/core/CoreRuleSet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CoreRuleSet.java 2001/08/27 01:01:39 1.1
+++ CoreRuleSet.java 2001/08/27 02:55:54 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/core/CoreRuleSet.java,v
1.1 2001/08/27 01:01:39 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/27 01:01:39 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/core/CoreRuleSet.java,v
1.2 2001/08/27 02:55:54 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/27 02:55:54 $
*
* ====================================================================
*
@@ -76,7 +76,7 @@
* </pre>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2001/08/27 01:01:39 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/27 02:55:54 $
*/
public class CoreRuleSet extends BaseRuleSet {
@@ -116,40 +116,61 @@
"org.apache.commons.workflow.core.AndStep");
digester.addSetProperties
(prefix + "and");
+ digester.addSetNext
+ (prefix + "and", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "and/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "and/descriptor");
+ digester.addSetNext
+ (prefix + "and/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "duplicate",
"org.apache.commons.workflow.core.DuplicateStep");
digester.addSetProperties
(prefix + "duplicate");
+ digester.addSetNext
+ (prefix + "duplicate", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "exit",
"org.apache.commons.workflow.core.ExitStep");
digester.addSetProperties
(prefix + "exit");
+ digester.addSetNext
+ (prefix + "exit", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "get",
"org.apache.commons.workflow.core.GetStep");
digester.addSetProperties
(prefix + "get");
+ digester.addSetNext
+ (prefix + "get", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "get/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "get/descriptor");
+ digester.addSetNext
+ (prefix + "get/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "goto",
"org.apache.commons.workflow.core.GotoStep");
digester.addSetProperties
(prefix + "goto");
+ digester.addSetNext
+ (prefix + "goto", "addStep",
+ "org.apache.commons.workflow.Step");
// First "descriptor" can be called "bean" for clarity
digester.addObjectCreate
@@ -157,73 +178,112 @@
"org.apache.commons.workflow.core.InvokeStep");
digester.addSetProperties
(prefix + "invoke");
+ digester.addSetNext
+ (prefix + "invoke", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "invoke/bean",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "invoke/bean");
+ digester.addSetNext
+ (prefix + "invoke/bean", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "invoke/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "invoke/descriptor");
+ digester.addSetNext
+ (prefix + "invoke/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "or",
"org.apache.commons.workflow.core.OrStep");
digester.addSetProperties
(prefix + "or");
+ digester.addSetNext
+ (prefix + "or", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "or/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "or/descriptor");
+ digester.addSetNext
+ (prefix + "or/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "pop",
"org.apache.commons.workflow.core.PopStep");
digester.addSetProperties
(prefix + "pop");
+ digester.addSetNext
+ (prefix + "pop", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "put",
"org.apache.commons.workflow.core.PutStep");
digester.addSetProperties
(prefix + "put");
+ digester.addSetNext
+ (prefix + "put", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "put/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "put/descriptor");
+ digester.addSetNext
+ (prefix + "put/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "remove",
"org.apache.commons.workflow.core.RemoveStep");
digester.addSetProperties
(prefix + "remove");
+ digester.addSetNext
+ (prefix + "remove", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "remove/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "remove/descriptor");
+ digester.addSetNext
+ (prefix + "remove/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "string",
"org.apache.commons.workflow.core.StringStep");
digester.addSetProperties
(prefix + "string");
+ digester.addSetNext
+ (prefix + "string", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "suspend",
"org.apache.commons.workflow.core.SuspendStep");
digester.addSetProperties
(prefix + "suspend");
+ digester.addSetNext
+ (prefix + "suspend", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "swap",
"org.apache.commons.workflow.core.SwapStep");
digester.addSetProperties
(prefix + "swap");
+ digester.addSetNext
+ (prefix + "swap", "addStep",
+ "org.apache.commons.workflow.Step");
}
1.2 +17 -176
jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/Main.java
Index: Main.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/Main.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Main.java 2001/08/13 21:16:46 1.1
+++ Main.java 2001/08/27 02:55:54 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/Main.java,v
1.1 2001/08/13 21:16:46 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/13 21:16:46 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/Main.java,v
1.2 2001/08/27 02:55:54 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/27 02:55:54 $
*
* ====================================================================
*
@@ -67,6 +67,10 @@
import org.apache.commons.workflow.Activity;
import org.apache.commons.workflow.Context;
import org.apache.commons.workflow.base.BaseContext;
+import org.apache.commons.workflow.base.BaseRuleSet;
+import org.apache.commons.workflow.core.CoreRuleSet;
+import org.apache.commons.workflow.io.IoRuleSet;
+import org.apache.commons.workflow.web.WebRuleSet;
/**
@@ -92,7 +96,7 @@
* formal release of this technology, because that is key to the extensibility
* of Step implementations.</p>
*
- * @version $Revision: 1.1 $ $Date: 2001/08/13 21:16:46 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/27 02:55:54 $
* @author Craig R. McClanahan
*/
@@ -172,178 +176,15 @@
digester.push(this);
// Add rules to recognize the built-in steps that we know about
-
- digester.addObjectCreate
- ("activity",
- "org.apache.commons.workflow.base.BaseActivity");
- digester.addSetProperties
- ("activity");
- digester.addSetNext
- ("activity",
- "setActivity",
- "org.apache.commons.workflow.Activity");
-
- digester.addObjectCreate
- ("activity/core:duplicate",
- "org.apache.commons.workflow.core.DuplicateStep");
- digester.addSetProperties
- ("activity/core:duplicate");
- digester.addSetNext
- ("activity/core:duplicate",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:exit",
- "org.apache.commons.workflow.core.ExitStep");
- digester.addSetProperties
- ("activity/core:exit");
- digester.addSetNext
- ("activity/core:exit",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:get",
- "org.apache.commons.workflow.core.GetStep");
- digester.addSetProperties
- ("activity/core:get");
- digester.addSetNext
- ("activity/core:get",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:pop",
- "org.apache.commons.workflow.core.PopStep");
- digester.addSetProperties
- ("activity/core:pop");
- digester.addSetNext
- ("activity/core:pop",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:put",
- "org.apache.commons.workflow.core.PutStep");
- digester.addSetProperties
- ("activity/core:put");
- digester.addSetNext
- ("activity/core:put",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:remove",
- "org.apache.commons.workflow.core.RemoveStep");
- digester.addSetProperties
- ("activity/core:remove");
- digester.addSetNext
- ("activity/core:remove",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:string",
- "org.apache.commons.workflow.core.StringStep");
- digester.addSetProperties
- ("activity/core:string");
- digester.addSetNext
- ("activity/core:string",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:suspend",
- "org.apache.commons.workflow.core.SuspendStep");
- digester.addSetProperties
- ("activity/core:suspend");
- digester.addSetNext
- ("activity/core:suspend",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/core:swap",
- "org.apache.commons.workflow.core.SwapStep");
- digester.addSetProperties
- ("activity/core:swap");
- digester.addSetNext
- ("activity/core:swap",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/io:display",
- "org.apache.commons.workflow.io.DisplayStep");
- digester.addSetProperties
- ("activity/io:display");
- digester.addSetNext
- ("activity/io:display",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/io:get",
- "org.apache.commons.workflow.io.GetStep");
- digester.addSetProperties
- ("activity/io:get");
- digester.addSetNext
- ("activity/io:get",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/io:peek",
- "org.apache.commons.workflow.io.PeekStep");
- digester.addSetProperties
- ("activity/io:peek");
- digester.addSetNext
- ("activity/io:peek",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/io:read",
- "org.apache.commons.workflow.io.ReadStep");
- digester.addSetProperties
- ("activity/io:read");
- digester.addSetNext
- ("activity/io:read",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/io:write",
- "org.apache.commons.workflow.io.WriteStep");
- digester.addSetProperties
- ("activity/io:write");
- digester.addSetNext
- ("activity/io:write",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- digester.addObjectCreate
- ("activity/web:forward",
- "org.apache.commons.workflow.web.ForwardStep");
- digester.addSetProperties
- ("activity/web:forward");
- digester.addSetNext
- ("activity/web:forward",
- "addStep",
- "org.apache.commons.workflow.Step");
-
- /* FIXME - pick correct implementation for Servlet 2.2 or 2.3!
- digester.addObjectCreate
- ("activity/web:include",
- "org.apache.commons.workflow.web.IncludeStep");
- digester.addSetProperties
- ("activity/web:include");
- digester.addSetNext
- ("activity/web:include",
- "addStep",
- "org.apache.commons.workflow.Step");
- */
+ BaseRuleSet brs = new BaseRuleSet();
+ digester.addRuleSet(brs);
+ digester.addRuleSet(new CoreRuleSet());
+ digester.addRuleSet(new IoRuleSet());
+
+ // Add a rule to register the Activity being created
+ digester.setRuleNamespaceURI(brs.getNamespaceURI());
+ digester.addSetNext("activity", "setActivity",
+ "org.apache.commons.workflow.Activity");
// Return the completed instance
return (digester);
1.2 +14 -9
jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/main.xml
Index: main.xml
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/demo/main.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- main.xml 2001/08/13 21:16:46 1.1
+++ main.xml 2001/08/27 02:55:54 1.2
@@ -1,14 +1,19 @@
-<activity id="Demostration Activity"
- xmlns:core="http://jakarta.apache.org/workflow/core"
- xmlns:io="http://jakarta.apache.org/workflow/io"
- xmlns:web="http://jakarta.apache.org/workflow/web">
+<base:activity id="Demonstration Activity"
+ xmlns:base="http://jakarta.apache.org/commons/workflow/base"
+ xmlns:core="http://jakarta.apache.org/commons/workflow/core"
+ xmlns:io="http://jakarta.apache.org/commons/workflow/io"
+ xmlns:web="http://jakarta.apache.org/commons/workflow/web">
- <core:string value="This is a string value"/>
+ <core:string id="01" value="This is a string value"/>
- <core:put name="foo"/>
+ <core:put id="02">
+ <core:descriptor name="foo"/>
+ </core:put>
- <core:get name="foo" scope="local"/>
+ <core:get id="03">
+ <core:descriptor xpath="foo"/>
+ </core:get>
- <io:peek/>
+ <io:peek id="04"/>
-</activity>
+</base:activity>
1.2 +21 -3
jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/io/IoRuleSet.java
Index: IoRuleSet.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/io/IoRuleSet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- IoRuleSet.java 2001/08/27 01:01:39 1.1
+++ IoRuleSet.java 2001/08/27 02:55:54 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/io/IoRuleSet.java,v
1.1 2001/08/27 01:01:39 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/27 01:01:39 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/io/IoRuleSet.java,v
1.2 2001/08/27 02:55:54 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/27 02:55:54 $
*
* ====================================================================
*
@@ -76,7 +76,7 @@
* </pre>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2001/08/27 01:01:39 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/27 02:55:54 $
*/
public class IoRuleSet extends BaseRuleSet {
@@ -116,35 +116,53 @@
"org.apache.commons.workflow.io.DisplayStep");
digester.addSetProperties
(prefix + "display");
+ digester.addSetNext
+ (prefix + "display", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "display/descriptor",
"org.apache.commons.workflow.base.BaseDescriptor");
digester.addSetProperties
(prefix + "display/descriptor");
+ digester.addSetNext
+ (prefix + "display/descriptor", "addDescriptor",
+ "org.apache.commons.workflow.Descriptor");
digester.addObjectCreate
(prefix + "get",
"org.apache.commons.workflow.io.GetStep");
digester.addSetProperties
(prefix + "get");
+ digester.addSetNext
+ (prefix + "get", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "peek",
"org.apache.commons.workflow.io.PeekStep");
digester.addSetProperties
(prefix + "peek");
+ digester.addSetNext
+ (prefix + "peek", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "read",
"org.apache.commons.workflow.io.ReadStep");
digester.addSetProperties
(prefix + "read");
+ digester.addSetNext
+ (prefix + "read", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "write",
"org.apache.commons.workflow.io.WriteStep");
digester.addSetProperties
(prefix + "write");
+ digester.addSetNext
+ (prefix + "write", "addStep",
+ "org.apache.commons.workflow.Step");
}
1.2 +7 -1
jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/web/WebRuleSet.java
Index: WebRuleSet.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/web/WebRuleSet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WebRuleSet.java 2001/08/27 01:01:39 1.1
+++ WebRuleSet.java 2001/08/27 02:55:54 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/web/WebRuleSet.java,v
1.1 2001/08/27 01:01:39 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2001/08/27 01:01:39 $
+ * $Header:
/home/cvs/jakarta-commons-sandbox/workflow/src/java/org/apache/commons/workflow/web/WebRuleSet.java,v
1.2 2001/08/27 02:55:54 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2001/08/27 02:55:54 $
*
* ====================================================================
*
@@ -60,7 +60,7 @@
*/
-package org.apache.commons.workflow.io;
+package org.apache.commons.workflow.web;
import org.apache.commons.digester.Digester;
@@ -76,7 +76,7 @@
* </pre>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2001/08/27 01:01:39 $
+ * @version $Revision: 1.2 $ $Date: 2001/08/27 02:55:54 $
*/
public class WebRuleSet extends BaseRuleSet {
@@ -116,12 +116,18 @@
"org.apache.commons.workflow.web.ForwardStep");
digester.addSetProperties
(prefix + "forward");
+ digester.addSetNext
+ (prefix + "forward", "addStep",
+ "org.apache.commons.workflow.Step");
digester.addObjectCreate
(prefix + "include",
getIncludeClass());
digester.addSetProperties
(prefix + "include");
+ digester.addSetNext
+ (prefix + "include", "addStep",
+ "org.apache.commons.workflow.Step");
}