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");
   
       }
   
  
  
  

Reply via email to