You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2007/02/24 18:12:08 UTC

svn commit: r511306 - /myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java

Author: mbr
Date: Sat Feb 24 09:12:07 2007
New Revision: 511306

URL: http://svn.apache.org/viewvc?view=rev&rev=511306
Log:
get expressionFactory only when needed
+ generics

Modified:
    myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java

Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java?view=diff&rev=511306&r1=511305&r2=511306
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/convert/PropertyResolverToELResolver.java Sat Feb 24 09:12:07 2007
@@ -16,8 +16,6 @@
 
 package org.apache.myfaces.el.convert;
 
-import java.util.Iterator;
-import java.util.List;
 import javax.el.ELContext;
 import javax.el.ELException;
 import javax.el.ELResolver;
@@ -25,16 +23,20 @@
 import javax.el.PropertyNotFoundException;
 import javax.el.PropertyNotWritableException;
 import javax.faces.FactoryFinder;
-import javax.faces.application.Application;
 import javax.faces.application.ApplicationFactory;
 import javax.faces.el.PropertyResolver;
 
+import java.beans.FeatureDescriptor;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * Wrapper that converts a VariableResolver into an ELResolver.
  * See JSF 1.2 spec section 5.6.1.6
  *
  * @author Stan Silvert
  */
+@SuppressWarnings("deprecation")
 public class PropertyResolverToELResolver extends ELResolver {
     private PropertyResolver propertyResolver;
     
@@ -45,9 +47,6 @@
      */
     public PropertyResolverToELResolver(PropertyResolver propertyResolver) {
         this.propertyResolver = propertyResolver;
-        
-        ApplicationFactory appFactory = (ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
-        this.expressionFactory = appFactory.getApplication().getExpressionFactory();
     }
 
     public void setValue(ELContext context, Object base, Object property, Object value) 
@@ -132,7 +131,7 @@
         }
     }
     
-    public Iterator getFeatureDescriptors(ELContext context, Object base) {
+    public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
         
         return null;
     }
@@ -148,8 +147,20 @@
         return (base instanceof List) || base.getClass().isArray();
     }
     
+    /**
+     * @return the expressionFactory
+     */
+    public ExpressionFactory getExpressionFactory()
+    {
+        if(expressionFactory == null) {
+            ApplicationFactory appFactory = (ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
+            expressionFactory = appFactory.getApplication().getExpressionFactory();
+        }
+        return expressionFactory;
+    }
+    
     private int coerceToInt(Object property) throws Exception {
-        Integer coerced = (Integer)expressionFactory.coerceToType(property, Integer.class);
+        Integer coerced = (Integer)getExpressionFactory().coerceToType(property, Integer.class);
         return coerced.intValue();
     }