buildbot success in on ofbizTrunkFrameworkPlugins

2018-11-17 Thread buildbot
The Buildbot has detected a restored build on builder 
ofbizTrunkFrameworkPlugins while building . Full details are available at:
https://ci.apache.org/builders/ofbizTrunkFrameworkPlugins/builds/520

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: downstream
Build Source Stamp: [branch ofbiz/ofbiz-framework/trunk] 1846793
Blamelist: jleroux

Build succeeded!

Sincerely,
 -The Buildbot





svn commit: r1846793 - in /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp: control/RequestHandler.java taglib/ContentUrlTag.java

2018-11-17 Thread jleroux
Author: jleroux
Date: Sat Nov 17 12:32:04 2018
New Revision: 1846793

URL: http://svn.apache.org/viewvc?rev=1846793=rev
Log:
Improved: Use ‘String#equalsIgnoreCase’ in ‘RequestHandler#doRequest’
(OFBIZ-10451)

Use String#equalsIgnoreCase instead of combining String#equals and 
String#toUpperCase. Additionally this avoids having to check the emptiness 
of the X-Forwarded-Proto request header.

Thanks: Mathieu Lirzin

Modified:

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/taglib/ContentUrlTag.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java?rev=1846793=1846792=1846793=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
 Sat Nov 17 12:32:04 2018
@@ -326,9 +326,8 @@ public class RequestHandler {
 }
 }
 // Check if we SHOULD be secure and are not.
-String forwardedProto = request.getHeader("X-Forwarded-Proto");
-boolean isForwardedSecure = 
UtilValidate.isNotEmpty(forwardedProto) && 
"HTTPS".equals(forwardedProto.toUpperCase());
-if ((!request.isSecure() && !isForwardedSecure) && 
requestMap.securityHttps) {
+boolean forwardedHTTPS = 
"HTTPS".equalsIgnoreCase(request.getHeader("X-Forwarded-Proto"));
+if (!request.isSecure() && !forwardedHTTPS && 
requestMap.securityHttps) {
 // If the request method was POST then return an error to 
avoid problems with XSRF where the request may have come from another 
machine/program and had the same session ID but was not encrypted as it should 
have been (we used to let it pass to not lose data since it was too late to 
protect that data anyway)
 if ("POST".equalsIgnoreCase(request.getMethod())) {
 // we can't redirect with the body parameters, and for 
better security from XSRF, just return an error message

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/taglib/ContentUrlTag.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/taglib/ContentUrlTag.java?rev=1846793=1846792=1846793=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/taglib/ContentUrlTag.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/taglib/ContentUrlTag.java
 Sat Nov 17 12:32:04 2018
@@ -54,8 +54,7 @@ public class ContentUrlTag {
 return;
 }
 GenericValue webSite = WebSiteWorker.getWebSite(request);
-String forwardedProto = request.getHeader("X-Forwarded-Proto");
-boolean isForwardedSecure = UtilValidate.isNotEmpty(forwardedProto) && 
"HTTPS".equals(forwardedProto.toUpperCase());
+boolean isForwardedSecure = 
"HTTPS".equalsIgnoreCase(request.getHeader("X-Forwarded-Proto"));
 boolean isSecure = request.isSecure() || isForwardedSecure;
 appendContentPrefix(webSite, isSecure, urlBuffer);
 }




svn commit: r1846790 - /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

2018-11-17 Thread jleroux
Author: jleroux
Date: Sat Nov 17 09:49:56 2018
New Revision: 1846790

URL: http://svn.apache.org/viewvc?rev=1846790=rev
Log:
Improved: Remove useless ControlServlet code
(OFBIZ-10447)

It seems better to remove some code and rely on method/contructor dispatch.

jleroux: w/o specific implementations, there is no point indeed

Thanks: Mathieu Lirzin

Modified:

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java?rev=1846790=1846789=1846790=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 Sat Nov 17 09:49:56 2018
@@ -58,10 +58,6 @@ public class ControlServlet extends Http
 
 public static final String module = ControlServlet.class.getName();
 
-public ControlServlet() {
-super();
-}
-
 /**
  * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
  */
@@ -322,14 +318,6 @@ public class ControlServlet extends Http
 GenericDelegator.clearSessionIdentifierStack();
 }
 
-/**
- * @see javax.servlet.Servlet#destroy()
- */
-@Override
-public void destroy() {
-super.destroy();
-}
-
 protected void logRequestInfo(HttpServletRequest request) {
 ServletContext servletContext = this.getServletContext();
 HttpSession session = request.getSession();




buildbot exception in on ofbizTrunkFrameworkPlugins

2018-11-17 Thread buildbot
The Buildbot has detected a build exception on builder 
ofbizTrunkFrameworkPlugins while building . Full details are available at:
https://ci.apache.org/builders/ofbizTrunkFrameworkPlugins/builds/516

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: downstream
Build Source Stamp: [branch ofbiz/ofbiz-framework/trunk] 1846783
Blamelist: jleroux

BUILD FAILED: exception upload_1 upload_2

Sincerely,
 -The Buildbot





svn commit: r1846789 - /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

2018-11-17 Thread jleroux
Author: jleroux
Date: Sat Nov 17 09:41:17 2018
New Revision: 1846789

URL: http://svn.apache.org/viewvc?rev=1846789=rev
Log:
Improved: Override ‘GenericServlet::init’ instead of ‘Servlet::init’
(OFBIZ-10446)

This is done to remove the manual call to {{super}} which is done in
{{GenericServlet}} instead.

Thanks: Mathieu Lirzin

Modified:

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java?rev=1846789=1846788=1846789=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 Sat Nov 17 09:41:17 2018
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.util.Enumeration;
 
 import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -67,18 +66,17 @@ public class ControlServlet extends Http
  * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
  */
 @Override
-public void init(ServletConfig config) throws ServletException {
-super.init(config);
-ServletContext servletContext = config.getServletContext();
+public void init() throws ServletException {
+ServletContext ctx = getServletContext();
 if (Debug.infoOn()) {
-String webappName = servletContext.getContextPath().length() != 0 
? servletContext.getContextPath().substring(1) : "";
-Debug.logInfo("Loading webapp [" + webappName + "], located at " + 
servletContext.getRealPath("/"), module);
+String path = ctx.getContextPath();
+String webappName = path.isEmpty() ? path : path.substring(1);
+Debug.logInfo("Loading webapp [" + webappName + "], located at " + 
ctx.getRealPath("/"), module);
 }
 
 // Initialize the request handler.
-RequestHandler.getRequestHandler(servletContext);
+RequestHandler.getRequestHandler(ctx);
 }
-
 /**
  * @see 
javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, 
javax.servlet.http.HttpServletResponse)
  */




svn commit: r1846784 - /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

2018-11-17 Thread jleroux
Author: jleroux
Date: Sat Nov 17 09:22:22 2018
New Revision: 1846784

URL: http://svn.apache.org/viewvc?rev=1846784=rev
Log:
Improved: Inline ‘ControlServlet::getRequestHandler’ method
(OFBIZ-10445)

There was only two local callers of this trivial method, so remove it.
Rename requestHandler in doGet local variable to handler.

Thanks: Mathieu Lirzin

Modified:

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java?rev=1846784=1846783=1846784=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ControlServlet.java
 Sat Nov 17 09:22:22 2018
@@ -69,14 +69,14 @@ public class ControlServlet extends Http
 @Override
 public void init(ServletConfig config) throws ServletException {
 super.init(config);
+ServletContext servletContext = config.getServletContext();
 if (Debug.infoOn()) {
-ServletContext servletContext = config.getServletContext();
 String webappName = servletContext.getContextPath().length() != 0 
? servletContext.getContextPath().substring(1) : "";
 Debug.logInfo("Loading webapp [" + webappName + "], located at " + 
servletContext.getRealPath("/"), module);
 }
 
-// initialize the request handler
-getRequestHandler();
+// Initialize the request handler.
+RequestHandler.getRequestHandler(servletContext);
 }
 
 /**
@@ -93,7 +93,6 @@ public class ControlServlet extends Http
 @Override
 public void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
 long requestStartTime = System.currentTimeMillis();
-RequestHandler requestHandler = this.getRequestHandler();
 HttpSession session = request.getSession();
 
 // setup DEFAULT character encoding and content type, this will be 
overridden in the RequestHandler for view rendering
@@ -184,7 +183,9 @@ public class ControlServlet extends Http
 if (visualTheme != null) {
 UtilHttp.setVisualTheme(request, visualTheme);
 }
-request.setAttribute("_REQUEST_HANDLER_", requestHandler);
+
+RequestHandler handler = 
RequestHandler.getRequestHandler(getServletContext());
+request.setAttribute("_REQUEST_HANDLER_", handler);
 
 ServletContextHashModel ftlServletContext = new 
ServletContextHashModel(this, FreeMarkerWorker.getDefaultOfbizWrapper());
 request.setAttribute("ftlServletContext", ftlServletContext);
@@ -210,7 +211,7 @@ public class ControlServlet extends Http
 String errorPage = null;
 try {
 // the ServerHitBin call for the event is done inside the 
doRequest method
-requestHandler.doRequest(request, response, null, userLogin, 
delegator);
+handler.doRequest(request, response, null, userLogin, delegator);
 } catch (MethodNotAllowedException e) {
 response.setContentType("text/plain");
 response.setCharacterEncoding(request.getCharacterEncoding());
@@ -227,15 +228,15 @@ public class ControlServlet extends Http
 } else {
 Debug.logError(throwable, "Error in request handler: ", 
module);
 request.setAttribute("_ERROR_MESSAGE_", 
UtilCodec.getEncoder("html").encode(throwable.toString()));
-errorPage = requestHandler.getDefaultErrorPage(request);
+errorPage = handler.getDefaultErrorPage(request);
 }
  } catch (RequestHandlerExceptionAllowExternalRequests e) {
-  errorPage = requestHandler.getDefaultErrorPage(request);
+  errorPage = handler.getDefaultErrorPage(request);
   Debug.logInfo("Going to external page: " + 
request.getPathInfo(), module);
 } catch (Exception e) {
 Debug.logError(e, "Error in request handler: ", module);
 request.setAttribute("_ERROR_MESSAGE_", 
UtilCodec.getEncoder("html").encode(e.toString()));
-errorPage = requestHandler.getDefaultErrorPage(request);
+errorPage = handler.getDefaultErrorPage(request);
 }
 
 // Forward to the JSP
@@ -309,7 +310,7 @@ public class ControlServlet extends Http
 try {
 UtilHttp.setInitialRequestInfo(request);
 VisitHandler.getVisitor(request, response);
-if (requestHandler.trackStats(request)) {
+if 

svn commit: r1846783 - in /ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service: ServiceDispatcher.java engine/AbstractEngine.java

2018-11-17 Thread jleroux
Author: jleroux
Date: Sat Nov 17 08:57:19 2018
New Revision: 1846783

URL: http://svn.apache.org/viewvc?rev=1846783=rev
Log:
Improved: Simplification of the service callback handling
(OFBIZ-10649)

The service callback handling done in 
  org.apache.ofbiz.service.engine.AbstractEngine 
can be rewritten more nicely without explicit iterators. 
Additionally it is not nice that the engine is responsible for removing 
disabled callbacks. The ServiceDispatcher should be responsible for removing 
them.

Thanks: Mathieu Lirzin

Modified:

ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java

ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/engine/AbstractEngine.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java?rev=1846783=1846782=1846783=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceDispatcher.java
 Sat Nov 17 08:57:19 2018
@@ -18,6 +18,7 @@
  
***/
 package org.apache.ofbiz.service;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -201,17 +202,28 @@ public class ServiceDispatcher {
 }
 }
 
+/**
+ * Registers a callback by associating it to a service.
+ *
+ * @param serviceName the name of the service to associate the callback 
with
+ * @param cb the callback to register
+ */
 public synchronized void registerCallback(String serviceName, 
GenericServiceCallback cb) {
-List callBackList = callbacks.get(serviceName);
-if (callBackList == null) {
-callBackList = new LinkedList<>();
-}
-callBackList.add(cb);
-callbacks.put(serviceName, callBackList);
+callbacks.computeIfAbsent(serviceName, x -> new 
LinkedList<>()).add(cb);
 }
 
+/**
+ * Provides a list of the enabled callbacks corresponding to a service.
+ *
+ * As a side effect, disabled callbacks are removed.
+ *
+ * @param serviceName the name of service whose callbacks should be called
+ * @return a list of callbacks corresponding to {@code serviceName}
+ */
 public List getCallbacks(String serviceName) {
-return callbacks.get(serviceName);
+List res = callbacks.getOrDefault(serviceName, 
Collections.emptyList());
+res.removeIf(gsc -> !gsc.isEnabled());
+return res;
 }
 
 /**

Modified: 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/engine/AbstractEngine.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/engine/AbstractEngine.java?rev=1846783=1846782=1846783=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/engine/AbstractEngine.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/engine/AbstractEngine.java
 Sat Nov 17 08:57:19 2018
@@ -20,13 +20,11 @@ package org.apache.ofbiz.service.engine;
 
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.ofbiz.base.config.GenericConfigException;
 import org.apache.ofbiz.base.util.Debug;
-import org.apache.ofbiz.service.GenericServiceCallback;
 import org.apache.ofbiz.service.GenericServiceException;
 import org.apache.ofbiz.service.ModelService;
 import org.apache.ofbiz.service.ServiceDispatcher;
@@ -75,60 +73,27 @@ public abstract class AbstractEngine imp
 return model.location;
 }
 
-/**
- * @see 
org.apache.ofbiz.service.engine.GenericEngine#sendCallbacks(org.apache.ofbiz.service.ModelService,
 java.util.Map, int)
- */
-public void sendCallbacks(ModelService model, Map context, 
int mode) throws GenericServiceException {
-if (!allowCallbacks(model, context, mode)) {
-return;
-}
-List callbacks = 
dispatcher.getCallbacks(model.name);
-if (callbacks != null) {
-Iterator i = callbacks.iterator();
-while (i.hasNext()) {
-GenericServiceCallback gsc = i.next();
-if (gsc.isEnabled()) {
-gsc.receiveEvent(context);
-} else {
-i.remove();
-}
-}
+