You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sk...@apache.org on 2005/01/18 01:11:12 UTC

cvs commit: jakarta-commons/digester/src/java/org/apache/commons/digester/xmlrules DigesterRuleParser.java digester-rules.dtd

skitching    2005/01/17 16:11:12

  Modified:    digester/src/java/org/apache/commons/digester/xmlrules
                        DigesterRuleParser.java digester-rules.dtd
  Log:
  Add support for "stack-index" feature of CallParamRule. Patch by
  Kris Nuttycombe, inspired by Blake Meike.
  
  Revision  Changes    Path
  1.32      +13 -13    jakarta-commons/digester/src/java/org/apache/commons/digester/xmlrules/DigesterRuleParser.java
  
  Index: DigesterRuleParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/xmlrules/DigesterRuleParser.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- DigesterRuleParser.java	12 Jan 2005 10:47:03 -0000	1.31
  +++ DigesterRuleParser.java	18 Jan 2005 00:11:12 -0000	1.32
  @@ -577,26 +577,26 @@
               int paramIndex = Integer.parseInt(attributes.getValue("paramnumber"));
               String attributeName = attributes.getValue("attrname");
               String fromStack = attributes.getValue("from-stack");
  +            String stackIndex = attributes.getValue("stack-index");
               Rule callParamRule = null;
  +
               if (attributeName == null) {
  -                if (fromStack == null) {
  -                
  -                    callParamRule = new CallParamRule( paramIndex );
  -                
  +                if (stackIndex != null) {                    
  +                    callParamRule = new CallParamRule(
  +                        paramIndex, Integer.parseInt(stackIndex));                
  +                } else if (fromStack != null) {                
  +                    callParamRule = new CallParamRule(
  +                        paramIndex, Boolean.valueOf(fromStack).booleanValue());                
                   } else {
  -
  -                    callParamRule = new CallParamRule( paramIndex, Boolean.valueOf(fromStack).booleanValue());
  -                    
  +                    callParamRule = new CallParamRule(paramIndex);     
                   }
               } else {
                   if (fromStack == null) {
  -                    
  -                    callParamRule = new CallParamRule( paramIndex, attributeName );
  -                    
  -                    
  +                    callParamRule = new CallParamRule(paramIndex, attributeName);                    
                   } else {
                       // specifying both from-stack and attribute name is not allowed
  -                    throw new RuntimeException("Attributes from-stack and attrname cannot both be present.");
  +                    throw new RuntimeException(
  +                        "Attributes from-stack and attrname cannot both be present.");
                   }
               }
               return callParamRule;
  
  
  
  1.15      +4 -3      jakarta-commons/digester/src/java/org/apache/commons/digester/xmlrules/digester-rules.dtd
  
  Index: digester-rules.dtd
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/xmlrules/digester-rules.dtd,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- digester-rules.dtd	14 Jan 2005 11:04:31 -0000	1.14
  +++ digester-rules.dtd	18 Jan 2005 00:11:12 -0000	1.15
  @@ -114,7 +114,8 @@
       pattern  CDATA #IMPLIED
       paramnumber CDATA #REQUIRED
       attrname CDATA #IMPLIED
  -    from-stack CDATA #IMPLIED>
  +    from-stack CDATA #IMPLIED
  +    stack-index CDATA #IMPLIED>
       
   <!--
       ObjectParamRule
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org