Author: Alex.Kolonitsky
Date: 2010-04-27 08:07:19 -0400 (Tue, 27 Apr 2010)
New Revision: 16816
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/ModelElementBaseTemplateModel.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/TagTemplateModel.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/taglib/TaglibGeneratorVisitor.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/ClientBehavior.java
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/taghandler.ftl
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/generate/java/GeneratedTagHandler.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxFunction.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandButton.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandLink.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractMediaOutput.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractOutputPanel.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractQueue.java
Log:
RF-7826 Migrate A1 components to new CDK
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -68,6 +68,7 @@
if (attributeAnnotarion == null) {
attribute.setGenerate(!beanProperty.isExists());
attribute.setDescription(beanProperty.getDocComment());
+ attribute.setHidden(true);
if (attribute.getType().isPrimitive()) {
String value = getPimitiveDefaultValue(attribute.getType().getName());
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -25,6 +25,11 @@
public abstract class ProcessorBase {
+ private static final String COMPONENT_HANDLER_NAME =
ComponentHandler.class.getName();
+ private static final String VALIDATOR_HANDLER_NAME =
ValidatorHandler.class.getName();
+ private static final String CONVERTER_HANDLER_NAME =
ConverterHandler.class.getName();
+ private static final String BEHAVIOR_HANDLER_NAME = BehaviorHandler.class.getName();
+
@Inject
private Provider<SourceUtils> sourceUtils;
@@ -66,16 +71,16 @@
}
if (model instanceof ComponentModel) {
- return ComponentHandler.class.getName();
+ return COMPONENT_HANDLER_NAME;
} else if (model instanceof ValidatorModel) {
- return ValidatorHandler.class.getName();
+ return VALIDATOR_HANDLER_NAME;
} else if (model instanceof ConverterModel) {
- return ConverterHandler.class.getName();
+ return CONVERTER_HANDLER_NAME;
} else if (model instanceof BehaviorModel) {
- return BehaviorHandler.class.getName();
+ return BEHAVIOR_HANDLER_NAME;
} else {
throw new IllegalStateException("Unknown model class.");
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/ModelElementBaseTemplateModel.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/ModelElementBaseTemplateModel.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/ModelElementBaseTemplateModel.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -70,6 +70,8 @@
public TemplateModel get(String key) throws TemplateModelException {
if ("attributes".equals(key)) {
return attributes();
+ } else if ("requiredAttributes".equals(key)) {
+ return requiredAttributes();
} else if ("generatedAttributes".equals(key)) {
return generatedAttributes();
} else if ("eventNames".equals(key)) {
@@ -82,7 +84,7 @@
return super.get(key);
}
-
+
public TemplateModel getImportClasses() throws TemplateModelException {
Set<String> result = new TreeSet<String>();
@@ -141,6 +143,18 @@
return eventNames;
}
+ private TemplateModel requiredAttributes() throws TemplateModelException {
+ Collection<PropertyBase> attributes = model.getAttributes();
+ Collection<PropertyModel> models = new
ArrayList<PropertyModel>(attributes.size());
+ for (PropertyBase entry : attributes) {
+ if (entry.isGenerate() && entry.isRequired()) {
+ PropertyModel propertyModel = new PropertyModel(entry, wrapper);
+ models.add(propertyModel);
+ }
+ }
+ return wrapper.wrap(models);
+ }
+
private TemplateModel generatedAttributes() throws TemplateModelException {
Collection<PropertyBase> attributes = model.getAttributes();
Collection<PropertyModel> models = new
ArrayList<PropertyModel>(attributes.size());
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/TagTemplateModel.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/TagTemplateModel.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/freemarker/TagTemplateModel.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -60,6 +60,8 @@
public TemplateModel get(String key) throws TemplateModelException {
if ("attributes".equals(key)) {
return attributes();
+ } else if ("requiredAttributes".equals(key)) {
+ return requiredAttributes();
} else if ("generatedAttributes".equals(key)) {
return generatedAttributes();
} else if ("eventNames".equals(key)) {
@@ -127,6 +129,18 @@
return eventNames;
}
+ private TemplateModel requiredAttributes() throws TemplateModelException {
+ Collection<PropertyBase> attributes = model.getModel().getAttributes();
+ Collection<PropertyModel> models = new
ArrayList<PropertyModel>(attributes.size());
+ for (PropertyBase entry : attributes) {
+ if (entry.isGenerate() && entry.isRequired()) {
+ PropertyModel propertyModel = new PropertyModel(entry, wrapper);
+ models.add(propertyModel);
+ }
+ }
+ return wrapper.wrap(models);
+ }
+
private TemplateModel generatedAttributes() throws TemplateModelException {
Collection<PropertyBase> attributes = model.getModel().getAttributes();
Collection<PropertyModel> models = new
ArrayList<PropertyModel>(attributes.size());
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/taglib/TaglibGeneratorVisitor.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/taglib/TaglibGeneratorVisitor.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/generate/taglib/TaglibGeneratorVisitor.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -76,6 +76,8 @@
this.componentLibrary = model;
faceletTaglib = document.addElement("facelet-taglib",
"http://java.sun.com/xml/ns/javaee");
+ faceletTaglib.addAttribute("xmlns:xsi",
"http://www.w3.org/2001/XMLSchema-instance");
+ faceletTaglib.addAttribute("xsi:schemaLocation",
"http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd");
faceletTaglib.addAttribute("version", "2.0");
faceletTaglib.addAttribute("id", id); // TODO do it as param param
@@ -177,10 +179,10 @@
* */
private Element createAttributeElement(Element tag, String name, PropertyBase
attribute) {
Element attr = tag.addElement("attribute");
- attr.addElement("name").addText(name);
if (attribute.getDescription() != null) {
attr.addElement("description").addText(attribute.getDescription());
}
+ attr.addElement("name").addText(name);
attr.addElement("type").addText(attribute.getType().toString());
return attr;
}
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/ClientBehavior.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/ClientBehavior.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/ClientBehavior.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -29,10 +29,8 @@
*/
public class ClientBehavior {
- @XmlAttribute
private String event;
- @XmlAttribute(name = "default")
private boolean defaultEvent;
/**
@@ -40,6 +38,7 @@
*
* @return the event
*/
+ @XmlAttribute
public String getEvent() {
return event;
}
@@ -58,6 +57,7 @@
*
* @return the default
*/
+ @XmlAttribute(name = "default")
public boolean isDefaultEvent() {
return defaultEvent;
}
@@ -65,7 +65,7 @@
/**
* <p class="changed_added_4_0"></p>
*
- * @param default the default to set
+ * @param defaultEvent the default to set
*/
public void setDefaultEvent(boolean defaultEvent) {
this.defaultEvent = defaultEvent;
Modified:
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/taghandler.ftl
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/taghandler.ftl 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/taghandler.ftl 2010-04-27
12:07:19 UTC (rev 16816)
@@ -15,6 +15,9 @@
public ${targetClass.simpleName}(${objectType}Config config) {
super(config);
+ <#list requiredAttributes as
prop>getRequiredAttribute("${prop.name}");
+ </#list>
+
}
protected MetaRuleset createMetaRuleset(Class type) {
Modified:
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -100,6 +100,7 @@
attribute = component.getOrCreateAttribute("testFlag");
attribute.setType(new ClassName(Boolean.class));
+ attribute.setRequired(true);
attribute.setGenerate(true);
attribute = component.getOrCreateAttribute("testBinding");
Modified:
root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/generate/java/GeneratedTagHandler.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/generate/java/GeneratedTagHandler.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/generate/java/GeneratedTagHandler.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -34,6 +34,8 @@
public GeneratedTagHandler(ComponentConfig config) {
super(config);
+ getRequiredAttribute("testFlag");
+
}
protected MetaRuleset createMetaRuleset(Class type) {
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxFunction.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxFunction.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxFunction.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -44,15 +44,21 @@
public static final String COMPONENT_TYPE = "org.richfaces.Function";
+ public static final String HELLO = "Hello, World!!!";
+
+ @Attribute
public abstract boolean isLimitRender();
@Attribute(required = true)
public abstract String getName();
+ @Attribute
public abstract Object getExecute();
+ @Attribute
public abstract Object getRender();
+ @Attribute
public abstract String getStatus();
@Attribute(events = @EventName("begin"))
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -26,6 +26,7 @@
import org.richfaces.cdk.annotations.JsfComponent;
import org.richfaces.cdk.annotations.Tag;
import org.richfaces.cdk.annotations.TagType;
+import org.richfaces.cdk.annotations.Attribute;
/**
* @author Nick Belaevski
@@ -40,16 +41,22 @@
public static final String COMPONENT_TYPE = "org.richfaces.AttachQueue";
+ @Attribute
public abstract String getRequestSimilarityId();
+ @Attribute
public abstract int getRequestDelay();
+ @Attribute
public abstract int getTimeout();
+ @Attribute
public abstract boolean isIgnoreDupresponses();
+ @Attribute
public abstract String getOnrequestqueue();
+ @Attribute
public abstract String getOnrequestdequeue();
@Override
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandButton.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandButton.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandButton.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -76,5 +76,6 @@
@Attribute(defaultValue = "")
public abstract String getStyleClass();
+ @Attribute
public abstract boolean isLimitRender();
}
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandLink.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandLink.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractCommandLink.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -74,5 +74,6 @@
@Attribute(defaultValue = "")
public abstract String getStyleClass();
+ @Attribute
public abstract boolean isLimitRender();
}
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractMediaOutput.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractMediaOutput.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractMediaOutput.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -59,27 +59,17 @@
* Get URI attribute for resource ( src for images, href for links etc ).
* @return
*/
+ @Attribute
public abstract String getUriAttribute();
/**
- * Set URI attribute for resource ( src for images, href for links etc ).
- * @param newvalue
- */
- public abstract void setUriAttribute(String newvalue);
-
- /**
* Get Element name for rendering ( imj , a , object, applet ).
* @return
*/
+ @Attribute
public abstract String getElement();
/**
- * Set Element name for rendering ( imj , a , object, applet ).
- * @param newvalue
- */
- public abstract void setElement(String newvalue);
-
- /**
* Get EL binding to method in user bean to send resource. Method will
* called with two parameters - restored data object and servlet output
* stream.
@@ -137,70 +127,99 @@
return resource;
}
+ @Attribute
public abstract String getAccesskey();
+ @Attribute
public abstract String getAlign();
+ @Attribute
public abstract String getArchive();
+ @Attribute
public abstract String getBorder();
+ @Attribute
public abstract boolean isCacheable();
+ @Attribute
public abstract String getCharset();
+ @Attribute
public abstract String getClassid();
+ @Attribute
public abstract String getCodebase();
+ @Attribute
public abstract String getCodetype();
+ @Attribute
public abstract String getCoords();
- public abstract void setCoords(String coords);
-
public abstract MethodExpression getCreateContentExpression();
+ @Attribute
public abstract String getDeclare();
+ @Attribute
public abstract String getDir();
+ @Attribute
public abstract Date getExpires();
+ @Attribute
public abstract String getHreflang();
+ @Attribute
public abstract String getHspace();
+ @Attribute
public abstract boolean isIsmap();
+ @Attribute
public abstract String getLang();
+ @Attribute
public abstract Date getLastModified();
+ @Attribute
public abstract String getMimeType();
+ @Attribute
public abstract String getRel();
+ @Attribute
public abstract String getRev();
+ @Attribute
public abstract String getShape();
+ @Attribute
public abstract String getStandby();
+ @Attribute
public abstract String getStyle();
+ @Attribute
public abstract String getStyleClass();
+ @Attribute
public abstract String getTabindex();
+ @Attribute
public abstract String getTarget();
+ @Attribute
public abstract String getTitle();
+ @Attribute
public abstract String getType();
+ @Attribute
public abstract String getUsemap();
+ @Attribute
public abstract String getVspace();
@Attribute(events = @EventName("blur"))
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractOutputPanel.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractOutputPanel.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractOutputPanel.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -42,8 +42,10 @@
public static final String COMPONENT_FAMILY = "javax.faces.Panel";
+ @Attribute
public abstract boolean isAjaxRendered();
+ @Attribute
public abstract boolean isKeepTransient();
@Attribute(defaultValue = "inline")
@@ -79,13 +81,18 @@
@Attribute(events = @EventName("mouseup"))
public abstract String getOnmouseup();
+ @Attribute
public abstract String getStyle();
+ @Attribute
public abstract String getStyleClass();
+ @Attribute
public abstract String getTitle();
+ @Attribute
public abstract String getDir();
+ @Attribute
public abstract String getLang();
}
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractQueue.java
===================================================================
---
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractQueue.java 2010-04-26
23:29:05 UTC (rev 16815)
+++
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractQueue.java 2010-04-27
12:07:19 UTC (rev 16816)
@@ -22,6 +22,7 @@
package org.richfaces.component;
import org.richfaces.cdk.annotations.JsfComponent;
+import org.richfaces.cdk.annotations.Attribute;
import javax.faces.component.UIComponentBase;
@@ -38,21 +39,30 @@
public static final String COMPONENT_FAMILY = "org.richfaces.Queue";
+ @Attribute
public abstract int getRequestDelay();
+ @Attribute
public abstract String getStatus();
+ @Attribute
public abstract String getOnsubmit();
+ @Attribute
public abstract String getOncomplete();
+ @Attribute
public abstract String getOnbeforedomupdate();
+ @Attribute
public abstract String getOnerror();
+ @Attribute
public abstract String getOnevent();
+ @Attribute
public abstract String getOnrequestqueue();
+ @Attribute
public abstract String getOnrequestdequeue();
}