You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2006/10/07 14:14:15 UTC
svn commit: r453890 -
/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
Author: baranda
Date: Sat Oct 7 05:14:15 2006
New Revision: 453890
URL: http://svn.apache.org/viewvc?view=rev&rev=453890
Log:
Implemented JSR-252 MYFACES-1440 (Implement method: ApplicationImpl.createComponent(ValueExpression,FacesContext, String))
Modified:
myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java?view=diff&rev=453890&r1=453889&r2=453890
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java Sat Oct 7 05:14:15 2006
@@ -155,12 +155,12 @@
_expressionFactory = appCtx.getExpressionFactory();
}
-
+
public void addELResolver(ELResolver resolver) {
_resolverForFaces.addResolverFromApplicationAddResolver(resolver);
_resolverForJSP.addResolverFromApplicationAddResolver(resolver);
}
-
+
public ELResolver getELResolver() {
return _resolverForFaces;
}
@@ -183,12 +183,31 @@
checkNull(componentExpression, "componentExpression");
checkNull(facesContext, "facesContext");
checkNull(componentType, "componentType");
+
+ ELContext elContext = facesContext.getELContext();
- Object retVal = componentExpression.getValue(facesContext.getELContext());
- if (retVal instanceof UIComponent) return (UIComponent)retVal;
-
-
- throw new UnsupportedOperationException("Not implemented yet.");
+ Object retVal = componentExpression.getValue(elContext);
+
+ UIComponent createdComponent;
+
+ try
+ {
+ if (retVal instanceof UIComponent)
+ {
+ createdComponent = (UIComponent)retVal;
+ }
+ else
+ {
+ createdComponent = createComponent(componentType);
+ componentExpression.setValue(elContext, retVal);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new FacesException(e);
+ }
+
+ return createdComponent;
}
public ExpressionFactory getExpressionFactory() {