buildbot success in on ofbizTrunkFrameworkPlugins
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
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
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
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
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
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
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(); -} -} +