Author: mvitenkov
Date: 2008-07-11 09:54:52 -0400 (Fri, 11 Jul 2008)
New Revision: 9530
Modified:
trunk/test-applications/facelets/src/main/java/util/componentInfo/ComponentInfo.java
Log:
ELContext check
Modified:
trunk/test-applications/facelets/src/main/java/util/componentInfo/ComponentInfo.java
===================================================================
---
trunk/test-applications/facelets/src/main/java/util/componentInfo/ComponentInfo.java 2008-07-11
13:51:33 UTC (rev 9529)
+++
trunk/test-applications/facelets/src/main/java/util/componentInfo/ComponentInfo.java 2008-07-11
13:54:52 UTC (rev 9530)
@@ -12,7 +12,11 @@
import java.util.Set;
import java.util.Map.Entry;
+import javax.el.ELContext;
+import javax.el.ValueExpression;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIComponentBase;
+import javax.faces.context.FacesContext;
public class ComponentInfo {
private static volatile ComponentInfo INSTANCE;
@@ -95,26 +99,33 @@
if (component == null)
return;
this.component = component;
+
+ //if(ve.isLiteralText()) {ve.getExpressionString()} {ve.getValue(). }
+
componentAttribute.cleanAll();
String str = null;
Field[] fields = component.getClass().getDeclaredFields();
AccessibleObject.setAccessible(fields, true);
for (Field field : fields) {
if (!Modifier.isStatic(field.getModifiers())) {
- str = field.getName().substring(1);
+ str = field.getName().substring(1);
if (str.startsWith("on")) {
componentAttribute.putEvent(str,
"");
} else if (str.indexOf("tyle") != -1 || str.indexOf("lass") !=
-1) {
try {
- Object obj = field.get(component);
- componentAttribute.putStyle(str, obj == null ? "null" : obj.toString());
+ //Object obj = field.get(component);
+ UIComponentBase comp = (UIComponentBase) component;
+ ValueExpression ve = comp.getValueExpression(str);
+ if(ve.isLiteralText()){
+ componentAttribute.putStyle(str, ve == null ? "null" :
ve.getExpressionString());
+ } else{
+ componentAttribute.putStyle(str, ve == null ? "null" :
ve.getValue(FacesContext.getCurrentInstance().getELContext()).toString());
+ }
+
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
} else {
@@ -122,13 +133,20 @@
try {
Class cl = field.getType();
if(cl.isPrimitive() || cl.getName().equals("java.lang.String")){
- Object obj = field.get(component);
- componentAttribute.putAttribute(str, obj == null ? "null" :
obj.toString());
+ UIComponentBase comp = (UIComponentBase) component;
+ ValueExpression ve = comp.getValueExpression(str);
+ if(ve != null){
+ if(ve.isLiteralText()){
+ componentAttribute.putStyle(str, ve == null ? "null" :
ve.getExpressionString());
+ } else{
+ componentAttribute.putStyle(str, ve == null ? "null" :
ve.getValue(FacesContext.getCurrentInstance().getELContext()).toString());
+ }
+ }
+// Object obj = field.get(component);
+// componentAttribute.putAttribute(str, obj == null ? "null" :
obj.toString());
} else componentAttribute.putAttribute(str, "---");
} catch (IllegalArgumentException e) {
e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
}
}
}
Show replies by date