svn commit: r627208 - /lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Tue Feb 12 16:57:27 2008
New Revision: 627208

URL: http://svn.apache.org/viewvc?rev=627208&view=rev
Log:
MenuFilterTransformer: Filter resourceType items also on 404 pages.

Modified:
    lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java

Modified: lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java?rev=627208&r1=627207&r2=627208&view=diff
==============================================================================
--- lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java (original)
+++ lenya/trunk/src/modules/menubar/java/src/org/apache/lenya/modules/menubar/MenuFilterTransformer.java Tue Feb 12 16:57:27 2008
@@ -41,6 +41,10 @@
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
+/**
+ * Filter menu elements (blocks, items, ...) according to the attributes
+ * <em>areas</em> and <em>resourceTypes</em>.
+ */
 public class MenuFilterTransformer extends AbstractSAXTransformer {
 
     protected static final String NAMESPACE = "http://apache.org/cocoon/lenya/menubar/1.0";
@@ -69,10 +73,10 @@
         
         try {
             DocumentFactory factory = DocumentUtil.getDocumentFactory(this.manager, request);
-            if (factory.isDocument(webappUri)) {
-                String resourceType = factory.getFromURL(webappUri).getResourceType().getName();
-                this.attributeHandlers.add(new AttributeHandler(ATTR_RESOURCE_TYPES, resourceType));
-            }
+            String resourceType = factory.isDocument(webappUri) ?
+                resourceType = factory.getFromURL(webappUri).getResourceType().getName()
+                : null;
+            this.attributeHandlers.add(new AttributeHandler(ATTR_RESOURCE_TYPES, resourceType));
         } catch (RepositoryException e) {
             throw new ProcessingException(e);
         }
@@ -156,13 +160,10 @@
         }
 
         protected boolean matches(Attributes attr) {
-            if (this.value == null) {
-                return false;
-            }
             String attrValue = attr.getValue(this.attributeName);
             if (attrValue == null) {
                 return true;
-            } else {
+            } else if (this.value != null) {
                 StringTokenizer tokens = new StringTokenizer(attrValue, DELIMITER);
                 while (tokens.hasMoreTokens()) {
                     if (tokens.nextToken().equals(this.value)) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.