minchau     2004/10/06 13:04:09

  Modified:    java/src/org/apache/xpath/operations Variable.java
  Log:
  Null Pointer Exception on sorting using a variable
  PR: XALANJ-1942
  Submitted by: Yash Talwar
  Reviewed by:  Brian Minchau
  
  Revision  Changes    Path
  1.24      +7 -12     
xml-xalan/java/src/org/apache/xpath/operations/Variable.java
  
  Index: Variable.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/operations/Variable.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Variable.java     17 Aug 2004 19:25:41 -0000      1.23
  +++ Variable.java     6 Oct 2004 20:04:09 -0000       1.24
  @@ -260,19 +260,18 @@
       // qname.  If we reach the top level, use the StylesheetRoot's composed
       // list of top level variables and parameters.
       
  +    org.apache.xalan.templates.ElemVariable vvar = null;     
       org.apache.xpath.ExpressionNode owner = getExpressionOwner();
   
       if (null != owner && owner instanceof 
org.apache.xalan.templates.ElemTemplateElement)
       {
   
  -      org.apache.xalan.templates.ElemVariable vvar;
  -
         org.apache.xalan.templates.ElemTemplateElement prev = 
           (org.apache.xalan.templates.ElemTemplateElement) owner;
   
         if (!(prev instanceof org.apache.xalan.templates.Stylesheet))
         {            
  -        while ( !(prev.getParentNode() instanceof 
org.apache.xalan.templates.Stylesheet) )
  +        while ( prev != null && !(prev.getParentNode() instanceof 
org.apache.xalan.templates.Stylesheet) )
           {
             org.apache.xalan.templates.ElemTemplateElement savedprev = prev;
   
  @@ -286,20 +285,16 @@
                 {
                   return vvar;
                 }
  +              vvar = null;           
               }
             }
             prev = savedprev.getParentElem();
           }
         }
  -
  -      vvar = prev.getStylesheetRoot().getVariableOrParamComposed(m_qname);
  -      if (null != vvar)
  -      {
  -        return vvar;
  -      }
  -
  +      if (prev != null)
  +        vvar = prev.getStylesheetRoot().getVariableOrParamComposed(m_qname);
       }
  -    return null;
  +    return vvar;
   
     }
     
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to