You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2019/07/03 10:46:09 UTC
[empire-db] branch master updated: EMPIREDB-288 provide handler for
View Not Found in WebApplication
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 77c701f EMPIREDB-288 provide handler for View Not Found in WebApplication
77c701f is described below
commit 77c701f6289ed27668df3fdd64b28f6972d8617f
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Wed Jul 3 12:45:55 2019 +0200
EMPIREDB-288
provide handler for View Not Found in WebApplication
---
.../java/org/apache/empire/jsf2/app/WebApplication.java | 14 ++++++++++++--
.../org/apache/empire/jsf2/pages/PagePhaseListener.java | 6 ++++--
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/WebApplication.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/WebApplication.java
index ccd5e7c..c09be7b 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/WebApplication.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/WebApplication.java
@@ -36,6 +36,7 @@ import javax.faces.component.UIComponent;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
import javax.sql.DataSource;
import org.apache.empire.commons.StringUtils;
@@ -131,13 +132,22 @@ public abstract class WebApplication
}
/**
+ * handle view not found
+ * @param fc
+ * @param HttpServletRequest
+ */
+ public void onViewNotFound(final FacesContext fc, final HttpServletRequest req)
+ { // View not Found Error
+ log.warn("No view found for request to '{}'. Use FacesUtils.redirectDirectly() to redirect to valid view.", req.getRequestURI());
+ }
+
+ /**
* handle view change
* @param fc
* @param viewId
*/
public void onChangeView(final FacesContext fc, String viewId)
- {
- // allow custom view change logic
+ { // allow custom view change logic
// clear page resources
Map<String, Object> sm = FacesUtils.getSessionMap(fc);
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PagePhaseListener.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PagePhaseListener.java
index 9c140b8..38322c2 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PagePhaseListener.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/PagePhaseListener.java
@@ -83,7 +83,10 @@ public class PagePhaseListener implements PhaseListener
String viewId = vr.getViewId();
if (viewId==null)
{ // Error: No viewId!
- log.warn("No viewId provided for PagePhaseEvent in phase {}.", phaseId);
+ if (phaseId==PhaseId.RENDER_RESPONSE)
+ FacesUtils.getWebApplication().onViewNotFound(fc, FacesUtils.getHttpRequest(fc));
+ else
+ log.error("No viewId provided for PagePhaseEvent in phase "+phaseId.getName());
return;
}
@@ -105,7 +108,6 @@ public class PagePhaseListener implements PhaseListener
{ // No page definition available
if (log.isDebugEnabled())
log.debug("No page definition available for viewId {}.", viewId);
- return;
}
// Check Request context path