You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by bl...@apache.org on 2001/07/10 21:49:06 UTC
cvs commit: xml-cocoon2/src/org/apache/cocoon/transformation FilterTransformer.java
bloritsch 01/07/10 12:49:06
Modified: src/org/apache/cocoon/transformation FilterTransformer.java
Log:
Prepare FilterTransformer to be able to be sublcassed. Also perform some
optimizations on configtime. The FilterTransformer does need to support
namespaces as well as elements....
Revision Changes Path
1.2 +15 -30 xml-cocoon2/src/org/apache/cocoon/transformation/FilterTransformer.java
Index: FilterTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/FilterTransformer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FilterTransformer.java 2001/06/21 11:07:56 1.1
+++ FilterTransformer.java 2001/07/10 19:49:02 1.2
@@ -12,7 +12,7 @@
import org.xml.sax.helpers.AttributesImpl;
/**
- * The filter transformer can be used to let only an amount of elements through in
+ * The filter transformer can be used to let only an amount of elements through in
* a given block.
*
* Usage in sitemap
@@ -25,7 +25,7 @@
* Only the 3th block will be shown, containing only 5 row elements.
*
* @author <a href="mailto:sven.beauprez@the-ecorp.com">Sven Beauprez</a>
- * @version CVS $Revision: 1.1 $ $Date: 2001/06/21 11:07:56 $ $Author: dims $
+ * @version CVS $Revision: 1.2 $ $Date: 2001/07/10 19:49:02 $ $Author: bloritsch $
*/
public class FilterTransformer extends AbstractTransformer implements Poolable {
@@ -41,7 +41,7 @@
private int count;
private int blocknr;
private int currentBlocknr;
- private String elementName;
+ protected String elementName;
private String parentName;
boolean skip;
boolean foundIt;
@@ -54,35 +54,20 @@
skip=false;
foundIt=false;
parentName=null;
- elementName = parameters.getParameter(FilterTransformer.ELEMENT,null);
- String tmpCount = parameters.getParameter(FilterTransformer.COUNT,""+FilterTransformer.DEFAULT_COUNT);
- String tmpBlockNr = parameters.getParameter(FilterTransformer.BLOCKNR,""+FilterTransformer.DEFAULT_BLOCK);
- if (elementName==null || tmpCount==null) {
- getLogger().error("FilterTransformer: both "+ FilterTransformer.ELEMENT + " and " +
- FilterTransformer.COUNT + " parameters need to be specified");
- }else {
- try {
- count = Integer.parseInt(tmpCount);
- getLogger().debug("FilterTransformer: " + FilterTransformer.COUNT + "=" + count);
- } catch (NumberFormatException e) {
- //set default values so we can move on
- count=FilterTransformer.DEFAULT_COUNT;
- getLogger().error("FilterTransformer: " + FilterTransformer.COUNT +
- " not valid, using default value of "+FilterTransformer.DEFAULT_COUNT);
- }
- try {
- blocknr = Integer.parseInt(tmpBlockNr);
- getLogger().debug("FilterTransformer: " + FilterTransformer.BLOCKNR + "=" + blocknr);
- } catch (NumberFormatException e) {
- //set default values so we can move on
- blocknr=FilterTransformer.DEFAULT_BLOCK;
- getLogger().error("FilterTransformer: " + FilterTransformer.BLOCKNR +
- " not valid, using default value of "+ FilterTransformer.DEFAULT_BLOCK);
- }
+ elementName = parameters.getParameter(FilterTransformer.ELEMENT, "");
+ count = parameters.getParameterAsInteger(FilterTransformer.COUNT, FilterTransformer.DEFAULT_COUNT);
+ blocknr = parameters.getParameterAsInteger(FilterTransformer.BLOCKNR, FilterTransformer.DEFAULT_BLOCK);
+ if (elementName == null || count == 0) {
+ getLogger().warn("FilterTransformer: both "+ FilterTransformer.ELEMENT + " and " +
+ FilterTransformer.COUNT + " parameters need to be specified");
}
}
/** END SitemapComponent methods **/
+ protected boolean isSkipping() {
+ return skip;
+ }
+
/** BEGIN SAX ContentHandler handlers **/
public void startElement(String uri, String name, String raw, Attributes attributes)
throws SAXException {
@@ -114,8 +99,8 @@
public void endElement(String uri,String name,String raw)
throws SAXException {
- if (name.equalsIgnoreCase(parentName) && foundIt) {
-
+ if (name.equals(parentName) && foundIt) {
+
super.contentHandler.endElement(uri,FilterTransformer.BLOCK,FilterTransformer.BLOCK);
super.contentHandler.endElement(uri,name,raw);
foundIt=false;
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org