You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2017/04/04 01:43:38 UTC
svn commit: r1790060 - in /myfaces/core/branches/2.3.x:
api/src/main/java/javax/faces/application/
shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/
Author: lu4242
Date: Tue Apr 4 01:43:38 2017
New Revision: 1790060
URL: http://svn.apache.org/viewvc?rev=1790060&view=rev
Log:
MYFACES-4106 - Implement ResourceHandler.markResourceRendered(...) and ResourceHandler.isResourceRendered(...)
Modified:
myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandler.java
myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandlerWrapper.java
myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java
Modified: myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandler.java?rev=1790060&r1=1790059&r2=1790060&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandler.java (original)
+++ myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandler.java Tue Apr 4 01:43:38 2017
@@ -19,6 +19,8 @@
package javax.faces.application;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
import java.util.stream.Stream;
import javax.faces.context.FacesContext;
@@ -64,6 +66,12 @@ public abstract class ResourceHandler
* @since 2.3
*/
public static final String JSF_SCRIPT_LIBRARY_NAME = "javax.faces";
+
+ private final static String MYFACES_JS_RESOURCE_NAME = "oamSubmit.js";
+ private final static String MYFACES_JS_RESOURCE_NAME_UNCOMPRESSED = "oamSubmit-uncompressed.js";
+ private final static String RENDERED_RESOURCES_SET = "org.apache.myfaces.RENDERED_RESOURCES_SET";
+ private final static String MYFACES_LIBRARY_NAME = "org.apache.myfaces";
+ private final static String RENDERED_MYFACES_JS = "org.apache.myfaces.RENDERED_MYFACES_JS";
public abstract Resource createResource(String resourceName);
@@ -111,15 +119,85 @@ public abstract class ResourceHandler
return url.contains(RESOURCE_IDENTIFIER);
}
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param path
+ * @param options
+ * @return
+ */
public Stream<java.lang.String> getViewResources(
FacesContext facesContext, String path, ResourceVisitOption... options)
{
return getViewResources(facesContext, path, Integer.MAX_VALUE, options);
}
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param path
+ * @param maxDepth
+ * @param options
+ * @return
+ */
public Stream<java.lang.String> getViewResources(FacesContext facesContext,
String path, int maxDepth, ResourceVisitOption... options)
{
return null;
}
+
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param resourceName
+ * @param libraryName
+ * @return
+ */
+ public boolean isResourceRendered(FacesContext facesContext, String resourceName, String libraryName)
+ {
+ return getRenderedResources(facesContext).containsKey(
+ libraryName != null ? libraryName+'/'+resourceName : resourceName);
+ }
+
+ /**
+ * @since 2.3
+ * @param context
+ * @param resourceName
+ * @param libraryName
+ */
+ public void markResourceRendered(FacesContext facesContext, String resourceName, String libraryName)
+ {
+ getRenderedResources(facesContext).put(
+ libraryName != null ? libraryName+'/'+resourceName : resourceName, Boolean.TRUE);
+ if (ResourceHandler.JSF_SCRIPT_LIBRARY_NAME.equals(libraryName) &&
+ ResourceHandler.JSF_SCRIPT_RESOURCE_NAME.equals(resourceName))
+ {
+ // If we are calling this method, it is expected myfaces core is being used as runtime and note
+ // oamSubmit script is included inside jsf.js, so mark this one too.
+ getRenderedResources(facesContext).put(
+ MYFACES_LIBRARY_NAME+'/'+MYFACES_JS_RESOURCE_NAME, Boolean.TRUE);
+ }
+ }
+
+ /**
+ * Return a set of already rendered resources by this renderer on the current
+ * request.
+ *
+ * @param facesContext
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<String, Boolean> getRenderedResources(FacesContext facesContext)
+ {
+ Map<String, Boolean> map = (Map<String, Boolean>) facesContext.getAttributes().get(
+ RENDERED_RESOURCES_SET);
+ if (map == null)
+ {
+ map = new HashMap<String, Boolean>();
+ facesContext.getAttributes().put(RENDERED_RESOURCES_SET,map);
+ }
+ return map;
+ }
+
+
}
Modified: myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandlerWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandlerWrapper.java?rev=1790060&r1=1790059&r2=1790060&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandlerWrapper.java (original)
+++ myfaces/core/branches/2.3.x/api/src/main/java/javax/faces/application/ResourceHandlerWrapper.java Tue Apr 4 01:43:38 2017
@@ -107,6 +107,14 @@ public abstract class ResourceHandlerWra
return delegate;
}
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param path
+ * @param maxDepth
+ * @param options
+ * @return
+ */
@Override
public Stream<String> getViewResources(
FacesContext facesContext, String path, int maxDepth, ResourceVisitOption... options)
@@ -114,9 +122,41 @@ public abstract class ResourceHandlerWra
return getWrapped().getViewResources(facesContext, path, maxDepth, options);
}
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param path
+ * @param options
+ * @return
+ */
@Override
public Stream<String> getViewResources(FacesContext facesContext, String path, ResourceVisitOption... options)
{
return getWrapped().getViewResources(facesContext, path, options);
}
+
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param resourceName
+ * @param libraryName
+ */
+ @Override
+ public void markResourceRendered(FacesContext facesContext, String resourceName, String libraryName)
+ {
+ getWrapped().markResourceRendered(facesContext, resourceName, libraryName);
+ }
+
+ /**
+ * @since 2.3
+ * @param facesContext
+ * @param resourceName
+ * @param libraryName
+ * @return
+ */
+ @Override
+ public boolean isResourceRendered(FacesContext facesContext, String resourceName, String libraryName)
+ {
+ return getWrapped().isResourceRendered(facesContext, resourceName, libraryName);
+ }
}
Modified: myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java?rev=1790060&r1=1790059&r2=1790060&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java (original)
+++ myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java Tue Apr 4 01:43:38 2017
@@ -19,8 +19,6 @@
package org.apache.myfaces.shared.renderkit.html.util;
import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
import javax.faces.FacesWrapper;
import javax.faces.application.Resource;
@@ -61,9 +59,6 @@ public class ResourceUtils
public final static String JSF_MYFACES_JSFJS_EXPERIMENTAL = "jsf-experimental.js";
public final static String JSF_MYFACES_JSFJS_LEGACY = "jsf-legacy.js";
- private final static String RENDERED_STYLESHEET_RESOURCES_SET =
- "org.apache.myfaces.RENDERED_STYLESHEET_RESOURCES_SET";
- private final static String RENDERED_SCRIPT_RESOURCES_SET = "org.apache.myfaces.RENDERED_SCRIPT_RESOURCES_SET";
private final static String RENDERED_JSF_JS = "org.apache.myfaces.RENDERED_JSF_JS";
public final static String HEAD_TARGET = "head";
public final static String BODY_TARGET = "body";
@@ -74,76 +69,28 @@ public class ResourceUtils
public static final String DEFAULT_SCRIPT_RENDERER_TYPE = "javax.faces.resource.Script";
public static final String DEFAULT_STYLESHEET_RENDERER_TYPE = "javax.faces.resource.Stylesheet";
- /**
- * Return a set of already rendered resources by this renderer on the current
- * request.
- *
- * @param facesContext
- * @return
- */
- @SuppressWarnings("unchecked")
- private static Map<String, Boolean> getRenderedStylesheetResources(FacesContext facesContext)
- {
- Map<String, Boolean> map = (Map<String, Boolean>) facesContext.getAttributes().get(
- RENDERED_STYLESHEET_RESOURCES_SET);
- if (map == null)
- {
- map = new HashMap<String, Boolean>();
- facesContext.getAttributes().put(RENDERED_STYLESHEET_RESOURCES_SET,map);
- }
- return map;
- }
-
- /**
- * Return a set of already rendered resources by this renderer on the current
- * request.
- *
- * @param facesContext
- * @return
- */
- @SuppressWarnings("unchecked")
- private static Map<String, Boolean> getRenderedScriptResources(FacesContext facesContext)
- {
- Map<String, Boolean> map = (Map<String, Boolean>) facesContext.getAttributes().get(
- RENDERED_SCRIPT_RESOURCES_SET);
- if (map == null)
- {
- map = new HashMap<String, Boolean>();
- facesContext.getAttributes().put(RENDERED_SCRIPT_RESOURCES_SET,map);
- }
- return map;
- }
-
public static void markScriptAsRendered(FacesContext facesContext, String libraryName, String resourceName)
{
- getRenderedScriptResources(facesContext).put(
- libraryName != null ? libraryName+'/'+resourceName : resourceName, Boolean.TRUE);
- if (ResourceHandler.JSF_SCRIPT_LIBRARY_NAME.equals(libraryName) &&
- ResourceHandler.JSF_SCRIPT_RESOURCE_NAME.equals(resourceName))
- {
- // If we are calling this method, it is expected myfaces core is being used as runtime and note
- // oamSubmit script is included inside jsf.js, so mark this one too.
- getRenderedScriptResources(facesContext).put(
- MYFACES_LIBRARY_NAME+'/'+MYFACES_JS_RESOURCE_NAME, Boolean.TRUE);
- }
+ facesContext.getApplication().getResourceHandler().markResourceRendered(
+ facesContext, resourceName, libraryName);
}
public static void markStylesheetAsRendered(FacesContext facesContext, String libraryName, String resourceName)
{
- getRenderedStylesheetResources(facesContext).put(
- libraryName != null ? libraryName+'/'+resourceName : resourceName, Boolean.TRUE);
+ facesContext.getApplication().getResourceHandler().markResourceRendered(
+ facesContext, resourceName, libraryName);
}
public static boolean isRenderedScript(FacesContext facesContext, String libraryName, String resourceName)
{
- return getRenderedScriptResources(facesContext).containsKey(
- libraryName != null ? libraryName+'/'+resourceName : resourceName);
+ return facesContext.getApplication().getResourceHandler().isResourceRendered(
+ facesContext, resourceName, libraryName);
}
public static boolean isRenderedStylesheet(FacesContext facesContext, String libraryName, String resourceName)
{
- return getRenderedStylesheetResources(facesContext).containsKey(
- libraryName != null ? libraryName+'/'+resourceName : resourceName);
+ return facesContext.getApplication().getResourceHandler().isResourceRendered(
+ facesContext, resourceName, libraryName);
}
public static void writeScriptInline(FacesContext facesContext, ResponseWriter writer, String libraryName,