shannon     2002/07/04 11:47:13

  Modified:    src/scratchpad/src/org/apache/cocoon/transformation/pagination
                        Tag: cocoon_2_0_3_branch PageRules.java
                        Pagesheet.java Paginator.java
  Added:       src/scratchpad/src/org/apache/cocoon/transformation/pagination
                        Tag: cocoon_2_0_3_branch Paginator.xconf
  Log:
  Applied patches based
  on NPEs and namespace glitches,
  already fixed in HEAD, without
  touching any code related
  to store.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.1   +10 -5     
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/PageRules.java
  
  Index: PageRules.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/PageRules.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- PageRules.java    22 Feb 2002 16:48:56 -0000      1.3
  +++ PageRules.java    4 Jul 2002 18:47:13 -0000       1.3.2.1
  @@ -59,8 +59,8 @@
    */
   public class PageRules {
   
  -    public String elementName = "";
  -    public String elementURI = "";
  +    public String elementName;
  +    public String elementURI;
       public int elementCount = 1;
       public int charCount = 0;
       public int unitLinks = 0;
  @@ -68,10 +68,15 @@
       public boolean store = false;
   
       public boolean match(String element, String namespace) {
  -        return (this.elementName.equals(element) && 
this.elementURI.equals(namespace));
  +        boolean elementMatches = ((this.elementName != null) && 
this.elementName.equals(element));
  +        if (this.elementURI == null) {
  +            return elementMatches;
  +        } else {
  +            return elementMatches && this.elementURI.equals(namespace);
  +        }
       }
   
       public boolean match(String namespace) {
  -        return this.elementURI.equals(namespace);
  +        return ((this.elementURI != null) && (this.elementURI.equals(namespace)));
       }
   }
  
  
  
  1.5.2.1   +9 -1      
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Pagesheet.java
  
  Index: Pagesheet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Pagesheet.java,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- Pagesheet.java    29 Mar 2002 20:12:08 -0000      1.5
  +++ Pagesheet.java    4 Jul 2002 18:47:13 -0000       1.5.2.1
  @@ -233,6 +233,7 @@
                   } else if (loc.equals("items")) {
                       if (this.itemGroupsPerName == null) this.itemGroupsPerName = 
new HashMap(2);
                       if (this.itemGroupsPerElement == null) 
this.itemGroupsPerElement = new HashMap(2);
  +                    return;
                   }
                   break;
               case 3:
  @@ -255,6 +256,7 @@
                       } else {
                           throw new SAXException("Syntax error: count type not 
supported.");
                       }
  +                    return;
                   } else if (loc.equals("link")) {
                       if (a.getValue("type").equals("unit")) {
                           try {
  @@ -271,6 +273,7 @@
                       } else {
                           throw new SAXException("Syntax error: link type not 
supported.");
                       }
  +                    return;
                   } else if (loc.equals("group")) {
                       String name = a.getValue("name");
                       String elementName = a.getValue("element");
  @@ -352,11 +355,13 @@
       }
   
       public int getTotalItems(String itemGroup) {
  +        if (this.itemListsPerName == null) return 0;
           ItemList list = (ItemList) this.itemListsPerName.get(itemGroup);
           return (list == null) ? 0 : list.size();
       }
   
       public int getPageForItem(int item, String itemGroup) {
  +        if (this.itemListsPerName == null) return 0;
           ItemList list = (ItemList) this.itemListsPerName.get(itemGroup);
           return (list == null) ? 0 : list.getPageForItem(item);
       }
  @@ -367,11 +372,13 @@
       }
   
       public int itemCount(String elementURI, String elementName) {
  +        if (this.itemListsPerElement == null) return 0;
           ItemList list = (ItemList) 
this.itemListsPerElement.get(elementURI+elementName);
           return (list == null) ? 0 : list.size();
       }
   
       public String getItemGroupName(String elementURI, String elementName) {
  +        if (this.itemListsPerElement == null) return null;
           return ((ItemGroup) 
this.itemGroupsPerElement.get(elementURI+elementName)).getName();
       }
   
  @@ -382,6 +389,7 @@
               Page p = (Page) pages.get(page);
               return (p != null) && (p.validInPage(counter));
           } else {
  +            if (this.itemListsPerElement == null) return false;
               ItemList list = (ItemList) this.itemListsPerName.get(itemGroup);
               return (list != null) && (list.valid(item));
           }
  
  
  
  1.7.2.2   +13 -4     
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Paginator.java
  
  Index: Paginator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Paginator.java,v
  retrieving revision 1.7.2.1
  retrieving revision 1.7.2.2
  diff -u -r1.7.2.1 -r1.7.2.2
  --- Paginator.java    11 Jun 2002 23:54:54 -0000      1.7.2.1
  +++ Paginator.java    4 Jul 2002 18:47:13 -0000       1.7.2.2
  @@ -51,16 +51,24 @@
   
   package org.apache.cocoon.transformation.pagination;
   
  +import java.io.IOException;
  +import java.util.HashMap;
  +import java.util.Iterator;
  +import java.util.Map;
  +
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.Component;
  +import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.Composable;
   import org.apache.avalon.framework.parameters.Parameters;
   
  +import org.apache.cocoon.Constants;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.caching.CacheValidity;
   import org.apache.cocoon.caching.Cacheable;
   import org.apache.cocoon.caching.CompositeCacheValidity;
  +import org.apache.cocoon.caching.ParametersCacheValidity;
   import org.apache.cocoon.caching.TimeStampCacheValidity;
   import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.components.store.Store;
  @@ -68,15 +76,16 @@
   import org.apache.cocoon.environment.Request;
   import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.environment.SourceResolver;
  -import org.apache.cocoon.transformation.AbstractTransformer;
   import org.apache.cocoon.util.HashUtil;
  +import org.apache.cocoon.xml.ContentHandlerWrapper;
  +import org.apache.cocoon.xml.XMLConsumer;
  +import org.apache.cocoon.transformation.AbstractTransformer;
   
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
  +import org.xml.sax.helpers.DefaultHandler;
   import org.xml.sax.helpers.AttributesImpl;
   
  -import java.io.IOException;
  -import java.util.Map;
   
   /**
    * A paginating transformer.
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.1   +4 -7      
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Paginator.xconf
  
  Index: Paginator.xconf
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/transformation/pagination/Paginator.xconf,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- Paginator.xconf   2 Jul 2002 12:40:20 -0000       1.2
  +++ Paginator.xconf   4 Jul 2002 18:47:13 -0000       1.2.2.1
  @@ -1,11 +1,8 @@
   <?xml version="1.0"?>
   
  -<xconf xpath="/cocoon" 
unless="component[@role='org.apache.cocoon.transformation.pagination.Paginator']">
  +<xconf xpath="/cocoon" unless="component[paginator]">
   
  -    <!-- ======================= Paginator =========================== -->
  -  <component 
  -     class="org.apache.cocoon.transformation.pagination.Paginator" 
  -     role="org.apache.cocoon.transformation.pagination.Paginator"
  -     logger="core.paginator"/>
  -     
  +  <!-- ======================= Paginator =========================== -->
  +  <component role="org.apache.cocoon.transformation.pagination.Paginator" 
  +             class="org.apache.cocoon.transformation.pagination.Paginator"/>
   </xconf>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to