You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by cr...@apache.org on 2006/05/23 07:31:59 UTC
svn commit: r408835 - in
/struts/shale/trunk/core-library/src/java/org/apache/shale/remoting:
Constants.java faces/MappingsHelper.java
Author: craigmcc
Date: Mon May 22 22:31:59 2006
New Revision: 408835
URL: http://svn.apache.org/viewvc?rev=408835&view=rev
Log:
Explicitly support identification of the Faces Servlet instance to be used
for remoting requests. By default, the last servlet definition for servlet
class javax.faces.webapp.FacesServlet will be used.
JIRA Issue: SHALE-178
Patch Supplied By: Ed Burns <edburns AT acm.org>
Modified:
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java
Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java
URL: http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java?rev=408835&r1=408834&r2=408835&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java (original)
+++ struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java Mon May 22 22:31:59 2006
@@ -63,6 +63,16 @@
/**
+ * <p>Context initialization parameter defining the name of the
+ * Faces Servlet to be used for remoting requests. If not specified,
+ * the last (or only) servlet definition for a servlet whose class is
+ * <code>javax.faces.webapp.FacesServlet</code> is used.</p>
+ */
+ public static final String FACES_SERVLET_NAME_PARAM=
+ "org.apache.shale.remoting.FACES_SERVLET_NAME";
+
+
+ /**
* <p>Context initialization parameter containing the fully qualified
* class name of the {@link Mapping} implementation class to use. If
* not specified, <code>org.apache.shale.remoting.impl.MappingImpl</code>
Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java
URL: http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java?rev=408835&r1=408834&r2=408835&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java (original)
+++ struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java Mon May 22 22:31:59 2006
@@ -333,28 +333,27 @@
}
// Identify the servlet name of the JavaServer Faces controller servlet
- String name = null;
- NodeList servletNodes = document.getElementsByTagName("servlet");
- for (int i = 0; i < servletNodes.getLength(); i++) {
- Node servletNode = servletNodes.item(i);
- String servletName = null;
- String servletClass = null;
- NodeList kids = servletNode.getChildNodes();
- for (int j = 0; j < kids.getLength(); j++) {
- Node kid = kids.item(j);
- if ("servlet-name".equals(kid.getNodeName())) {
- servletName = text(kid);
- } else if ("servlet-class".equals(kid.getNodeName())) {
- servletClass = text(kid);
+ String name =
+ context.getExternalContext().getInitParameter(Constants.FACES_SERVLET_NAME_PARAM);
+ if (null == name) {
+ NodeList servletNodes = document.getElementsByTagName("servlet");
+ for (int i = 0; i < servletNodes.getLength(); i++) {
+ Node servletNode = servletNodes.item(i);
+ String servletName = null;
+ String servletClass = null;
+ NodeList kids = servletNode.getChildNodes();
+ for (int j = 0; j < kids.getLength(); j++) {
+ Node kid = kids.item(j);
+ if ("servlet-name".equals(kid.getNodeName())) {
+ servletName = text(kid);
+ } else if ("servlet-class".equals(kid.getNodeName())) {
+ servletClass = text(kid);
+ }
+ }
+ if ("javax.faces.webapp.FacesServlet".equals(servletClass)) {
+ name = servletName;
}
}
- if ("javax.faces.webapp.FacesServlet".equals(servletClass)) {
- name = servletName;
-// break;
- }
- }
- if (name == null) {
- return new String[0];
}
// Identify the URL patterns to which this servlet is mapped