mmidy       01/07/17 11:18:06

  Modified:    java/src/org/apache/xalan/templates ElemNumber.java
               java/src/org/apache/xalan/transformer Counter.java
                        CountersTable.java KeyRefIterator.java
               java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
               java/src/org/apache/xpath NodeSetDTM.java
               java/src/org/apache/xpath/axes LocPathIterator.java
                        UnionPathIterator.java WalkingIteratorSorted.java
               java/src/org/apache/xpath/objects XNodeSet.java
                        XRTreeFrag.java
  Log:
  Add new parameter to NodeSetDTM constructor. We need to have a DTMManager on 
hand. Change code to use the new constructors.
  
  Revision  Changes    Path
  1.21      +1 -1      
xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java
  
  Index: ElemNumber.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- ElemNumber.java   2001/06/15 05:13:54     1.20
  +++ ElemNumber.java   2001/07/17 18:17:33     1.21
  @@ -957,7 +957,7 @@
               throws javax.xml.transform.TransformerException
     {
   
  -    NodeSetDTM ancestors = new NodeSetDTM();
  +    NodeSetDTM ancestors = new NodeSetDTM(xctxt.getDTMManager());
       XPath countMatchPattern = getCountMatchPattern(xctxt, node);
       DTM dtm = xctxt.getDTM(node);
   
  
  
  
  1.10      +3 -3      
xml-xalan/java/src/org/apache/xalan/transformer/Counter.java
  
  Index: Counter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/Counter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Counter.java      2001/06/15 05:14:05     1.9
  +++ Counter.java      2001/07/17 18:17:37     1.10
  @@ -96,7 +96,7 @@
     /**
      * A vector of all nodes counted so far.
      */
  -  NodeSetDTM m_countNodes = new NodeSetDTM();
  +  NodeSetDTM m_countNodes;
   
     /**
      * The node from where the counting starts.  This is needed to
  @@ -137,11 +137,11 @@
      * @param numberElem The owning xsl:number element. 
      *
      * @throws TransformerException
  -   */
  +   *
     Counter(ElemNumber numberElem) throws TransformerException
     {
       m_numberElem = numberElem;
  -  }
  +  }*/
   
     /**
      * Try and find a node that was previously counted. If found,
  
  
  
  1.9       +4 -2      
xml-xalan/java/src/org/apache/xalan/transformer/CountersTable.java
  
  Index: CountersTable.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/CountersTable.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- CountersTable.java        2001/06/15 05:14:06     1.8
  +++ CountersTable.java        2001/07/17 18:17:38     1.9
  @@ -123,7 +123,7 @@
     /**
      * Place to collect new counters.
      */
  -  transient private NodeSetDTM m_newFound = new NodeSetDTM();
  +  transient private NodeSetDTM m_newFound;
   
     /**
      * Add a list of counted nodes that were built in backwards document
  @@ -192,6 +192,8 @@
         // of forward counting by one, this will mean a single node copy from 
         // the backwards list (m_newFound) to the forwards list 
(counter.m_countNodes).
         count = 0;
  +      if (m_newFound == null)
  +        m_newFound = new NodeSetDTM(support.getDTMManager());
   
         for (; DTM.NULL != target;
                 target = numberElem.getPreviousNode(support, target))
  @@ -230,7 +232,7 @@
   
         // If we got to this point, then we didn't find a counter, so make 
         // one and add it to the list.
  -      Counter counter = new Counter(numberElem);
  +      Counter counter = new Counter(numberElem, new 
NodeSetDTM(support.getDTMManager()));
   
         m_countersMade++;  // for diagnostics
   
  
  
  
  1.10      +2 -2      
xml-xalan/java/src/org/apache/xalan/transformer/KeyRefIterator.java
  
  Index: KeyRefIterator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/KeyRefIterator.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- KeyRefIterator.java       2001/06/19 21:36:01     1.9
  +++ KeyRefIterator.java       2001/07/17 18:17:39     1.10
  @@ -115,12 +115,12 @@
     public KeyRefIterator(XMLString ref, KeyIterator ki)
     {
   
  -    super(ki.getPrefixResolver());
  -    setShouldCacheNodes(true);
  +    super(ki.getPrefixResolver());   
       m_ki = ki;
       m_name = ki.getName();
       m_lookupKey = ref;
       this.m_execContext = ki.getXPathContext();
  +    setShouldCacheNodes(true);
     }
   
     /**
  
  
  
  1.13      +6 -15     
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTM.java
  
  Index: DOM2DTM.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTM.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DOM2DTM.java      2001/07/13 20:19:10     1.12
  +++ DOM2DTM.java      2001/07/17 18:17:45     1.13
  @@ -636,27 +636,18 @@
      */
     private int getHandleFromNode(Node node)
     {
  +    // %TBD% Will this ever be called with Nodes that haven't yet been built?
  +    // Do we need to be prepared to call nextNode()?
       if (null != node)
       {
  -      int len = m_nodes.size();        
  -      boolean isMore;
  -      int i = 0;
  -      do
  -      {          
  -        for (; i < len; i++)
  +      int len = m_nodes.size();
  +      for (int i = 0; i < len; i++)
           {
             if (m_nodes.elementAt(i) == node)
  -            return i | m_dtmIdent;         
  +            return i | m_dtmIdent;
           }
  -
  -        isMore = nextNode();
  -  
  -        len = m_nodes.size();
  -            
  -      } 
  -      while(isMore || i < len);
       }
  -    
  +
       return DTM.NULL;
     }
   
  
  
  
  1.2       +16 -7     xml-xalan/java/src/org/apache/xpath/NodeSetDTM.java
  
  Index: NodeSetDTM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/NodeSetDTM.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NodeSetDTM.java   2001/06/15 05:15:19     1.1
  +++ NodeSetDTM.java   2001/07/17 18:17:49     1.2
  @@ -103,9 +103,10 @@
     /**
      * Create an empty nodelist.
      */
  -  public NodeSetDTM()
  +  public NodeSetDTM(DTMManager dtmManager)
     {
       super();
  +    m_manager = dtmManager;
     }
   
     /**
  @@ -114,9 +115,10 @@
      * @param blocksize Size of blocks to allocate 
      * @param dummy pass zero for right now...
      */
  -  public NodeSetDTM(int blocksize, int dummy)
  +  public NodeSetDTM(int blocksize, int dummy, DTMManager dtmManager)
     {
       super(blocksize);
  +    m_manager = dtmManager;
     }
   
     // %TBD%
  @@ -144,6 +146,7 @@
     {
   
       super();
  +    m_manager = nodelist.getDTMManager();
   
       addNodes((DTMIterator) nodelist);
     }
  @@ -159,6 +162,7 @@
   
       super();
   
  +    m_manager = ni.getDTMManager();
       addNodes(ni);
     }
     
  @@ -174,6 +178,7 @@
       super();
   
       Node node;
  +    m_manager = xctxt.getDTMManager();
   
       while (null != (node = iterator.nextNode()))
       {
  @@ -187,10 +192,11 @@
      *
      * @param node Single node to be added to the new set.
      */
  -  public NodeSetDTM(int node)
  +  public NodeSetDTM(int node, DTMManager dtmManager)
     {
   
       super();
  +    m_manager = dtmManager;
   
       addNode(node);
     }
  @@ -351,10 +357,13 @@
      */
     public DTM getDTM(int nodeHandle)
     {
  -    // %TBD%
  -    return null;
  +    
  +    return m_manager.getDTM(nodeHandle);
     }
     
  +  /* An instance of the DTMManager. */
  +  DTMManager m_manager;
  +  
     /**
      * Get an instance of the DTMManager.  Since a node 
      * iterator may be passed without a DTMManager, this allows the 
  @@ -364,8 +373,8 @@
      */
     public DTMManager getDTMManager()
     {
  -    // %TBD%
  -    return null;
  +    
  +    return m_manager;
     }
   
     /**
  
  
  
  1.30      +1 -1      
xml-xalan/java/src/org/apache/xpath/axes/LocPathIterator.java
  
  Index: LocPathIterator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/LocPathIterator.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- LocPathIterator.java      2001/06/24 21:54:49     1.29
  +++ LocPathIterator.java      2001/07/17 18:17:53     1.30
  @@ -419,7 +419,7 @@
       {
         if(null == m_cachedNodes)
         {
  -        m_cachedNodes = new NodeSetDTM();
  +        m_cachedNodes = new NodeSetDTM(getDTMManager());
         }
       }
       else
  
  
  
  1.22      +1 -1      
xml-xalan/java/src/org/apache/xpath/axes/UnionPathIterator.java
  
  Index: UnionPathIterator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/UnionPathIterator.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- UnionPathIterator.java    2001/06/24 21:54:49     1.21
  +++ UnionPathIterator.java    2001/07/17 18:17:54     1.22
  @@ -240,7 +240,7 @@
     {
   
       if (b)
  -      m_cachedNodes = new NodeSetDTM();
  +      m_cachedNodes = new NodeSetDTM(getDTMManager());
       else
         m_cachedNodes = null;
     }
  
  
  
  1.4       +1 -1      
xml-xalan/java/src/org/apache/xpath/axes/WalkingIteratorSorted.java
  
  Index: WalkingIteratorSorted.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/WalkingIteratorSorted.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WalkingIteratorSorted.java        2001/06/23 03:54:30     1.3
  +++ WalkingIteratorSorted.java        2001/07/17 18:17:55     1.4
  @@ -38,7 +38,7 @@
               throws javax.xml.transform.TransformerException
     {
       super(compiler, opPos, analysis, shouldLoadWalkers);
  -    this.setShouldCacheNodes(true);
  +    //this.setShouldCacheNodes(true);
     }
     
     /**
  
  
  
  1.17      +2 -2      xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java
  
  Index: XNodeSet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- XNodeSet.java     2001/06/21 01:55:18     1.16
  +++ XNodeSet.java     2001/07/17 18:18:01     1.17
  @@ -104,7 +104,7 @@
      */
     public XNodeSet(DTMManager dtmMgr)
     {
  -    super(new NodeSetDTM());
  +    super(new NodeSetDTM(dtmMgr));
       m_dtmMgr = dtmMgr;
     }
   
  @@ -116,7 +116,7 @@
     public XNodeSet(int n, DTMManager dtmMgr)
     {
   
  -    super(new NodeSetDTM());
  +    super(new NodeSetDTM(dtmMgr));
       m_dtmMgr = dtmMgr;
   
       if (DTM.NULL != n)
  
  
  
  1.17      +1 -1      
xml-xalan/java/src/org/apache/xpath/objects/XRTreeFrag.java
  
  Index: XRTreeFrag.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XRTreeFrag.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- XRTreeFrag.java   2001/06/15 17:54:27     1.16
  +++ XRTreeFrag.java   2001/07/17 18:18:02     1.17
  @@ -116,7 +116,7 @@
      */
     public Object object()
     {
  -    return new org.apache.xml.dtm.ref.DTMNodeIterator((DTMIterator)(new 
org.apache.xpath.NodeSetDTM(m_dtmRoot)));
  +    return new org.apache.xml.dtm.ref.DTMNodeIterator((DTMIterator)(new 
org.apache.xpath.NodeSetDTM(m_dtmRoot, m_xctxt.getDTMManager())));
     }
     
     /**
  
  
  

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

Reply via email to