Author: alexsmirnov
Date: 2009-01-15 20:43:39 -0500 (Thu, 15 Jan 2009)
New Revision: 12304
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/resource/ResourceContext.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CachedResourceContext.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/FacesResourceContext.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ServletResourceContext.java
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/StaticResource.java
Log:
access to ServletContext attributes added to the ResourceContext
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/resource/ResourceContext.java
===================================================================
---
trunk/framework/api/src/main/java/org/ajax4jsf/resource/ResourceContext.java 2009-01-15
20:35:17 UTC (rev 12303)
+++
trunk/framework/api/src/main/java/org/ajax4jsf/resource/ResourceContext.java 2009-01-16
01:43:39 UTC (rev 12304)
@@ -25,6 +25,9 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
/**
* Abstraction context class for rendering resource ( image, script, style )
@@ -87,8 +90,78 @@
*/
public abstract Object getSessionAttribute(String name);
- public abstract InputStream getResourceAsStream(String path);
+ /**
+ * Get ServletContext attribute by name.
+ * @param name
+ * @return value for attribute, or null.
+ */
+ public abstract Object getContextAttribute(String name);
+ /**
+ * <p>Return a <code>URL</code> for the application resource mapped
to the
+ * specified path, if it exists; otherwise, return
<code>null</code>.</p>
+ *
+ * <p><em>Servlet:</em> This must be the value returned by the
+ * <code>javax.servlet.ServletContext</code> method
+ * <code>getResource(path)</code>.</p>
+ *
+ * <p><em>Portlet:</em> This must be the value returned by the
+ * <code>javax.portlet.PortletContext</code> method
+ * <code>getResource(path)</code>.</p>
+ *
+ * @param path The path to the requested resource, which must
+ * start with a slash ("/" character
+ *
+ * @throws MalformedURLException if the specified path
+ * is not in the correct form
+ * @throws NullPointerException if <code>path</code>
+ * is <code>null</code>
+ */
+ public abstract URL getResource(String path) throws MalformedURLException;
+
+
+ /**
+ * <p>Return an <code>InputStream</code> for an application
resource
+ * mapped to the specified path, if it exists; otherwise, return
+ * <code>null</code>.</p>
+ *
+ * <p><em>Servlet:</em> This must be the value returned by the
+ * <code>javax.servlet.ServletContext</code> method
+ * <code>getResourceAsStream(path)</code>.</p>
+ *
+ * <p><em>Portlet:</em> This must be the value returned by the
+ * <code>javax.portlet.PortletContext</code> method
+ * <code>getResourceAsStream(path)</code>.</p>
+ *
+ * @param path The path to the requested resource, which must
+ * start with a slash ("/" character
+ *
+ * @throws NullPointerException if <code>path</code>
+ * is <code>null</code>
+ */
+ public abstract InputStream getResourceAsStream(String path);
+
+
+ /**
+ * <p>Return the <code>Set</code> of resource paths for all
application
+ * resources whose resource path starts with the specified argument.</p>
+ *
+ * <p><em>Servlet:</em> This must be the value returned by the
+ * <code>javax.servlet.ServletContext</code> method
+ * <code>getResourcePaths(path).</code></p>
+ *
+ * <p><em>Portlet:</em> This must be the value returned by the
+ * <code>javax.portlet.PortletContext</code> method
+ * <code>getResourcePaths(path).</code></p>
+ *
+ * @param path Partial path used to match resources, which must
+ * start with a slash ("/") character
+ *
+ * @throws NullPointerException if <code>path</code>
+ * is <code>null</code>
+ */
+ public abstract Set<String> getResourcePaths(String path);
+
/**
* Get request parameter for given name.
* @param data_parameter
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CachedResourceContext.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CachedResourceContext.java 2009-01-15
20:35:17 UTC (rev 12303)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/CachedResourceContext.java 2009-01-16
01:43:39 UTC (rev 12304)
@@ -25,6 +25,9 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
import org.ajax4jsf.resource.ResourceContext;
import org.ajax4jsf.webapp.CacheContent;
@@ -89,7 +92,37 @@
public Object getSessionAttribute(String name) {
return this.parent.getSessionAttribute(name);
}
+
+
+ /**
+ * @param name
+ * @return
+ * @see org.ajax4jsf.resource.ResourceContext#getContextAttribute(java.lang.String)
+ */
+ public Object getContextAttribute(String name) {
+ return parent.getContextAttribute(name);
+ }
+
+ /**
+ * @param path
+ * @return
+ * @throws MalformedURLException
+ * @see org.ajax4jsf.resource.ResourceContext#getResource(java.lang.String)
+ */
+ public URL getResource(String path) throws MalformedURLException {
+ return parent.getResource(path);
+ }
+
+ /**
+ * @param path
+ * @return
+ * @see org.ajax4jsf.resource.ResourceContext#getResourcePaths(java.lang.String)
+ */
+ public Set<String> getResourcePaths(String path) {
+ return parent.getResourcePaths(path);
+ }
+
/* (non-Javadoc)
* @see org.ajax4jsf.resource.ResourceContext#setDateHeader(java.lang.String, long)
*/
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/FacesResourceContext.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/FacesResourceContext.java 2009-01-15
20:35:17 UTC (rev 12303)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/FacesResourceContext.java 2009-01-16
01:43:39 UTC (rev 12304)
@@ -26,6 +26,9 @@
import java.io.OutputStream;
import java.io.PrintWriter;
import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
import javax.faces.FacesException;
import javax.faces.context.ExternalContext;
@@ -178,13 +181,38 @@
return externalContext.getSessionMap().get(name);
}
+ @Override
+ public Object getContextAttribute(String name) {
+ return externalContext.getApplicationMap().get(name);
+ }
+
+
public InputStream getResourceAsStream(String path) {
return externalContext.getResourceAsStream(path);
}
- public String getRequestParameter(String data_parameter) {
+ /**
+ * @param path
+ * @return
+ * @throws MalformedURLException
+ * @see javax.faces.context.ExternalContext#getResource(java.lang.String)
+ */
+ public URL getResource(String path) throws MalformedURLException {
+ return externalContext.getResource(path);
+ }
+ /**
+ * @param path
+ * @return
+ * @see javax.faces.context.ExternalContext#getResourcePaths(java.lang.String)
+ */
+ public Set<String> getResourcePaths(String path) {
+ return externalContext.getResourcePaths(path);
+ }
+
+ public String getRequestParameter(String data_parameter) {
+
return (String) externalContext.getRequestParameterMap().get(
data_parameter);
}
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ServletResourceContext.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ServletResourceContext.java 2009-01-15
20:35:17 UTC (rev 12303)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/ServletResourceContext.java 2009-01-16
01:43:39 UTC (rev 12304)
@@ -25,6 +25,9 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Set;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
@@ -108,6 +111,34 @@
return request.getSession(false).getAttribute(name);
}
+ /**
+ * @param name
+ * @return
+ * @see javax.servlet.ServletContext#getAttribute(java.lang.String)
+ */
+ public Object getContextAttribute(String name) {
+ return context.getAttribute(name);
+ }
+
+ /**
+ * @param path
+ * @return
+ * @throws MalformedURLException
+ * @see javax.servlet.ServletContext#getResource(java.lang.String)
+ */
+ public URL getResource(String path) throws MalformedURLException {
+ return context.getResource(path);
+ }
+
+ /**
+ * @param path
+ * @return
+ * @see javax.servlet.ServletContext#getResourcePaths(java.lang.String)
+ */
+ public Set getResourcePaths(String path) {
+ return context.getResourcePaths(path);
+ }
+
public InputStream getResourceAsStream(String path) {
// TODO Auto-generated method stub
return context.getResourceAsStream(path);
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/resource/StaticResource.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/StaticResource.java 2009-01-15
20:35:17 UTC (rev 12303)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/resource/StaticResource.java 2009-01-16
01:43:39 UTC (rev 12304)
@@ -77,13 +77,9 @@
return context.getExternalContext().encodeResourceURL(src);
}
- public void encode(FacesContext context, Object data) {
- // TODO Auto-generated method stub
- }
-
/**
* @return the path
*/
Show replies by date