Martin Marinschek wrote:
Hi Vadim,
I hope I don't ask to much: could you add one of these great
stats-pages you have in place for many of the apache projects for
MyFaces as well?
Done, enjoy.
http://people.apache.org/~vgritsenko/stats/projects/myfaces.html
Would be very, very great!
Is there anything we have to fulfill technology wise to qualify?
Of course! :-) Please consider attached patch - it will help us get rid of
patched [1] version of myfaces in the svn [2]
Thanks,
Vadim
[1] http://svn.apache.org/repos/asf/cocoon/blocks/faces/trunk/samples/
See myfaces-patch.diff
[2] http://svn.apache.org/repos/asf/cocoon/trunk/lib/optional/
See myfaces-20041005m.jar
Index: src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
===================================================================
--- src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
(revision 201516)
+++ src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
(working copy)
@@ -189,7 +189,7 @@
}
ServletMapping servletMapping = getServletMapping(externalContext);
- if (servletMapping.isExtensionMapping())
+ if (servletMapping != null && servletMapping.isExtensionMapping())
{
String defaultSuffix =
externalContext.getInitParameter(ViewHandler.DEFAULT_SUFFIX_PARAM_NAME);
String suffix = defaultSuffix != null ? defaultSuffix :
ViewHandler.DEFAULT_SUFFIX;
@@ -284,6 +284,12 @@
ServletMapping servletMapping =
getServletMapping(facescontext.getExternalContext());
+ if (servletMapping == null)
+ {
+ // If no servlet mappings found, return viewID as is.
+ return viewId;
+ }
+
if (servletMapping.isExtensionMapping())
{
// extension mapping
@@ -366,9 +372,10 @@
return (ServletMapping) mappings.get(0);
}
else {
- log.error("no faces servlet mappings found");
- throw new IllegalArgumentException("could not find pathMapping for
servletPath = " + servletPath +
- " requestPathInfo = " + requestPathInfo);
+ // No mappings found, return null
+ log.warn("could not find pathMapping for servletPath = " +
servletPath +
+ " requestPathInfo = " + requestPathInfo);
+ return null;
}
}