You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pa...@apache.org on 2018/03/22 15:08:26 UTC

svn commit: r1827505 - in /myfaces/core/branches/2.3.x: api/src/main/java/javax/faces/context/ impl/src/main/java/org/apache/myfaces/context/servlet/

Author: paulnicolucci
Date: Thu Mar 22 15:08:26 2018
New Revision: 1827505

URL: http://svn.apache.org/viewvc?rev=1827505&view=rev
Log:
MYFACES-4205 encodeWebsocketURL should be abstract

Modified:
    myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/context/ExternalContext.java
    myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
    myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/StartupServletExternalContextImpl.java

Modified: myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/context/ExternalContext.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/context/ExternalContext.java?rev=1827505&r1=1827504&r2=1827505&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/context/ExternalContext.java (original)
+++ myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/context/ExternalContext.java Thu Mar 22 15:08:26 2018
@@ -806,19 +806,10 @@ public abstract class ExternalContext
     }
     
     /**
-     * 
+     * @since 2.3
      * @param url
      * @return 
      */
-    public String encodeWebsocketURL(String url)
-    {
-        ExternalContext ctx = _MyFacesExternalContextHelper.firstInstance.get();
-        
-        if (ctx == null)
-        {
-            throw new UnsupportedOperationException();
-        }
-        
-        return ctx.encodeWebsocketURL(url);
-    }
+    public abstract String encodeWebsocketURL(String url);
+
 }

Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java?rev=1827505&r1=1827504&r2=1827505&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java Thu Mar 22 15:08:26 2018
@@ -450,8 +450,10 @@ public final class ServletExternalContex
     }
 
     @Override
-    public String encodeWebsocketURL(String baseUrl)
+    public String encodeWebsocketURL(String url)
     {
+
+        checkNull(url, "url");
         FacesContext facesContext = getCurrentFacesContext();
         Integer port = WebConfigParamUtils.getIntegerInitParameter(
                 getCurrentFacesContext().getExternalContext(), ViewHandler.WEBSOCKET_PORT);
@@ -461,22 +463,22 @@ public final class ServletExternalContex
         {
             String scheme = facesContext.getExternalContext().getRequestScheme();
             String serverName = facesContext.getExternalContext().getRequestServerName();
-            String url;
+            String webSocketUrl;
             try
             {
-                url = new URL(scheme, serverName, port, baseUrl).toExternalForm();
-                url = url.replaceFirst("http", "ws");
-                return ((HttpServletResponse) _servletResponse).encodeURL(url);
+                webSocketUrl = new URL(scheme, serverName, port, url).toExternalForm();
+                webSocketUrl = webSocketUrl.replaceFirst("http", "ws");
+                return ((HttpServletResponse) _servletResponse).encodeURL(webSocketUrl);
             }
             catch (MalformedURLException ex)
             {
                 //If cannot build the url, return the base one unchanged
-                return baseUrl;
+                return url;
             }
         }
         else
         {
-            return baseUrl;
+            return url;
         }
     }
 

Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/StartupServletExternalContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/StartupServletExternalContextImpl.java?rev=1827505&r1=1827504&r2=1827505&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/StartupServletExternalContextImpl.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/context/servlet/StartupServletExternalContextImpl.java Thu Mar 22 15:08:26 2018
@@ -446,6 +446,12 @@ public class StartupServletExternalConte
         throw new UnsupportedOperationException(EXCEPTION_TEXT + _getTime());
     }
 
+    @Override
+    public String encodeWebsocketURL(String url)
+    {
+        throw new UnsupportedOperationException(EXCEPTION_TEXT + _getTime());
+    }
+
     // ~ private Methods ------------------------------------------------------
     
     /**