Author: alexsmirnov
Date: 2010-05-05 20:26:30 -0400 (Wed, 05 May 2010)
New Revision: 16903
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/ModelValidator.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/CdkProcessor.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/CdkProcessorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java
Log:
CODING IN PROGRESS - issue RF-7736: Library model verifier.
https://jira.jboss.org/jira/browse/RF-7736
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/ModelValidator.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/ModelValidator.java 2010-05-05
23:50:39 UTC (rev 16902)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/ModelValidator.java 2010-05-06
00:26:30 UTC (rev 16903)
@@ -23,7 +23,9 @@
package org.richfaces.cdk;
+import org.richfaces.cdk.model.ComponentLibrary;
+
/**
* <p class="changed_added_4_0">Interface for CDK library model
verifier.</p>
*
@@ -37,5 +39,5 @@
* @param library
* @throws CdkException
*/
- public void verify() throws CdkException;
+ public void verify(ComponentLibrary library) throws CdkException;
}
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/CdkProcessor.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/CdkProcessor.java 2010-05-05
23:50:39 UTC (rev 16902)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/CdkProcessor.java 2010-05-06
00:26:30 UTC (rev 16903)
@@ -94,7 +94,7 @@
for (ModelBuilder builder : builders) {
builder.build();
}
- validator.verify();
+ validator.verify(library);
} else if (0 == log.getErrorCount()) {
// processing over, generate files.
builder.generate();
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-05
23:50:39 UTC (rev 16902)
+++
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-06
00:26:30 UTC (rev 16903)
@@ -52,14 +52,12 @@
@Inject
private Logger log;
- private final ComponentLibrary library;
private final NamingConventions namingConventions;
private final SourceUtils sourceUtils;
@Inject
- public ValidatorImpl(ComponentLibrary library, NamingConventions namingConventions,
SourceUtils sourceUtils) {
- this.library = library;
+ public ValidatorImpl(NamingConventions namingConventions, SourceUtils sourceUtils) {
this.namingConventions = namingConventions;
this.sourceUtils = sourceUtils;
}
@@ -68,21 +66,21 @@
* @see
org.richfaces.cdk.ValidatorModel#verify(org.richfaces.cdk.model.ComponentLibrary)
*/
@Override
- public void verify() throws CdkException {
- verifyRenderers();
- verifyComponents();
+ public void verify(ComponentLibrary library) throws CdkException {
+ verifyRenderers(library);
+ verifyComponents(library);
// After all, merge all similar elements.
compact(library.getComponents());
}
- protected void verifyRenderers() {
+ protected void verifyRenderers(ComponentLibrary library) {
for (RenderKitModel.Id renderKitId : library.getRenderKits().keySet()) {
// Check render kit name and class.
RenderKitModel renderKit = library.getRenderKits().get(renderKitId);
for (RendererModel renderer : renderKit.getRenderers()) {
- vefifyRenderer(renderer);
+ vefifyRenderer(library,renderer);
// Check type.
// Check family.
@@ -94,17 +92,17 @@
}
}
- protected void vefifyRenderer(RendererModel renderer) {
+ protected void vefifyRenderer(ComponentLibrary library,RendererModel renderer) {
// TODO Auto-generated method stub
}
- protected void verifyComponents() throws CdkException {
+ protected void verifyComponents(ComponentLibrary library) throws CdkException {
for (ComponentModel component : library.getComponents()) {
- verifyComponent(component);
+ verifyComponent(library,component);
}
}
- protected void verifyComponent(ComponentModel component) {
+ protected void verifyComponent(ComponentLibrary library,ComponentModel component) {
// Check JsfComponent type.
if (null == component.getType()) {
if (null != component.getTargetClass()) {
@@ -137,7 +135,11 @@
if (null == component.getFamily()) {
component.setFamily(namingConventions.inferUIComponentFamily(component.getType()));
}
- // TODO Propagate attributes from parent component.
+ // Propagate attributes from parent component, if any.
+ if(component.isGenerate()){
+ // Step one, lookup for parent.
+
+ }
// Check attributes.
for (PropertyBase attribute : component.getAttributes()) {
verifyAttribute(attribute, component.isGenerate());
Modified:
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/CdkProcessorTest.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/CdkProcessorTest.java 2010-05-05
23:50:39 UTC (rev 16902)
+++
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/CdkProcessorTest.java 2010-05-06
00:26:30 UTC (rev 16903)
@@ -128,7 +128,7 @@
expect(element.getKind()).andReturn(ElementKind.CLASS);
cdkProcessor.process(element, library);
expectLastCall();
- validator.verify();
+ validator.verify(library);
expectLastCall();
replay(element, roundEnv, builder, validator, cdkProcessor);
processor.process(Collections.singleton(element), roundEnv);
@@ -163,7 +163,7 @@
expect((Class<TestAnnotation>)
cdkProcessor.getProcessedAnnotation()).andStubReturn(TestAnnotation.class);
expect((Set<TypeElement>)
roundEnv.getElementsAnnotatedWith(TestAnnotation.class)).andReturn(
Collections.<TypeElement> emptySet());
- validator.verify();
+ validator.verify(library);
expectLastCall();
replay(element, roundEnv, builder, validator, cdkProcessor);
processor.process(Collections.singleton(element), roundEnv);
Modified:
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java
===================================================================
---
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java 2010-05-05
23:50:39 UTC (rev 16902)
+++
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java 2010-05-06
00:26:30 UTC (rev 16903)
@@ -72,7 +72,7 @@
ComponentModel component = new ComponentModel();
log.error((CharSequence) anyObject());expectLastCall();
replay(log,utils,namiingConventions);
- validator.verifyComponent(component);
+ validator.verifyComponent(library,component);
verify(log,utils,namiingConventions);
}
@@ -86,7 +86,7 @@
expect(namiingConventions.inferUIComponentFamily(type)).andReturn("foo.baz");
replay(log,utils,namiingConventions);
// Validator should set component type from base class.
- validator.verifyComponent(component);
+ validator.verifyComponent(library,component);
verify(log,utils,namiingConventions);
assertEquals(type, component.getType());
assertEquals("foo.baz", component.getFamily());