You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2009/04/27 00:14:29 UTC

svn commit: r768811 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: html/HtmlTreeRenderer.java tree/ModelTree.java

Author: jleroux
Date: Sun Apr 26 22:14:29 2009
New Revision: 768811

URL: http://svn.apache.org/viewvc?rev=768811&view=rev
Log:
A patch from dukian "Tree widget doesn't apply parameter tag as Menu" (https://issues.apache.org/jira/browse/OFBIZ-2325) - OFBIZ-2325
Thanks to Jacopo's comment which helped a lot to test!

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java?rev=768811&r1=768810&r2=768811&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlTreeRenderer.java Sun Apr 26 22:14:29 2009
@@ -31,6 +31,7 @@
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.webapp.control.RequestHandler;
 import org.ofbiz.webapp.taglib.ContentUrlTag;
+import org.ofbiz.widget.WidgetWorker;
 import org.ofbiz.widget.screen.ScreenRenderer;
 import org.ofbiz.widget.screen.ScreenStringRenderer;
 import org.ofbiz.widget.tree.ModelTree;
@@ -224,10 +225,8 @@
             HttpServletRequest req = (HttpServletRequest) context.get("request");
             if (urlMode != null && urlMode.equalsIgnoreCase("intra-app")) {
                 if (req != null && res != null) {
-                    ServletContext ctx = (ServletContext) req.getAttribute("servletContext");
-                    RequestHandler rh = (RequestHandler) ctx.getAttribute("_REQUEST_HANDLER_");
-                    String urlString = rh.makeLink(req, res, target, fullPath, secure, encode);
-                    writer.append(urlString);
+                    WidgetWorker.buildHyperlinkUrl(writer, target, link.getUrlMode(), link.getParameterList(), link.getPrefix(context),
+                        link.getFullPath(), link.getSecure(), link.getEncode(), req, res, context);
                 } else if (prefix != null) {
                     writer.append(prefix + target);
                 } else {

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=768811&r1=768810&r2=768811&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java Sun Apr 26 22:14:29 2009
@@ -41,6 +41,7 @@
 import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.base.util.collections.MapStack;
 import org.ofbiz.base.util.string.FlexibleStringExpander;
+import org.ofbiz.widget.WidgetWorker;
 import org.ofbiz.widget.screen.ModelScreen;
 import org.ofbiz.widget.screen.ScreenFactory;
 import org.ofbiz.widget.screen.ScreenStringRenderer;
@@ -796,6 +797,8 @@
             protected boolean fullPath = false;
             protected boolean secure = false;
             protected boolean encode = false;
+            protected String linkType;
+            protected List<WidgetWorker.Parameter> parameterList = FastList.newInstance();
 
             public Link() {
                 setText(null);
@@ -830,7 +833,11 @@
                 if (imageElement != null) {
                     this.image = new Image(imageElement);
                 }
-
+                this.linkType = linkElement.getAttribute("link-type");
+                List<? extends Element> parameterElementList = UtilXml.childElementList(linkElement, "parameter");
+                for (Element parameterElement: parameterElementList) {
+                    this.parameterList.add(new WidgetWorker.Parameter(parameterElement));
+                }
             }
 
             public void renderLinkString(Appendable writer, Map<String, Object> context, TreeStringRenderer treeStringRenderer) {
@@ -909,6 +916,14 @@
                 return this.image;
             }
 
+            public String getLinkType() {
+                return this.linkType;
+            }
+
+            public List<WidgetWorker.Parameter> getParameterList() {
+                return this.parameterList;
+            }
+
             public void setText(String val) {
                 String textAttr = UtilFormatOut.checkNull(val);
                 this.textExdr = FlexibleStringExpander.getInstance(textAttr);