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 2011/06/16 00:38:35 UTC
svn commit: r1136229 [2/2] - in
/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces:
application/ el/ el/convert/ el/unified/ el/unified/resolver/
el/unified/resolver/implicitobject/
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ScopedAttributeResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ScopedAttributeResolver.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ScopedAttributeResolver.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ScopedAttributeResolver.java Wed Jun 15 22:38:34 2011
@@ -18,113 +18,155 @@
*/
package org.apache.myfaces.el.unified.resolver;
-import java.beans.FeatureDescriptor;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import org.apache.myfaces.context.servlet.StartupServletExternalContextImpl;
import javax.el.ELContext;
import javax.el.ELException;
import javax.el.ELResolver;
import javax.el.PropertyNotFoundException;
import javax.el.PropertyNotWritableException;
+import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
+import java.beans.FeatureDescriptor;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
* See JSF 1.2 spec section 5.6.2.7
- *
+ *
* @author Stan Silvert
*/
-public final class ScopedAttributeResolver extends ELResolver {
-
+public final class ScopedAttributeResolver extends ELResolver
+{
+
/**
* Creates a new instance of ScopedAttributeResolver
*/
- public ScopedAttributeResolver() {
+ public ScopedAttributeResolver()
+ {
}
+ @Override
public void setValue(final ELContext context, final Object base, final Object property, final Object value)
- throws NullPointerException, PropertyNotFoundException, PropertyNotWritableException, ELException {
-
- if (base != null) return;
- if (property == null) throw new PropertyNotFoundException();
-
- final Map<String, Object> scopedMap = findScopedMap(externalContext(context), property);
- if (scopedMap != null) {
+ throws NullPointerException, PropertyNotFoundException, PropertyNotWritableException, ELException
+ {
+ if (base != null)
+ {
+ return;
+ }
+
+ if (property == null)
+ {
+ throw new PropertyNotFoundException();
+ }
+
+ final Map<String, Object> scopedMap = findScopedMap(facesContext(context), property);
+ if (scopedMap != null)
+ {
scopedMap.put((String)property, value);
- } else {
+ }
+ else
+ {
externalContext(context).getRequestMap().put((String)property, value);
}
-
+
context.setPropertyResolved(true);
}
+ @Override
public boolean isReadOnly(final ELContext context, final Object base, final Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
-
- if (base == null) context.setPropertyResolved(true);
-
+ throws NullPointerException, PropertyNotFoundException, ELException
+ {
+ if (base == null)
+ {
+ context.setPropertyResolved(true);
+ }
+
return false;
}
+ @Override
public Object getValue(final ELContext context, final Object base, final Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
-
- if (base != null) return null;
- if (property == null) throw new PropertyNotFoundException();
+ throws NullPointerException, PropertyNotFoundException, ELException
+ {
+ if (base != null)
+ {
+ return null;
+ }
+
+ if (property == null)
+ {
+ throw new PropertyNotFoundException();
+ }
context.setPropertyResolved(true);
- final Map scopedMap = findScopedMap(externalContext(context), property);
- if (scopedMap != null) {
+ final Map<String, Object> scopedMap = findScopedMap(facesContext(context), property);
+ if (scopedMap != null)
+ {
return scopedMap.get(property);
}
-
+
return null;
}
+ @Override
public Class<?> getType(final ELContext context, final Object base, final Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
-
- if (base != null) return null;
- if (property == null) throw new PropertyNotFoundException();
-
+ throws NullPointerException, PropertyNotFoundException, ELException
+ {
+
+ if (base != null)
+ return null;
+ if (property == null)
+ throw new PropertyNotFoundException();
+
context.setPropertyResolved(true);
return Object.class;
}
- public Iterator<FeatureDescriptor> getFeatureDescriptors(final ELContext context, final Object base) {
-
- if (base != null) return null;
-
+ @Override
+ public Iterator<FeatureDescriptor> getFeatureDescriptors(final ELContext context, final Object base)
+ {
+
+ if (base != null)
+ return null;
+
final List<FeatureDescriptor> descriptorList = new ArrayList<FeatureDescriptor>();
final ExternalContext extContext = externalContext(context);
addDescriptorsToList(descriptorList, extContext.getRequestMap());
addDescriptorsToList(descriptorList, extContext.getSessionMap());
addDescriptorsToList(descriptorList, extContext.getApplicationMap());
-
+
return descriptorList.iterator();
}
- public Class<?> getCommonPropertyType(final ELContext context, final Object base) {
-
- if (base != null) return null;
-
+ @Override
+ public Class<?> getCommonPropertyType(final ELContext context, final Object base)
+ {
+
+ if (base != null)
+ return null;
+
return String.class;
}
-
+
// side effect: modifies the list
- private static void addDescriptorsToList(final List<FeatureDescriptor> descriptorList, final Map scopeMap) {
- for (Object name: scopeMap.keySet()) {
+ private static void addDescriptorsToList(final List<FeatureDescriptor> descriptorList,
+ final Map<String, Object> scopeMap)
+ {
+ for (Object name : scopeMap.keySet())
+ {
String strName = (String)name;
- Class runtimeType = scopeMap.get(strName).getClass();
+ Class<?> runtimeType = scopeMap.get(strName).getClass();
descriptorList.add(makeDescriptor(strName, runtimeType));
}
}
-
- private static FeatureDescriptor makeDescriptor(final String name, final Class runtimeType) {
+
+ private static FeatureDescriptor makeDescriptor(final String name, final Class<?> runtimeType)
+ {
FeatureDescriptor fd = new FeatureDescriptor();
fd.setValue(ELResolver.RESOLVABLE_AT_DESIGN_TIME, Boolean.TRUE);
fd.setValue(ELResolver.TYPE, runtimeType);
@@ -136,36 +178,71 @@ public final class ScopedAttributeResolv
fd.setPreferred(true);
return fd;
}
-
+
// returns null if not found
- private static Map<String, Object> findScopedMap(final ExternalContext extContext, final Object property) {
+ private static Map<String, Object> findScopedMap(final FacesContext facesContext, final Object property)
+ {
+ if (facesContext == null)
+ {
+ return null;
+ }
- if (extContext == null) return null;
+ final ExternalContext extContext = facesContext.getExternalContext();
+ if (extContext == null)
+ {
+ return null;
+ }
- Map<String, Object> scopedMap = extContext.getRequestMap();
- if (scopedMap.containsKey(property)) return scopedMap;
-
- scopedMap = extContext.getSessionMap();
- if (scopedMap.containsKey(property)) return scopedMap;
+ final boolean startup = (extContext instanceof StartupServletExternalContextImpl);
+ Map<String, Object> scopedMap;
+
+ // request scope (not available at startup)
+ if (!startup)
+ {
+ scopedMap = extContext.getRequestMap();
+ if (scopedMap.containsKey(property))
+ {
+ return scopedMap;
+ }
+ }
+
+ // session scope (not available at startup)
+ if (!startup)
+ {
+ scopedMap = extContext.getSessionMap();
+ if (scopedMap.containsKey(property))
+ {
+ return scopedMap;
+ }
+ }
+
+ // application scope
scopedMap = extContext.getApplicationMap();
- if (scopedMap.containsKey(property)) return scopedMap;
-
+ if (scopedMap.containsKey(property))
+ {
+ return scopedMap;
+ }
+
+ // not found
return null;
}
-
+
// get the FacesContext from the ELContext
- private static FacesContext facesContext(final ELContext context) {
+ private static FacesContext facesContext(final ELContext context)
+ {
return (FacesContext)context.getContext(FacesContext.class);
}
-
- private static ExternalContext externalContext(final ELContext context) {
+
+ private static ExternalContext externalContext(final ELContext context)
+ {
FacesContext facesContext = facesContext(context);
- if (facesContext != null) {
+ if (facesContext != null)
+ {
return facesContext(context).getExternalContext();
}
-
+
return null;
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -23,33 +23,40 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class ApplicationImplicitObject extends ImplicitObject {
-
+public class ApplicationImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "application".intern();
-
+
/** Creates a new instance of ApplicationImplicitObject */
- public ApplicationImplicitObject() {
+ public ApplicationImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getContext();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Represents the application environment",
- Object.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Represents the application environment", Object.class);
}
-
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationScopeImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationScopeImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationScopeImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ApplicationScopeImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import java.util.Map;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class ApplicationScopeImplicitObject extends ImplicitObject {
-
+public class ApplicationScopeImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "applicationScope".intern();
-
+
/** Creates a new instance of ApplicationScopeImplicitObject */
- public ApplicationScopeImplicitObject() {
+ public ApplicationScopeImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getApplicationMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Application scope attributes",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Application scope attributes", Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/CookieImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/CookieImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/CookieImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/CookieImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class CookieImplicitObject extends ImplicitObject {
-
+public class CookieImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "cookie".intern();
-
+
/** Creates a new instance of CookieImplicitObject */
- public CookieImplicitObject() {
+ public CookieImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestCookieMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of cookie names in the current request",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Map whose keys are a set of cookie names in the current request", Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/FacesContextImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/FacesContextImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/FacesContextImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/FacesContextImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import javax.faces.context.FacesContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class FacesContextImplicitObject extends ImplicitObject {
-
+public class FacesContextImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "facesContext".intern();
-
+
/** Creates a new instance of FacesContextImplicitObject */
- public FacesContextImplicitObject() {
+ public FacesContextImplicitObject()
+ {
}
-
- public String getName() {
+
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Object getValue(ELContext context) {
+
+ @Override
+ public Object getValue(ELContext context)
+ {
return facesContext(context);
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
-
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Per-request information for a JSF request",
- FacesContext.class);
+
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Per-request information for a JSF request", FacesContext.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class HeaderImplicitObject extends ImplicitObject {
-
+public class HeaderImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "header".intern();
-
+
/** Creates a new instance of HeaderImplicitObject */
- public HeaderImplicitObject() {
+ public HeaderImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestHeaderMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of request header names in the current request",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Map whose keys are a set of request header names in the current request", Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderValuesImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderValuesImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderValuesImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/HeaderValuesImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -27,30 +27,40 @@ import javax.el.ELContext;
*
* @author Stan Silvert
*/
-public class HeaderValuesImplicitObject extends ImplicitObject {
-
+public class HeaderValuesImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "headerValues".intern();
-
+
/** Creates a new instance of HeaderValuesImplicitObject */
- public HeaderValuesImplicitObject() {
+ public HeaderValuesImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestHeaderValuesMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of request header names and whose values are all of the values (of type String[]) for each header name.",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME,
+ "Map whose keys are a set of request header names and whose values are all of the values (of type String[]) for each header name.",
+ Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -25,31 +25,29 @@ import javax.faces.context.ExternalConte
import javax.faces.context.FacesContext;
/**
- * Implementors of this class encapsulate the information needed to resolve
- * the implicit object.
- *
+ * Implementors of this class encapsulate the information needed to resolve the implicit object.
+ *
* @author Stan Silvert
*/
-public abstract class ImplicitObject {
-
+public abstract class ImplicitObject
+{
+
public abstract Object getValue(ELContext context);
-
+
public abstract FeatureDescriptor getDescriptor();
-
+
/**
- * Returns an interned String representing the name of the
- * implicit object.
+ * Returns an interned String representing the name of the implicit object.
*/
public abstract String getName();
-
+
/**
* Returns the most general type allowed for a future call to setValue()
*/
- public abstract Class getType();
-
- protected FeatureDescriptor makeDescriptor(String name,
- String description,
- Class elResolverType) {
+ public abstract Class<?> getType();
+
+ protected FeatureDescriptor makeDescriptor(String name, String description, Class<?> elResolverType)
+ {
FeatureDescriptor fd = new FeatureDescriptor();
fd.setValue(ELResolver.RESOLVABLE_AT_DESIGN_TIME, Boolean.TRUE);
fd.setValue(ELResolver.TYPE, elResolverType);
@@ -61,14 +59,16 @@ public abstract class ImplicitObject {
fd.setPreferred(true);
return fd;
}
-
+
// get the FacesContext from the ELContext
- protected FacesContext facesContext(ELContext context) {
- return (FacesContext)context.getContext(FacesContext.class);
+ protected FacesContext facesContext(ELContext context)
+ {
+ return (FacesContext) context.getContext(FacesContext.class);
}
-
- protected ExternalContext externalContext(ELContext context) {
+
+ protected ExternalContext externalContext(ELContext context)
+ {
return facesContext(context).getExternalContext();
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObjectResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObjectResolver.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObjectResolver.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ImplicitObjectResolver.java Wed Jun 15 22:38:34 2011
@@ -27,18 +27,19 @@ import java.util.Map;
/**
* See JSF 1.2 spec sections 5.6.1.1 and 5.6.2.1
- *
+ *
* @author Stan Silvert
*/
-public class ImplicitObjectResolver extends ELResolver {
-
+public class ImplicitObjectResolver extends ELResolver
+{
+
private Map<String, ImplicitObject> implicitObjects;
-
+
/**
- * Static factory for an ELResolver for resolving implicit objects in JSPs.
- * See JSF 1.2 spec section 5.6.1.1
+ * Static factory for an ELResolver for resolving implicit objects in JSPs. See JSF 1.2 spec section 5.6.1.1
*/
- public static ELResolver makeResolverForJSP() {
+ public static ELResolver makeResolverForJSP()
+ {
Map<String, ImplicitObject> forJSPList = new HashMap<String, ImplicitObject>(2);
ImplicitObject io1 = new FacesContextImplicitObject();
forJSPList.put(io1.getName(), io1);
@@ -46,12 +47,12 @@ public class ImplicitObjectResolver exte
forJSPList.put(io2.getName(), io2);
return new ImplicitObjectResolver(forJSPList);
}
-
+
/**
- * Static factory for an ELResolver for resolving implicit objects in all of Faces.
- * See JSF 1.2 spec section 5.6.1.2
+ * Static factory for an ELResolver for resolving implicit objects in all of Faces. See JSF 1.2 spec section 5.6.1.2
*/
- public static ELResolver makeResolverForFaces() {
+ public static ELResolver makeResolverForFaces()
+ {
Map<String, ImplicitObject> forFacesList = new HashMap<String, ImplicitObject>(14);
ImplicitObject io1 = new ApplicationImplicitObject();
forFacesList.put(io1.getName(), io1);
@@ -81,107 +82,140 @@ public class ImplicitObjectResolver exte
forFacesList.put(io13.getName(), io13);
ImplicitObject io14 = new ViewImplicitObject();
forFacesList.put(io14.getName(), io14);
- return new ImplicitObjectResolver(forFacesList);
+ return new ImplicitObjectResolver(forFacesList);
}
-
-
- private ImplicitObjectResolver() {
+
+ private ImplicitObjectResolver()
+ {
super();
this.implicitObjects = new HashMap<String, ImplicitObject>();
}
-
+
/** Creates a new instance of ImplicitObjectResolverForJSP */
- private ImplicitObjectResolver(Map<String, ImplicitObject> implicitObjects) {
+ private ImplicitObjectResolver(Map<String, ImplicitObject> implicitObjects)
+ {
this();
this.implicitObjects = implicitObjects;
}
- public void setValue(ELContext context, Object base, Object property, Object value)
- throws NullPointerException, PropertyNotFoundException, PropertyNotWritableException, ELException {
-
- if (base != null) return;
- if (property == null) throw new PropertyNotFoundException();
- if (!(property instanceof String)) return;
-
+ @Override
+ public void setValue(ELContext context, Object base, Object property, Object value) throws NullPointerException,
+ PropertyNotFoundException, PropertyNotWritableException, ELException
+ {
+
+ if (base != null)
+ return;
+ if (property == null)
+ throw new PropertyNotFoundException();
+ if (!(property instanceof String))
+ return;
+
String strProperty = castAndIntern(property);
-
- if (implicitObjects.containsKey(strProperty)) {
+
+ if (implicitObjects.containsKey(strProperty))
+ {
throw new PropertyNotWritableException();
}
}
-
- public boolean isReadOnly(ELContext context, Object base, Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
-
- if (base != null) return false;
- if (property == null) throw new PropertyNotFoundException();
- if (!(property instanceof String)) return false;
-
+
+ @Override
+ public boolean isReadOnly(ELContext context, Object base, Object property) throws NullPointerException,
+ PropertyNotFoundException, ELException
+ {
+
+ if (base != null)
+ return false;
+ if (property == null)
+ throw new PropertyNotFoundException();
+ if (!(property instanceof String))
+ return false;
+
String strProperty = castAndIntern(property);
-
- if (implicitObjects.containsKey(strProperty)) {
+
+ if (implicitObjects.containsKey(strProperty))
+ {
context.setPropertyResolved(true);
return true;
}
-
+
return false;
}
- public Object getValue(ELContext context, Object base, Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
+ @Override
+ public Object getValue(ELContext context, Object base, Object property) throws NullPointerException,
+ PropertyNotFoundException, ELException
+ {
+
+ if (base != null)
+ return null;
+ if (property == null)
+ throw new PropertyNotFoundException();
+ if (!(property instanceof String))
+ return null;
- if (base != null) return null;
- if (property == null) throw new PropertyNotFoundException();
- if (!(property instanceof String)) return null;
-
String strProperty = castAndIntern(property);
ImplicitObject obj = implicitObjects.get(strProperty);
- if (obj != null) {
+ if (obj != null)
+ {
context.setPropertyResolved(true);
return obj.getValue(context);
}
-
+
return null;
}
- public Class<?> getType(ELContext context, Object base, Object property)
- throws NullPointerException, PropertyNotFoundException, ELException {
-
- if (base != null) return null;
- if (property == null) throw new PropertyNotFoundException();
- if (!(property instanceof String)) return null;
-
+ @Override
+ public Class<?> getType(ELContext context, Object base, Object property) throws NullPointerException,
+ PropertyNotFoundException, ELException
+ {
+
+ if (base != null)
+ return null;
+ if (property == null)
+ throw new PropertyNotFoundException();
+ if (!(property instanceof String))
+ return null;
+
String strProperty = castAndIntern(property);
-
- if (implicitObjects.containsKey(strProperty)) {
+
+ if (implicitObjects.containsKey(strProperty))
+ {
context.setPropertyResolved(true);
}
-
+
return null;
}
- public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
- if (base != null) return null;
+ @Override
+ public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base)
+ {
+ if (base != null)
+ return null;
ArrayList<FeatureDescriptor> descriptors = new ArrayList<FeatureDescriptor>(implicitObjects.size());
-
- for (ImplicitObject obj: implicitObjects.values()) {
+
+ for (ImplicitObject obj : implicitObjects.values())
+ {
descriptors.add(obj.getDescriptor());
- }
-
+ }
+
return descriptors.iterator();
}
- public Class<?> getCommonPropertyType(ELContext context, Object base) {
- if (base != null) return null;
-
+ @Override
+ public Class<?> getCommonPropertyType(ELContext context, Object base)
+ {
+ if (base != null)
+ return null;
+
return String.class;
}
-
- protected String castAndIntern(Object o) {
+
+ protected String castAndIntern(Object o)
+ {
String s = (String)o;
return s.intern();
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/InitParamImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/InitParamImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/InitParamImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/InitParamImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,43 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class InitParamImplicitObject extends ImplicitObject {
-
+public class InitParamImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "initParam".intern();
-
+
/** Creates a new instance of InitParamImplicitObject */
- public InitParamImplicitObject() {
+ public InitParamImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getInitParameterMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of application initialization param names and whose values are the corresponding values",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME,
+ "Map whose keys are a set of application initialization param names and whose values are the corresponding values",
+ Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,43 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class ParamImplicitObject extends ImplicitObject {
-
+public class ParamImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "param".intern();
-
+
/** Creates a new instance of InitParamImplicitObject */
- public ParamImplicitObject() {
+ public ParamImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestParameterMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of request param names and whose values are the first (or only) values for each name in the request",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME,
+ "Map whose keys are a set of request param names and whose values are the first (or only) values for each name in the request",
+ Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamValuesImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamValuesImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamValuesImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ParamValuesImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,43 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class ParamValuesImplicitObject extends ImplicitObject {
-
+public class ParamValuesImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "paramValues".intern();
-
+
/** Creates a new instance of ParamValuesImplicitObject */
- public ParamValuesImplicitObject() {
+ public ParamValuesImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestParameterValuesMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Map whose keys are a set of request param names and whose values (type String[]) are all values for each name in the request",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME,
+ "Map whose keys are a set of request param names and whose values (type String[]) are all values for each name in the request",
+ Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -23,33 +23,41 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class RequestImplicitObject extends ImplicitObject {
-
+public class RequestImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "request".intern();
-
+
/** Creates a new instance of ParamValueRequestImplicitObject */
- public RequestImplicitObject() {
+ public RequestImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequest();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Environment-specific object instance for the current request",
- Object.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Environment-specific object instance for the current request", Object.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestScopeImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestScopeImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestScopeImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/RequestScopeImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import java.util.Map;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class RequestScopeImplicitObject extends ImplicitObject {
-
+public class RequestScopeImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "requestScope".intern();
-
+
/** Creates a new instance of RequestScopeImplicitObject */
- public RequestScopeImplicitObject() {
+ public RequestScopeImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getRequestMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Request scope attributes",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Request scope attributes", Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -23,33 +23,41 @@ import javax.el.ELContext;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class SessionImplicitObject extends ImplicitObject {
-
+public class SessionImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "session".intern();
-
+
/** Creates a new instance of SessionImplicitObject */
- public SessionImplicitObject() {
+ public SessionImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getSession(false);
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Session instance for the current request or null if no session exists",
- Object.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Session instance for the current request or null if no session exists", Object.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionScopeImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionScopeImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionScopeImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/SessionScopeImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import java.util.Map;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class SessionScopeImplicitObject extends ImplicitObject {
-
+public class SessionScopeImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "sessionScope".intern();
-
+
/** Creates a new instance of SessionScopeImplicitObject */
- public SessionScopeImplicitObject() {
+ public SessionScopeImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return externalContext(context).getSessionMap();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "Session scope attributes",
- Map.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "Session scope attributes", Map.class);
}
-
+
}
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ViewImplicitObject.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ViewImplicitObject.java?rev=1136229&r1=1136228&r2=1136229&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ViewImplicitObject.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/el/unified/resolver/implicitobject/ViewImplicitObject.java Wed Jun 15 22:38:34 2011
@@ -24,33 +24,41 @@ import javax.faces.component.UIViewRoot;
/**
* Encapsulates information needed by the ImplicitObjectResolver
- *
+ *
* @author Stan Silvert
*/
-public class ViewImplicitObject extends ImplicitObject {
-
+public class ViewImplicitObject extends ImplicitObject
+{
+
private static final String NAME = "view".intern();
-
+
/** Creates a new instance of ViewImplicitObject */
- public ViewImplicitObject() {
+ public ViewImplicitObject()
+ {
}
- public Object getValue(ELContext context) {
+ @Override
+ public Object getValue(ELContext context)
+ {
return facesContext(context).getViewRoot();
}
- public String getName() {
+ @Override
+ public String getName()
+ {
return NAME;
}
-
- public Class getType() {
+
+ @Override
+ public Class<?> getType()
+ {
return null;
}
- public FeatureDescriptor getDescriptor() {
- return makeDescriptor(NAME,
- "The root object of a JSF component tree",
- UIViewRoot.class);
+ @Override
+ public FeatureDescriptor getDescriptor()
+ {
+ return makeDescriptor(NAME, "The root object of a JSF component tree", UIViewRoot.class);
}
-
+
}