You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/02/07 00:03:05 UTC

svn commit: r619209 - /lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java

Author: andreas
Date: Wed Feb  6 15:03:02 2008
New Revision: 619209

URL: http://svn.apache.org/viewvc?rev=619209&view=rev
Log:
Add href attribute to menu items for executable usecases. This allows to get rid of the silly href='?' attributes on menu items.

Modified:
    lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java

Modified: lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java?rev=619209&r1=619208&r2=619209&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java (original)
+++ lenya/trunk/src/modules-core/usecase/java/src/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java Wed Feb  6 15:03:02 2008
@@ -127,8 +127,9 @@
                         usecase = usecaseResolver.resolve(this.sourceUrl, usecaseName);
                         usecase.setSourceURL(this.sourceUrl);
                         usecase.setName(usecaseName);
-                        if (attr.getValue(HREF_ATTRIBUTE) != null) {
-                            passRequestParameters(usecase, attr.getValue(HREF_ATTRIBUTE));
+                        String hrefAttribute = attr.getValue(HREF_ATTRIBUTE);
+                        if (hrefAttribute != null) {
+                            passRequestParameters(usecase, hrefAttribute);
                         }
                         usecase.checkPreconditions();
                         if (usecase.hasErrors()) {
@@ -138,11 +139,10 @@
                             removeHrefAttribute(attributes);
                             messages = usecase.getErrorMessages();
                         }
-                        Object itemState = usecase.getParameter(Usecase.PARAMETER_ITEM_STATE);
-                        if (itemState != null && itemState instanceof Boolean) {
-                            Boolean state = (Boolean) itemState;
-                            attributes.addAttribute("", CHECKED_ATTRIBUTE, CHECKED_ATTRIBUTE, "CDATA", state.toString());
+                        else if (hrefAttribute == null) {
+                            attributes.addAttribute("", HREF_ATTRIBUTE, HREF_ATTRIBUTE, "CDATA", this.sourceUrl);
                         }
+                        setItemState(attributes, usecase);
                     } finally {
                         if (usecase != null) {
                             usecaseResolver.release(usecase);
@@ -164,6 +164,14 @@
             addMessages(messages);
         }
 
+    }
+
+    protected void setItemState(AttributesImpl attributes, Usecase usecase) {
+        Object itemState = usecase.getParameter(Usecase.PARAMETER_ITEM_STATE);
+        if (itemState != null && itemState instanceof Boolean) {
+            Boolean state = (Boolean) itemState;
+            attributes.addAttribute("", CHECKED_ATTRIBUTE, CHECKED_ATTRIBUTE, "CDATA", state.toString());
+        }
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org