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/11/19 15:15:00 UTC
svn commit: r596307 -
/myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java
Author: bommel
Date: Mon Nov 19 06:14:59 2007
New Revision: 596307
URL: http://svn.apache.org/viewvc?rev=596307&view=rev
Log:
(TOBAGO-545) SupportMarkupRule should support expressions
Modified:
myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java
Modified: myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java?rev=596307&r1=596306&r2=596307&view=diff
==============================================================================
--- myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java (original)
+++ myfaces/tobago/trunk/extension/facelets/src/main/java/org/apache/myfaces/tobago/facelets/SupportsMarkupRule.java Mon Nov 19 06:14:59 2007
@@ -22,10 +22,14 @@
import com.sun.facelets.tag.MetadataTarget;
import com.sun.facelets.tag.MetaRule;
import com.sun.facelets.FaceletContext;
+import com.sun.facelets.el.LegacyValueBinding;
+import com.sun.facelets.el.ELAdaptor;
import org.apache.myfaces.tobago.component.ComponentUtil;
import org.apache.myfaces.tobago.component.SupportsMarkup;
+import org.apache.myfaces.tobago.TobagoConstants;
import javax.faces.component.UIComponent;
+import javax.el.ValueExpression;
/*
* User: bommel
@@ -38,7 +42,7 @@
public Metadata applyRule(String name, TagAttribute attribute,
MetadataTarget metadataTarget) {
if (metadataTarget.isTargetInstanceOf(SupportsMarkup.class)) {
- if ("markup".equals(name)) {
+ if (TobagoConstants.ATTR_MARKUP.equals(name)) {
return new SupportsMarkupMapper(attribute);
}
}
@@ -54,7 +58,12 @@
}
public void applyMetadata(FaceletContext ctx, Object instance) {
- ComponentUtil.setMarkup((UIComponent) instance, attribute.getValue());
+ if (attribute.isLiteral()) {
+ ComponentUtil.setMarkup((UIComponent) instance, attribute.getValue());
+ } else {
+ ValueExpression expression = attribute.getValueExpression(ctx, Object.class);
+ ELAdaptor.setExpression((UIComponent) instance, TobagoConstants.ATTR_MARKUP, expression);
+ }
}
}
}