You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2007/08/15 09:40:14 UTC
svn commit: r566045 - in /myfaces/tobago/trunk:
contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/
core/src/main/java/org/apache/myfaces/tobago/component/
core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
theme/scarborough/sr...
Author: bommel
Date: Wed Aug 15 00:40:13 2007
New Revision: 566045
URL: http://svn.apache.org/viewvc?view=rev&rev=566045
Log:
(TOBAGO-466) Extend AttributeHandler for handling methodexpression in a facelet composition
Modified:
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/AttributeHandler.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/ComponentUtil.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/AttributeHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/AttributeHandler.java?view=diff&rev=566045&r1=566044&r2=566045
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/AttributeHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/AttributeHandler.java Wed Aug 15 00:40:13 2007
@@ -20,6 +20,7 @@
import javax.el.ELException;
import javax.el.MethodExpression;
import javax.el.ExpressionFactory;
+import javax.el.ValueExpression;
import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.component.EditableValueHolder;
@@ -37,8 +38,11 @@
import org.apache.myfaces.tobago.component.ComponentUtil;
import org.apache.myfaces.tobago.component.UICommand;
import org.apache.myfaces.tobago.component.SupportsMarkup;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
public final class AttributeHandler extends TagHandler {
+ private static final Log LOG = LogFactory.getLog(AttributeHandler.class);
private final TagAttribute name;
@@ -59,21 +63,28 @@
if (ComponentSupport.isNew(parent)) {
String nameValue = name.getValue(faceletContext);
if (TobagoConstants.ATTR_RENDERED.equals(nameValue)) {
- // TODO expression
if (value.isLiteral()) {
parent.setRendered(value.getBoolean(faceletContext));
} else {
ELAdaptor.setExpression(parent, nameValue, value.getValueExpression(faceletContext, Object.class));
}
} else if (TobagoConstants.ATTR_RENDERED_PARTIALLY.equals(nameValue) && parent instanceof UICommand) {
- // TODO test expression
+ // TODO expression
ComponentUtil.setRenderedPartially((UICommand) parent, value.getValue());
} else if (TobagoConstants.ATTR_STYLE_CLASS.equals(nameValue)) {
- // TODO test expression
+ // TODO expression
ComponentUtil.setStyleClasses(parent, value.getValue());
- } else if (TobagoConstants.ATTR_MARKUP.equals(nameValue) && parent instanceof SupportsMarkup) {
- // TODO test expression
- ComponentUtil.setMarkup(parent, value.getValue());
+ } else if (TobagoConstants.ATTR_MARKUP.equals(nameValue)) {
+ if (parent instanceof SupportsMarkup) {
+ if (value.isLiteral()) {
+ ComponentUtil.setMarkup(parent, value.getValue());
+ } else {
+ ValueExpression expression = value.getValueExpression(faceletContext, Object.class);
+ ELAdaptor.setExpression(parent, nameValue, expression);
+ }
+ } else {
+ LOG.error("Component is not instanceof SupportsMarkup. Instance is: " + parent.getClass().getName());
+ }
} else if (parent instanceof EditableValueHolder && TobagoConstants.ATTR_VALIDATOR.equals(nameValue)) {
MethodExpression methodExpression = getMethodExpression(faceletContext, null, ComponentUtil.VALIDATOR_ARGS);
if (methodExpression != null) {
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/ComponentUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/ComponentUtil.java?view=diff&rev=566045&r1=566044&r2=566045
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/ComponentUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/ComponentUtil.java Wed Aug 15 00:40:13 2007
@@ -398,6 +398,8 @@
String [] markups = markup.split(",");
((SupportsMarkup) markupComponent).setMarkup(markups);
}
+ } else {
+ LOG.error("Component did not support Markup " + markupComponent.getClass().getName());
}
}
}
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java?view=diff&rev=566045&r1=566044&r2=566045
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java Wed Aug 15 00:40:13 2007
@@ -600,7 +600,7 @@
}
return clientId;
}
- // TODO log error message if no component founc
+ LOG.error("No Component found for id " + componentId);
return null;
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java?view=diff&rev=566045&r1=566044&r2=566045
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java Wed Aug 15 00:40:13 2007
@@ -126,7 +126,7 @@
}
public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException {
- String clientId = component.getClientId(facesContext);
+ String clientId = component.getClientId(facesContext);
TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
writer.startElement(HtmlConstants.DIV, component);
writer.writeClassAttribute();