You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by mp...@apache.org on 2004/04/05 13:38:54 UTC

cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding CustomJXPathBindingBuilder.java

mpo         2004/04/05 04:38:54

  Modified:    src/blocks/forms/java/org/apache/cocoon/forms/binding
                        CustomJXPathBindingBuilder.java
  Log:
  Fixing stupid ArrayIndexOutOfBoundsException.
  Plus changing the method-retrieval to a fallback mechanism.
  
  Revision  Changes    Path
  1.2       +9 -5      cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java
  
  Index: CustomJXPathBindingBuilder.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CustomJXPathBindingBuilder.java	1 Apr 2004 22:49:56 -0000	1.1
  +++ CustomJXPathBindingBuilder.java	5 Apr 2004 11:38:54 -0000	1.2
  @@ -88,12 +88,16 @@
                   
                   Class builderClass = Class.forName(builderClassName);
                   Method factoryMethod = null; 
  -                Object[] args;
  -                if (configNode != null) {                    
  +                Object[] args = null;
  +                try {
                       factoryMethod = builderClass.getMethod(factoryMethodName, DOMELEMENT_METHODARGS);
                       args = new Object[1];
  -                    args[1] = configNode;
  -                } else {
  +                    args[0] = configNode; 
  +                } catch (NoSuchMethodException e) {
  +                    factoryMethod = null;
  +                }
  +                
  +                if (factoryMethod == null) {
                       factoryMethod = builderClass.getMethod(factoryMethodName, EMPTY_METHODARGS);
                       args = null;
                   }