stefano 2002/06/27 10:44:42
Modified: src/scratchpad/src/org/apache/cocoon/transformation/pagination
Pagesheet.java
Log:
- removing the 'store' property which isn't used anymore
- preventing NPE when <items> are missing in the pagesheet
Revision Changes Path
1.6 +12 -10
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.6
diff -u -r1.5 -r1.6
--- Pagesheet.java 29 Mar 2002 20:12:08 -0000 1.5
+++ Pagesheet.java 27 Jun 2002 17:44:42 -0000 1.6
@@ -92,12 +92,12 @@
<group name="pictures" element="file"
namespace="http://apache.org/cocoon/directory/2.0"/>
</items>
<rules page="1">
- <count type="element" name="file"
namespace="http://apache.org/cocoon/directory/2.0" num="16" store="yes"/>
+ <count type="element" name="file"
namespace="http://apache.org/cocoon/directory/2.0" num="16"/>
<link type="unit" num="2"/>
<link type="range" value="10"/>
</rules>
<rules>
- <count type="element" name="file"
namespace="http://apache.org/cocoon/directory/2.0" num="16" store="yes"/>
+ <count type="element" name="file"
namespace="http://apache.org/cocoon/directory/2.0" num="16"/>
<link type="unit" num="5"/>
<link type="range" value="20"/>
</rules>
@@ -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:
@@ -240,7 +241,6 @@
if (a.getValue("type").equals("element")) {
rules.elementName = a.getValue("name");
rules.elementURI = a.getValue("namespace");
- rules.store = (a.getValue("store") != null);
try {
rules.elementCount =
Integer.parseInt(a.getValue("num"));
} catch (NumberFormatException e) {
@@ -255,6 +255,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 +272,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");
@@ -280,8 +282,8 @@
ItemGroup group = new ItemGroup(name, elementURI, elementName);
this.itemGroupsPerName.put(name, group);
this.itemGroupsPerElement.put(elementURI+elementName, group);
+ return;
}
- return;
}
throw new SAXException("Syntax error: element " + raw + " is not recognized
or is misplaced.");
}
@@ -352,26 +354,25 @@
}
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);
}
- public boolean store(String elementURI, String elementName) {
- PageRules rules = getPageRules(currentPage);
- return rules.store;
- }
-
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 +383,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));
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]