Ravi Nori has uploaded a new change for review. Change subject: core : Display custom error page if reports is not installed ......................................................................
core : Display custom error page if reports is not installed When reports is not installed the link from /ovirt-engine/ page takes you to 404 page when user clicks on reports link. A custom error page is displayed that shows the message that reports is not installed Change-Id: Idaed902328695e2d448ac49c414ddfbde8d3fd25 Bug-Url: https://bugzilla.redhat.com/1143998 Signed-off-by: Ravi Nori <rn...@redhat.com> --- M backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/servlet/RedirectServlet.java M backend/manager/modules/welcome/src/main/resources/messages.properties M backend/manager/modules/welcome/src/main/webapp/WEB-INF/web.xml M packaging/services/ovirt-engine/ovirt-engine.conf.in 5 files changed, 40 insertions(+), 9 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/33639/1 diff --git a/backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml b/backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml index eacb753..656532f 100644 --- a/backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml +++ b/backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml @@ -62,6 +62,10 @@ <param-name>url</param-name> <param-value>%{ENGINE_REPORTS_BASE_URL}</param-value> </init-param> + <init-param> + <param-name>url404</param-name> + <param-value>%{ENGINE_REPORTS_NOT_INSTALLED_URL}</param-value> + </init-param> </servlet> <servlet-mapping> <servlet-name>reports-redirect</servlet-name> diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/servlet/RedirectServlet.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/servlet/RedirectServlet.java index 51285b1..faa5ccd 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/servlet/RedirectServlet.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/servlet/RedirectServlet.java @@ -27,8 +27,11 @@ private static final long serialVersionUID = -1794616863361241804L; private static final String URL = "url"; + private static final String URL404 = "url404"; private String url; + private String url404; + private static final String url404Default = EngineLocalConfig.getInstance().getEngineURI() + "/404.html"; @Override public void init(ServletConfig config) throws ServletException { @@ -36,19 +39,29 @@ // we use %{x} convention to avoid conflict with jboss properties url = EngineLocalConfig.getInstance().expandString(config.getInitParameter(URL).replaceAll("%\\{", "\\${")); + String url404ConfigValue = config.getInitParameter(URL404); + if (StringUtils.isNotEmpty(url404ConfigValue)) { + url404 = EngineLocalConfig.getInstance().expandString(url404ConfigValue.replaceAll("%\\{", "\\${")); + } else { + url404 = url404Default; + } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String redirectUrl = url; - String queryString = request.getQueryString(); - if (StringUtils.isNotEmpty(queryString)) { - if (redirectUrl.indexOf("?") == -1) { - redirectUrl += "?"; - } else { - redirectUrl += "&"; + if (StringUtils.isNotEmpty(redirectUrl)) { + String queryString = request.getQueryString(); + if (StringUtils.isNotEmpty(queryString)) { + if (redirectUrl.indexOf("?") == -1) { + redirectUrl += "?"; + } else { + redirectUrl += "&"; + } + redirectUrl += queryString; } - redirectUrl += queryString; + } else { + redirectUrl = url404; } response.sendRedirect(redirectUrl); } diff --git a/backend/manager/modules/welcome/src/main/resources/messages.properties b/backend/manager/modules/welcome/src/main/resources/messages.properties index ab2a054..35d4da1 100644 --- a/backend/manager/modules/welcome/src/main/resources/messages.properties +++ b/backend/manager/modules/welcome/src/main/resources/messages.properties @@ -4,3 +4,6 @@ #405 error page methodnotallowed.method_not_allowed=405 - Method not allowed methodnotallowed.link=Click here to continue. +#reports not installed error page +reportsnotinstalled.reports_not_installed=Reports not installed +reportsnotinstalled.link=Click here to continue. diff --git a/backend/manager/modules/welcome/src/main/webapp/WEB-INF/web.xml b/backend/manager/modules/welcome/src/main/webapp/WEB-INF/web.xml index ea806a8..f6180d3 100644 --- a/backend/manager/modules/welcome/src/main/webapp/WEB-INF/web.xml +++ b/backend/manager/modules/welcome/src/main/webapp/WEB-INF/web.xml @@ -61,7 +61,18 @@ <url-pattern>/405.html</url-pattern> </servlet-mapping> - <!-- Welcome page --> + <!-- ReportsNotInstalled Servlet --> + <servlet> + <servlet-name>ReportsNotInstalledServlet</servlet-name> + <jsp-file>/WEB-INF/ReportsNotInstalled.jsp</jsp-file> + </servlet> + + <servlet-mapping> + <servlet-name>ReportsNotInstalledServlet</servlet-name> + <url-pattern>/ReportsNotInstalled.html</url-pattern> + </servlet-mapping> + + <!-- Welcome page --> <servlet> <servlet-name>WelcomeServlet</servlet-name> <servlet-class>org.ovirt.engine.core.WelcomeServlet</servlet-class> diff --git a/packaging/services/ovirt-engine/ovirt-engine.conf.in b/packaging/services/ovirt-engine/ovirt-engine.conf.in index c7411d7..caf1606 100644 --- a/packaging/services/ovirt-engine/ovirt-engine.conf.in +++ b/packaging/services/ovirt-engine/ovirt-engine.conf.in @@ -219,6 +219,6 @@ ENGINE_REPORTS_VERIFY_CHAIN=true ENGINE_REPORTS_READ_TIMEOUT= ENGINE_REPORTS_RIGHTCLICK_URL= - +ENGINE_REPORTS_NOT_INSTALLED_URL=/ovirt-engine/ReportsNotInstalled.html ENGINE_EXTENSION_PATH="${ENGINE_USR}/extensions.d:${ENGINE_ETC}/extensions.d" -- To view, visit http://gerrit.ovirt.org/33639 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idaed902328695e2d448ac49c414ddfbde8d3fd25 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches