Author: lektran
Date: Fri Jul 30 12:18:12 2010
New Revision: 980747

URL: http://svn.apache.org/viewvc?rev=980747&view=rev
Log:
Fix for OFBIZ-3786 reported by Sascha Rodekamp, first-visit controller events 
were not being executed.  Fix based on a simplified version of the patch 
provided by Sascha.

Modified:
    
ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java

Modified: 
ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java?rev=980747&r1=980746&r2=980747&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java 
(original)
+++ 
ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java 
Fri Jul 30 12:18:12 2010
@@ -274,23 +274,20 @@ public class RequestHandler {
             }
 
             // If its the first visit run the first visit events.
-            if (this.trackVisit(request) && session.getAttribute("visit") == 
null) {
+            if (this.trackVisit(request) && 
session.getAttribute("_FIRST_VISIT_EVENTS_") == null) {
                 if (Debug.infoOn())
                     Debug.logInfo("This is the first request in this visit." + 
" sessionId=" + UtilHttp.getSessionId(request), module);
-                // This isn't an event because it is required to run. We do 
not want to make it optional.
-                GenericValue visit = VisitHandler.getVisit(session);
-                if (visit != null) {
-                    for (ConfigXMLReader.Event event: 
controllerConfig.getFirstVisitEventList().values()) {
-                        try {
-                            String returnString = this.runEvent(request, 
response, event, null, "firstvisit");
-                            if (returnString != null && 
!returnString.equalsIgnoreCase("success")) {
-                                throw new EventHandlerException("First-Visit 
event did not return 'success'.");
-                            } else if (returnString == null) {
-                                interruptRequest = true;
-                            }
-                        } catch (EventHandlerException e) {
-                            Debug.logError(e, module);
+                session.setAttribute("_FIRST_VISIT_EVENTS_", "complete");
+                for (ConfigXMLReader.Event event: 
controllerConfig.getFirstVisitEventList().values()) {
+                    try {
+                        String returnString = this.runEvent(request, response, 
event, null, "firstvisit");
+                        if (returnString != null && 
!returnString.equalsIgnoreCase("success")) {
+                            throw new EventHandlerException("First-Visit event 
did not return 'success'.");
+                        } else if (returnString == null) {
+                            interruptRequest = true;
                         }
+                    } catch (EventHandlerException e) {
+                        Debug.logError(e, module);
                     }
                 }
             }


Reply via email to