You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2012/06/25 19:46:09 UTC

svn commit: r1353681 - in /ofbiz/trunk: applications/accounting/webapp/accounting/WEB-INF/ applications/content/webapp/content/WEB-INF/ applications/humanres/webapp/humanres/WEB-INF/ applications/manufacturing/webapp/manufacturing/WEB-INF/ applications...

Author: jacopoc
Date: Mon Jun 25 17:46:07 2012
New Revision: 1353681

URL: http://svn.apache.org/viewvc?rev=1353681&view=rev
Log:
Cleaned up some code that was adding the delegator/dispatcher/security/auth objects in the user session rather than the request;  
1) removed the request-maps for changeDelegator from components' controller.xml files: they were not used
2) removed CoreEvents.changeDelegator(...): not used (apart from the request-maps removed at #1)
3) removed CoreEvents.changeDispatcher(...): not used
4) cleaned up some code (related to multitenant development): now the objects are set in the request rather than the session

PS: as a consequence this will also fix the issue reported in OFBIZ-4289

Modified:
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
    ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
    ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
    ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
    ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
    ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -42,12 +42,6 @@ under the License.
         <response name="success" type="request" value="main"/>
     </request-map>
     
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="main">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -52,13 +52,6 @@ under the License.
         <response name="success" type="view" value="fonts.fo"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <security https="true" auth="true"/>
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <!-- ================ Blog Requests ================= -->
     <request-map uri="blogMain">
         <security https="true" auth="true"/>

Modified: ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -46,12 +46,6 @@ under the License.
         <response name="success" type="request" value="main"/>
     </request-map>
     
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="main">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -46,12 +46,6 @@ under the License.
         <response name="success" type="request" value="main"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="main">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -45,13 +45,6 @@ under the License.
     <request-map uri="view"><security https="true" auth="false"/><response name="success" type="request" value="main"/></request-map>
     <request-map uri="main"><security https="true" auth="true"/><response name="success" type="view" value="main"/></request-map>
 
-    <request-map uri="changeDelegator">
-        <security https="true" auth="true"/>
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <!-- =========== DataSource =========== -->
     <request-map uri="FindDataSource"><security https="true" auth="true"/><response name="success" type="view" value="FindDataSource"/></request-map>
     <request-map uri="EditDataSource"><security https="true" auth="true"/><response name="success" type="view" value="EditDataSource"/></request-map>

Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -63,13 +63,6 @@ under the License.
         <response name="success" type="view" value="FastLoadCache"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <security https="true" auth="true"/>
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="advancedsearch">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="advancedsearch"/>

Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -39,12 +39,6 @@ under the License.
 
     <!-- Request Mappings -->
 
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="view">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -30,12 +30,6 @@
         <response name="success" type="view" value="main"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="main">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java (original)
+++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java Mon Jun 25 17:46:07 2012
@@ -317,10 +317,10 @@ public class ContextFilter implements Fi
                     LocalDispatcher dispatcher = getDispatcher(config.getServletContext());
 
                     // set web context objects
-                    httpRequest.getSession().setAttribute("dispatcher", dispatcher);
-                    httpRequest.getSession().setAttribute("security", security);
+                    request.setAttribute("dispatcher", dispatcher);
+                    request.setAttribute("security", security);
                     
-                    httpRequest.setAttribute("tenantId", tenantId);
+                    request.setAttribute("tenantId", tenantId);
                 }
 
                 // NOTE DEJ20101130: do NOT always put the delegator name in the user's session because the user may 

Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java (original)
+++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Mon Jun 25 17:46:07 2012
@@ -474,35 +474,30 @@ public class LoginWorker {
             return "error";
         }
     }
+
     private static void setWebContextObjects(HttpServletRequest request, HttpServletResponse response, Delegator delegator, LocalDispatcher dispatcher) {
         HttpSession session = request.getSession();
-
-        // NOTE: we do NOT want to set this in the servletContet, only in the request and session
-        session.setAttribute("delegatorName", delegator.getDelegatorName());
-
-        request.setAttribute("delegator", delegator);
-        session.setAttribute("delegator", delegator);
-
-        request.setAttribute("dispatcher", dispatcher);
-        session.setAttribute("dispatcher", dispatcher);
-        
-        // we also need to setup the security and authz objects since they are dependent on the delegator
+        // NOTE: we do NOT want to set this in the servletContext, only in the request and session
+        // We also need to setup the security and authz objects since they are dependent on the delegator
+        Security security = null;
         try {
-            Security security = SecurityFactory.getInstance(delegator);
-            request.setAttribute("security", security);
-            session.setAttribute("security", security);
+            security = SecurityFactory.getInstance(delegator);
         } catch (SecurityConfigurationException e) {
             Debug.logError(e, module);
         }
-
+        Authorization authz = null;
         try {
-            Authorization authz = AuthorizationFactory.getInstance(delegator);
-            request.setAttribute("authz", authz);
-            session.setAttribute("authz", authz);
+            authz = AuthorizationFactory.getInstance(delegator);
         } catch (SecurityConfigurationException e) {
             Debug.logError(e, module);
         }
 
+        session.setAttribute("delegatorName", delegator.getDelegatorName());
+        request.setAttribute("delegator", delegator);
+        request.setAttribute("dispatcher", dispatcher);
+        request.setAttribute("security", security);
+        request.setAttribute("authz", authz);
+
         // get rid of the visit info since it was pointing to the previous database, and get a new one
         session.removeAttribute("visitor");
         session.removeAttribute("visit");

Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java (original)
+++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java Mon Jun 25 17:46:07 2012
@@ -97,96 +97,6 @@ public class CoreEvents {
     }
 
     /**
-     * Change delegator event. Changes the delegator for the current session
-     * @param request HttpServletRequest
-     * @param response HttpServletResponse
-     * @return Response code string
-     */
-    public static String changeDelegator(HttpServletRequest request, HttpServletResponse response) {
-        String delegatorName = request.getParameter("delegator");
-        Authorization authz = (Authorization) request.getAttribute("authz");
-        Locale locale = UtilHttp.getLocale(request);
-
-        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-        if (delegatorName == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.delegator_not_passed", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-
-        Delegator delegator = DelegatorFactory.getDelegator(delegatorName);
-
-        if (delegator == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_delegator_name_defined", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-
-        // now change the dispatcher to use this delegator
-        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
-        DispatchContext dctx = dispatcher.getDispatchContext();
-        String dispatcherName = dispatcher.getName();
-
-        if (dispatcherName == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_name_null", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-        if (dctx == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_context_null", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-
-        dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator);
-
-        request.getSession().setAttribute("delegator", delegator);
-        request.getSession().setAttribute("dispatcher", dispatcher);
-
-        return "success";
-    }
-
-    /**
-     * Change dispatcher event. Changes the dispatch for the current session
-     * @param request HttpServletRequest
-     * @param response HttpServletResponse
-     * @return Response code string
-     */
-    public static String changeDispatcher(HttpServletRequest request, HttpServletResponse response) {
-        String dispatcherName = request.getParameter("dispatcher");
-        Authorization authz = (Authorization) request.getAttribute("authz");
-        Locale locale = UtilHttp.getLocale(request);
-
-        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-        if (dispatcherName == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_not_passed", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-
-        Delegator delegator = (Delegator) request.getAttribute("delegator");
-        ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);
-
-        if (sd == null) {
-            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_dispachter_name_registered", locale);
-            request.setAttribute("_ERROR_MESSAGE_", errMsg);
-            return "error";
-        }
-        LocalDispatcher dispatcher = sd.getLocalContext(dispatcherName).getDispatcher();
-
-        request.getSession().setAttribute("dispatcher", dispatcher);
-        return "success";
-    }
-
-    /**
      * Schedule a service for a specific time or recurrence
      *  Request Parameters which are used for this service:
      *

Modified: ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -92,12 +92,6 @@ under the License.
         <response name="success" type="url" value="http://www.yahoo.com"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="main"/>
-    </request-map>
-
     <request-map uri="view">
         <security https="true" auth="false"/>
         <response name="success" type="view" value="main"/>

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
@@ -1193,13 +1193,6 @@ under the License.
         <response name="error" type="view" value="login"/>
     </request-map>
 
-    <request-map uri="changeDelegator">
-        <security https="false" auth="false"/>
-        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
-        <response name="success" type="view" value="main"/>
-        <response name="error" type="view" value="error"/>
-    </request-map>
-
     <request-map uri="tellafriend"><security https="false" auth="false"/><response name="success" type="view" value="tellafriend"/></request-map>
     <request-map uri="emailFriend">
         <security https="false" auth="false"/>



Re: svn commit: r1353681 - in /ofbiz/trunk: applications/accounting/webapp/accounting/WEB-INF/ applications/content/webapp/content/WEB-INF/ applications/humanres/webapp/humanres/WEB-INF/ applications/manufacturing/webapp/manufacturing/WEB-INF/ applications

Posted by Jacques Le Roux <ja...@les7arts.com>.
This looks good to me, hoping that nobody really needs CoreEvents.changeDelegator(), but yes OOTB it's ok with me...

Jacques

From: "Jacopo Cappellato" <ja...@hotwaxmedia.com>
> To the committers/developers involved in the development of multitenant support: please review this commit and test it in the 
> multitenant environment and confirm it works fine, thanks.
> I have seen a lot of bad code around the implementation of multitenancy and this is actually a first pass in the direction of 
> cleaning it up.
> In the next few days I will ask for your review of some of the code decisions and will propose some refactorings that I will ask 
> you to review/test.
>
> Kind regards
>
> Jacopo
>
>
> Begin forwarded message:
>
>> From: jacopoc@apache.org
>> Subject: svn commit: r1353681 - in /ofbiz/trunk: applications/accounting/webapp/accounting/WEB-INF/ 
>> applications/content/webapp/content/WEB-INF/ applications/humanres/webapp/humanres/WEB-INF/ 
>> applications/manufacturing/webapp/manufacturing/WEB-INF/ applications...
>> Date: June 25, 2012 7:46:09 PM GMT+02:00
>> To: commits@ofbiz.apache.org
>> Reply-To: dev@ofbiz.apache.org
>>
>> Author: jacopoc
>> Date: Mon Jun 25 17:46:07 2012
>> New Revision: 1353681
>>
>> URL: http://svn.apache.org/viewvc?rev=1353681&view=rev
>> Log:
>> Cleaned up some code that was adding the delegator/dispatcher/security/auth objects in the user session rather than the request;
>> 1) removed the request-maps for changeDelegator from components' controller.xml files: they were not used
>> 2) removed CoreEvents.changeDelegator(...): not used (apart from the request-maps removed at #1)
>> 3) removed CoreEvents.changeDispatcher(...): not used
>> 4) cleaned up some code (related to multitenant development): now the objects are set in the request rather than the session
>>
>> PS: as a consequence this will also fix the issue reported in OFBIZ-4289
>>
>> Modified:
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
>>    ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
>>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
>>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
>>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
>>    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
>>    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
>>
>> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -42,12 +42,6 @@ under the License.
>>         <response name="success" type="request" value="main"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="main">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -52,13 +52,6 @@ under the License.
>>         <response name="success" type="view" value="fonts.fo"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <security https="true" auth="true"/>
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <!-- ================ Blog Requests ================= -->
>>     <request-map uri="blogMain">
>>         <security https="true" auth="true"/>
>>
>> Modified: ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -46,12 +46,6 @@ under the License.
>>         <response name="success" type="request" value="main"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="main">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -46,12 +46,6 @@ under the License.
>>         <response name="success" type="request" value="main"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="main">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -45,13 +45,6 @@ under the License.
>>     <request-map uri="view"><security https="true" auth="false"/><response name="success" type="request" 
>> value="main"/></request-map>
>>     <request-map uri="main"><security https="true" auth="true"/><response name="success" type="view" value="main"/></request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <security https="true" auth="true"/>
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <!-- =========== DataSource =========== -->
>>     <request-map uri="FindDataSource"><security https="true" auth="true"/><response name="success" type="view" 
>> value="FindDataSource"/></request-map>
>>     <request-map uri="EditDataSource"><security https="true" auth="true"/><response name="success" type="view" 
>> value="EditDataSource"/></request-map>
>>
>> Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -63,13 +63,6 @@ under the License.
>>         <response name="success" type="view" value="FastLoadCache"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <security https="true" auth="true"/>
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="advancedsearch">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="advancedsearch"/>
>>
>> Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -39,12 +39,6 @@ under the License.
>>
>>     <!-- Request Mappings -->
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="view">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -30,12 +30,6 @@
>>         <response name="success" type="view" value="main"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="main">
>>         <security https="true" auth="true"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java (original)
>> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java Mon Jun 25 17:46:07 2012
>> @@ -317,10 +317,10 @@ public class ContextFilter implements Fi
>>                     LocalDispatcher dispatcher = getDispatcher(config.getServletContext());
>>
>>                     // set web context objects
>> -                    httpRequest.getSession().setAttribute("dispatcher", dispatcher);
>> -                    httpRequest.getSession().setAttribute("security", security);
>> +                    request.setAttribute("dispatcher", dispatcher);
>> +                    request.setAttribute("security", security);
>>
>> -                    httpRequest.setAttribute("tenantId", tenantId);
>> +                    request.setAttribute("tenantId", tenantId);
>>                 }
>>
>>                 // NOTE DEJ20101130: do NOT always put the delegator name in the user's session because the user may
>>
>> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java (original)
>> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Mon Jun 25 17:46:07 2012
>> @@ -474,35 +474,30 @@ public class LoginWorker {
>>             return "error";
>>         }
>>     }
>> +
>>     private static void setWebContextObjects(HttpServletRequest request, HttpServletResponse response, Delegator delegator, 
>> LocalDispatcher dispatcher) {
>>         HttpSession session = request.getSession();
>> -
>> -        // NOTE: we do NOT want to set this in the servletContet, only in the request and session
>> -        session.setAttribute("delegatorName", delegator.getDelegatorName());
>> -
>> -        request.setAttribute("delegator", delegator);
>> -        session.setAttribute("delegator", delegator);
>> -
>> -        request.setAttribute("dispatcher", dispatcher);
>> -        session.setAttribute("dispatcher", dispatcher);
>> -
>> -        // we also need to setup the security and authz objects since they are dependent on the delegator
>> +        // NOTE: we do NOT want to set this in the servletContext, only in the request and session
>> +        // We also need to setup the security and authz objects since they are dependent on the delegator
>> +        Security security = null;
>>         try {
>> -            Security security = SecurityFactory.getInstance(delegator);
>> -            request.setAttribute("security", security);
>> -            session.setAttribute("security", security);
>> +            security = SecurityFactory.getInstance(delegator);
>>         } catch (SecurityConfigurationException e) {
>>             Debug.logError(e, module);
>>         }
>> -
>> +        Authorization authz = null;
>>         try {
>> -            Authorization authz = AuthorizationFactory.getInstance(delegator);
>> -            request.setAttribute("authz", authz);
>> -            session.setAttribute("authz", authz);
>> +            authz = AuthorizationFactory.getInstance(delegator);
>>         } catch (SecurityConfigurationException e) {
>>             Debug.logError(e, module);
>>         }
>>
>> +        session.setAttribute("delegatorName", delegator.getDelegatorName());
>> +        request.setAttribute("delegator", delegator);
>> +        request.setAttribute("dispatcher", dispatcher);
>> +        request.setAttribute("security", security);
>> +        request.setAttribute("authz", authz);
>> +
>>         // get rid of the visit info since it was pointing to the previous database, and get a new one
>>         session.removeAttribute("visitor");
>>         session.removeAttribute("visit");
>>
>> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java (original)
>> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java Mon Jun 25 17:46:07 2012
>> @@ -97,96 +97,6 @@ public class CoreEvents {
>>     }
>>
>>     /**
>> -     * Change delegator event. Changes the delegator for the current session
>> -     * @param request HttpServletRequest
>> -     * @param response HttpServletResponse
>> -     * @return Response code string
>> -     */
>> -    public static String changeDelegator(HttpServletRequest request, HttpServletResponse response) {
>> -        String delegatorName = request.getParameter("delegator");
>> -        Authorization authz = (Authorization) request.getAttribute("authz");
>> -        Locale locale = UtilHttp.getLocale(request);
>> -
>> -        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -        if (delegatorName == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.delegator_not_passed", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -
>> -        Delegator delegator = DelegatorFactory.getDelegator(delegatorName);
>> -
>> -        if (delegator == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_delegator_name_defined", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -
>> -        // now change the dispatcher to use this delegator
>> -        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
>> -        DispatchContext dctx = dispatcher.getDispatchContext();
>> -        String dispatcherName = dispatcher.getName();
>> -
>> -        if (dispatcherName == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_name_null", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -        if (dctx == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_context_null", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -
>> -        dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator);
>> -
>> -        request.getSession().setAttribute("delegator", delegator);
>> -        request.getSession().setAttribute("dispatcher", dispatcher);
>> -
>> -        return "success";
>> -    }
>> -
>> -    /**
>> -     * Change dispatcher event. Changes the dispatch for the current session
>> -     * @param request HttpServletRequest
>> -     * @param response HttpServletResponse
>> -     * @return Response code string
>> -     */
>> -    public static String changeDispatcher(HttpServletRequest request, HttpServletResponse response) {
>> -        String dispatcherName = request.getParameter("dispatcher");
>> -        Authorization authz = (Authorization) request.getAttribute("authz");
>> -        Locale locale = UtilHttp.getLocale(request);
>> -
>> -        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -        if (dispatcherName == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_not_passed", locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -
>> -        Delegator delegator = (Delegator) request.getAttribute("delegator");
>> -        ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);
>> -
>> -        if (sd == null) {
>> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_dispachter_name_registered", 
>> locale);
>> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
>> -            return "error";
>> -        }
>> -        LocalDispatcher dispatcher = sd.getLocalContext(dispatcherName).getDispatcher();
>> -
>> -        request.getSession().setAttribute("dispatcher", dispatcher);
>> -        return "success";
>> -    }
>> -
>> -    /**
>>      * Schedule a service for a specific time or recurrence
>>      *  Request Parameters which are used for this service:
>>      *
>>
>> Modified: ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -92,12 +92,6 @@ under the License.
>>         <response name="success" type="url" value="http://www.yahoo.com"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="main"/>
>> -    </request-map>
>> -
>>     <request-map uri="view">
>>         <security https="true" auth="false"/>
>>         <response name="success" type="view" value="main"/>
>>
>> Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original)
>> +++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
>> @@ -1193,13 +1193,6 @@ under the License.
>>         <response name="error" type="view" value="login"/>
>>     </request-map>
>>
>> -    <request-map uri="changeDelegator">
>> -        <security https="false" auth="false"/>
>> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
>> -        <response name="success" type="view" value="main"/>
>> -        <response name="error" type="view" value="error"/>
>> -    </request-map>
>> -
>>     <request-map uri="tellafriend"><security https="false" auth="false"/><response name="success" type="view" 
>> value="tellafriend"/></request-map>
>>     <request-map uri="emailFriend">
>>         <security https="false" auth="false"/>
>>
>>
>
> 

Fwd: svn commit: r1353681 - in /ofbiz/trunk: applications/accounting/webapp/accounting/WEB-INF/ applications/content/webapp/content/WEB-INF/ applications/humanres/webapp/humanres/WEB-INF/ applications/manufacturing/webapp/manufacturing/WEB-INF/ applications...

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
To the committers/developers involved in the development of multitenant support: please review this commit and test it in the multitenant environment and confirm it works fine, thanks.
I have seen a lot of bad code around the implementation of multitenancy and this is actually a first pass in the direction of cleaning it up.
In the next few days I will ask for your review of some of the code decisions and will propose some refactorings that I will ask you to review/test.

Kind regards

Jacopo


Begin forwarded message:

> From: jacopoc@apache.org
> Subject: svn commit: r1353681 - in /ofbiz/trunk: applications/accounting/webapp/accounting/WEB-INF/ applications/content/webapp/content/WEB-INF/ applications/humanres/webapp/humanres/WEB-INF/ applications/manufacturing/webapp/manufacturing/WEB-INF/ applications...
> Date: June 25, 2012 7:46:09 PM GMT+02:00
> To: commits@ofbiz.apache.org
> Reply-To: dev@ofbiz.apache.org
> 
> Author: jacopoc
> Date: Mon Jun 25 17:46:07 2012
> New Revision: 1353681
> 
> URL: http://svn.apache.org/viewvc?rev=1353681&view=rev
> Log:
> Cleaned up some code that was adding the delegator/dispatcher/security/auth objects in the user session rather than the request;  
> 1) removed the request-maps for changeDelegator from components' controller.xml files: they were not used
> 2) removed CoreEvents.changeDelegator(...): not used (apart from the request-maps removed at #1)
> 3) removed CoreEvents.changeDispatcher(...): not used
> 4) cleaned up some code (related to multitenant development): now the objects are set in the request rather than the session
> 
> PS: as a consequence this will also fix the issue reported in OFBIZ-4289
> 
> Modified:
>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
>    ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
>    ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
>    ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
>    ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>    ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
>    ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
>    ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
>    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
>    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
> 
> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -42,12 +42,6 @@ under the License.
>         <response name="success" type="request" value="main"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="main">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -52,13 +52,6 @@ under the License.
>         <response name="success" type="view" value="fonts.fo"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <security https="true" auth="true"/>
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <!-- ================ Blog Requests ================= -->
>     <request-map uri="blogMain">
>         <security https="true" auth="true"/>
> 
> Modified: ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/humanres/webapp/humanres/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -46,12 +46,6 @@ under the License.
>         <response name="success" type="request" value="main"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="main">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -46,12 +46,6 @@ under the License.
>         <response name="success" type="request" value="main"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="main">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/marketing/webapp/marketing/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -45,13 +45,6 @@ under the License.
>     <request-map uri="view"><security https="true" auth="false"/><response name="success" type="request" value="main"/></request-map>
>     <request-map uri="main"><security https="true" auth="true"/><response name="success" type="view" value="main"/></request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <security https="true" auth="true"/>
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <!-- =========== DataSource =========== -->
>     <request-map uri="FindDataSource"><security https="true" auth="true"/><response name="success" type="view" value="FindDataSource"/></request-map>
>     <request-map uri="EditDataSource"><security https="true" auth="true"/><response name="success" type="view" value="EditDataSource"/></request-map>
> 
> Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -63,13 +63,6 @@ under the License.
>         <response name="success" type="view" value="FastLoadCache"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <security https="true" auth="true"/>
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="advancedsearch">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="advancedsearch"/>
> 
> Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -39,12 +39,6 @@ under the License.
> 
>     <!-- Request Mappings -->
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="view">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/framework/bi/webapp/bi/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -30,12 +30,6 @@
>         <response name="success" type="view" value="main"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="main">
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java (original)
> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/ContextFilter.java Mon Jun 25 17:46:07 2012
> @@ -317,10 +317,10 @@ public class ContextFilter implements Fi
>                     LocalDispatcher dispatcher = getDispatcher(config.getServletContext());
> 
>                     // set web context objects
> -                    httpRequest.getSession().setAttribute("dispatcher", dispatcher);
> -                    httpRequest.getSession().setAttribute("security", security);
> +                    request.setAttribute("dispatcher", dispatcher);
> +                    request.setAttribute("security", security);
> 
> -                    httpRequest.setAttribute("tenantId", tenantId);
> +                    request.setAttribute("tenantId", tenantId);
>                 }
> 
>                 // NOTE DEJ20101130: do NOT always put the delegator name in the user's session because the user may 
> 
> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java (original)
> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/LoginWorker.java Mon Jun 25 17:46:07 2012
> @@ -474,35 +474,30 @@ public class LoginWorker {
>             return "error";
>         }
>     }
> +
>     private static void setWebContextObjects(HttpServletRequest request, HttpServletResponse response, Delegator delegator, LocalDispatcher dispatcher) {
>         HttpSession session = request.getSession();
> -
> -        // NOTE: we do NOT want to set this in the servletContet, only in the request and session
> -        session.setAttribute("delegatorName", delegator.getDelegatorName());
> -
> -        request.setAttribute("delegator", delegator);
> -        session.setAttribute("delegator", delegator);
> -
> -        request.setAttribute("dispatcher", dispatcher);
> -        session.setAttribute("dispatcher", dispatcher);
> -        
> -        // we also need to setup the security and authz objects since they are dependent on the delegator
> +        // NOTE: we do NOT want to set this in the servletContext, only in the request and session
> +        // We also need to setup the security and authz objects since they are dependent on the delegator
> +        Security security = null;
>         try {
> -            Security security = SecurityFactory.getInstance(delegator);
> -            request.setAttribute("security", security);
> -            session.setAttribute("security", security);
> +            security = SecurityFactory.getInstance(delegator);
>         } catch (SecurityConfigurationException e) {
>             Debug.logError(e, module);
>         }
> -
> +        Authorization authz = null;
>         try {
> -            Authorization authz = AuthorizationFactory.getInstance(delegator);
> -            request.setAttribute("authz", authz);
> -            session.setAttribute("authz", authz);
> +            authz = AuthorizationFactory.getInstance(delegator);
>         } catch (SecurityConfigurationException e) {
>             Debug.logError(e, module);
>         }
> 
> +        session.setAttribute("delegatorName", delegator.getDelegatorName());
> +        request.setAttribute("delegator", delegator);
> +        request.setAttribute("dispatcher", dispatcher);
> +        request.setAttribute("security", security);
> +        request.setAttribute("authz", authz);
> +
>         // get rid of the visit info since it was pointing to the previous database, and get a new one
>         session.removeAttribute("visitor");
>         session.removeAttribute("visit");
> 
> Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java (original)
> +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java Mon Jun 25 17:46:07 2012
> @@ -97,96 +97,6 @@ public class CoreEvents {
>     }
> 
>     /**
> -     * Change delegator event. Changes the delegator for the current session
> -     * @param request HttpServletRequest
> -     * @param response HttpServletResponse
> -     * @return Response code string
> -     */
> -    public static String changeDelegator(HttpServletRequest request, HttpServletResponse response) {
> -        String delegatorName = request.getParameter("delegator");
> -        Authorization authz = (Authorization) request.getAttribute("authz");
> -        Locale locale = UtilHttp.getLocale(request);
> -
> -        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -        if (delegatorName == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.delegator_not_passed", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -
> -        Delegator delegator = DelegatorFactory.getDelegator(delegatorName);
> -
> -        if (delegator == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_delegator_name_defined", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -
> -        // now change the dispatcher to use this delegator
> -        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
> -        DispatchContext dctx = dispatcher.getDispatchContext();
> -        String dispatcherName = dispatcher.getName();
> -
> -        if (dispatcherName == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_name_null", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -        if (dctx == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_context_null", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -
> -        dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator);
> -
> -        request.getSession().setAttribute("delegator", delegator);
> -        request.getSession().setAttribute("dispatcher", dispatcher);
> -
> -        return "success";
> -    }
> -
> -    /**
> -     * Change dispatcher event. Changes the dispatch for the current session
> -     * @param request HttpServletRequest
> -     * @param response HttpServletResponse
> -     * @return Response code string
> -     */
> -    public static String changeDispatcher(HttpServletRequest request, HttpServletResponse response) {
> -        String dispatcherName = request.getParameter("dispatcher");
> -        Authorization authz = (Authorization) request.getAttribute("authz");
> -        Locale locale = UtilHttp.getLocale(request);
> -
> -        if (!authz.hasPermission(request.getSession(), "ENTITY_MAINT", null)) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -        if (dispatcherName == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_not_passed", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -
> -        Delegator delegator = (Delegator) request.getAttribute("delegator");
> -        ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);
> -
> -        if (sd == null) {
> -            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_dispachter_name_registered", locale);
> -            request.setAttribute("_ERROR_MESSAGE_", errMsg);
> -            return "error";
> -        }
> -        LocalDispatcher dispatcher = sd.getLocalContext(dispatcherName).getDispatcher();
> -
> -        request.getSession().setAttribute("dispatcher", dispatcher);
> -        return "success";
> -    }
> -
> -    /**
>      * Schedule a service for a specific time or recurrence
>      *  Request Parameters which are used for this service:
>      *
> 
> Modified: ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -92,12 +92,6 @@ under the License.
>         <response name="success" type="url" value="http://www.yahoo.com"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="main"/>
> -    </request-map>
> -
>     <request-map uri="view">
>         <security https="true" auth="false"/>
>         <response name="success" type="view" value="main"/>
> 
> Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml?rev=1353681&r1=1353680&r2=1353681&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml Mon Jun 25 17:46:07 2012
> @@ -1193,13 +1193,6 @@ under the License.
>         <response name="error" type="view" value="login"/>
>     </request-map>
> 
> -    <request-map uri="changeDelegator">
> -        <security https="false" auth="false"/>
> -        <event type="java" path="org.ofbiz.webapp.event.CoreEvents" invoke="changeDelegator"/>
> -        <response name="success" type="view" value="main"/>
> -        <response name="error" type="view" value="error"/>
> -    </request-map>
> -
>     <request-map uri="tellafriend"><security https="false" auth="false"/><response name="success" type="view" value="tellafriend"/></request-map>
>     <request-map uri="emailFriend">
>         <security https="false" auth="false"/>
> 
>