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]