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 2015/02/27 21:52:10 UTC

svn commit: r1662812 - in /ofbiz/trunk/framework: webapp/src/org/ofbiz/webapp/control/ControlServlet.java widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java

Author: jleroux
Date: Fri Feb 27 20:52:10 2015
New Revision: 1662812

URL: http://svn.apache.org/r1662812
Log:
Fixes "Birt doesn't work" reported by Leon at https://issues.apache.org/jira/browse/OFBIZ-5870

Workaround:
revert the commit r1621801 https://fisheye6.atlassian.com/changelog/ofbiz?cs=1621801, since ServletContextHashModel is being used by Birt, not the unused stuff.
revert the commit r1621953 to ControlServlet.java https://fisheye6.atlassian.com/changelog/ofbiz?cs=1621953 to import necessary packages
add "commons-discovery-0.4.jar" back to framework/base/lib/commons, or add it to specialpurpose/birt/lib folder, since it's depended by axis-1.4 https://fisheye6.atlassian.com/changelog/ofbiz?cs=1623042

jleroux: "commons-discovery-0.4.jar" has been already added back for OFBIZ-5876 

Modified:
    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java

Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java?rev=1662812&r1=1662811&r2=1662812&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java (original)
+++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ControlServlet.java Fri Feb 27 20:52:10 2015
@@ -37,6 +37,7 @@ import org.ofbiz.base.util.UtilGenerics;
 import org.ofbiz.base.util.UtilHttp;
 import org.ofbiz.base.util.UtilTimer;
 import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.base.util.template.FreeMarkerWorker;
 import org.ofbiz.entity.Delegator;
 import org.ofbiz.entity.DelegatorFactory;
 import org.ofbiz.entity.GenericDelegator;
@@ -49,6 +50,8 @@ import org.ofbiz.webapp.stats.ServerHitB
 import org.ofbiz.webapp.stats.VisitHandler;
 import org.ofbiz.entity.util.EntityClassLoader;
 
+import freemarker.ext.servlet.ServletContextHashModel;
+
 /**
  * ControlServlet.java - Master servlet for the web application.
  */
@@ -191,6 +194,9 @@ public class ControlServlet extends Http
 
         request.setAttribute("_REQUEST_HANDLER_", requestHandler);
         
+        ServletContextHashModel ftlServletContext = new ServletContextHashModel(this, FreeMarkerWorker.getDefaultOfbizWrapper());
+        request.setAttribute("ftlServletContext", ftlServletContext);
+
         // setup some things that should always be there
         UtilHttp.setInitialRequestInfo(request);
         VisitHandler.getVisitor(request, response);

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java?rev=1662812&r1=1662811&r2=1662812&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/renderer/ScreenRenderer.java Fri Feb 27 20:52:10 2015
@@ -63,6 +63,7 @@ import org.xml.sax.SAXException;
 import freemarker.ext.jsp.TaglibFactory;
 import freemarker.ext.servlet.HttpRequestHashModel;
 import freemarker.ext.servlet.HttpSessionHashModel;
+import freemarker.ext.servlet.ServletContextHashModel;
 
 /**
  * Widget Library - Screen model class
@@ -246,7 +247,11 @@ public class ScreenRenderer {
         TaglibFactory JspTaglibs = new TaglibFactory(servletContext);
         context.put("JspTaglibs", JspTaglibs);
         context.put("requestParameters",  UtilHttp.getParameterMap(request));
-        
+       
+        ServletContextHashModel ftlServletContext = (ServletContextHashModel) request.getAttribute("ftlServletContext");
+        context.put("Application", ftlServletContext);
+        context.put("Request", context.get("requestAttributes"));
+ 
         // this is a dummy object to stand-in for the JPublish page object for backward compatibility
         context.put("page", new HashMap());