You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/07/08 00:05:00 UTC

svn commit: r209661 - /myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java

Author: mmarinschek
Date: Thu Jul  7 15:05:00 2005
New Revision: 209661

URL: http://svn.apache.org/viewcvs?rev=209661&view=rev
Log:
path for vadim's cocoon integration to MyFaces finally makes it in...

Modified:
    myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java

Modified: myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java?rev=209661&r1=209660&r2=209661&view=diff
==============================================================================
--- myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java (original)
+++ myfaces/impl/trunk/src/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java Thu Jul  7 15:05:00 2005
@@ -189,7 +189,8 @@
         }
 
         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,41 +285,48 @@
 
         ServletMapping servletMapping = getServletMapping(facescontext.getExternalContext());
 
-        if (servletMapping.isExtensionMapping())
+        if (servletMapping !=null)
         {
-            // extension mapping
-            String urlpattern = servletMapping.getUrlPattern();
-            if (urlpattern.startsWith("*"))
-            {
-                urlpattern = urlpattern.substring(1, urlpattern.length());
-            }
-            if (viewId.endsWith(urlpattern))
+            if(servletMapping.isExtensionMapping())
             {
-                return viewId;
-            }
-            else
-            {
-                int idx = viewId.lastIndexOf(".");
-                if (idx >= 0)
+                // extension mapping
+                String urlpattern = servletMapping.getUrlPattern();
+                if (urlpattern.startsWith("*"))
                 {
-                    return viewId.substring(0, idx) + urlpattern;
+                    urlpattern = urlpattern.substring(1, urlpattern.length());
                 }
-                else
+                if (viewId.endsWith(urlpattern))
                 {
-                    return viewId + urlpattern;
+                    return viewId;
                 }
+                else
+                {
+                    int idx = viewId.lastIndexOf(".");
+                    if (idx >= 0)
+                    {
+                        return viewId.substring(0, idx) + urlpattern;
+                    }
+                    else
+                    {
+                        return viewId + urlpattern;
+                    }
 
+                }
+            }
+            else
+            {
+                // prefix mapping
+                String urlpattern = servletMapping.getUrlPattern();
+                if (urlpattern.endsWith("/*"))
+                {
+                    urlpattern = urlpattern.substring(0, urlpattern.length() - 2);
+                }
+                return urlpattern + viewId;
             }
         }
         else
         {
-            // prefix mapping
-            String urlpattern = servletMapping.getUrlPattern();
-            if (urlpattern.endsWith("/*"))
-            {
-                urlpattern = urlpattern.substring(0, urlpattern.length() - 2);
-            }
-            return urlpattern + viewId;
+            return viewId;
         }
     }
 
@@ -362,13 +370,14 @@
 
         // handle cases as best possible where servletPath is not a faces servlet,
         // such as when coming through struts-faces
-        if (mappings.size() > 0) {
+        if (mappings.size() > 0)
+        {
             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);
+        else
+        {
+            log.warn("no faces servlet mappings found");
+            return null;
         }
     }