use of org.kie.workbench.common.services.datamodeller.core.DataModel in project kie-wb-common by kiegroup.
the class JavaRoasterModelDriverTest method modelVetoingTest.
@Test
public void modelVetoingTest() throws Exception {
try {
final SourceFilter pojo1Filter = javaType -> javaType.getName().equals("Pojo1");
final NestedClassFilter nestedClassFilter = javaType -> javaType.isClass() && javaType.getAnnotation(Generated.class) != null;
final MethodFilter methodFilter = method -> !method.isConstructor() && method.getAnnotation(Generated.class) != null;
FilterHolder filterHolder = mock(FilterHolder.class);
when(filterHolder.getSourceFilters()).thenReturn(Collections.singleton(pojo1Filter));
when(filterHolder.getNestedClassFilters()).thenReturn(Collections.singleton(nestedClassFilter));
when(filterHolder.getMethodFilters()).thenReturn(Collections.singleton(methodFilter));
final JavaRoasterModelDriver javaRoasterModelDriver = new JavaRoasterModelDriver(ioService, rootPath, getClass().getClassLoader(), filterHolder);
ModelDriverResult modelDriverResult = javaRoasterModelDriver.loadModel();
DataModel dataModelOriginal = createModel();
assertNotNull(modelDriverResult);
assertNotNull(modelDriverResult.getDataModel());
assertEquals(dataModelOriginal.getDataObjects().size() - 1, modelDriverResult.getDataModel().getDataObjects().size());
for (DataObject dataObject : modelDriverResult.getDataModel().getDataObjects()) {
if (!dataObject.getClassName().endsWith("Pojo1")) {
DataModelerAssert.assertEqualsDataObject(dataObject, modelDriverResult.getDataModel().getDataObject(dataObject.getClassName()));
} else {
fail("Pojo1 should have been vetoed.");
}
}
} catch (Exception e) {
e.printStackTrace();
fail("Test failed: " + e.getMessage());
}
}
use of org.kie.workbench.common.services.datamodeller.core.DataModel in project kie-wb-common by kiegroup.
the class GenerationEngineTest method testAllFieldAnnotationsStringGeneration.
@Test
public void testAllFieldAnnotationsStringGeneration() {
DataModel dataModel = dataModelOracleDriver.createModel();
DataObject object1 = dataModel.addDataObject("com.test.Object1");
ObjectProperty prop1 = object1.addProperty("attribute1", "java.lang.String");
Annotation label = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Label.class.getName()));
label.setValue("value", "Attribute 1");
Annotation desc = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Description.class.getName()));
desc.setValue("value", "Description for Attribute 1");
Annotation key = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Key.class.getName()));
Annotation position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
position.setValue("value", "0");
prop1.addAnnotation(label);
prop1.addAnnotation(desc);
prop1.addAnnotation(key);
prop1.addAnnotation(position);
GenerationContext generationContext = new GenerationContext(dataModelOracleDriver.createModel());
try {
String result = engine.generateAllAnnotationsString(generationContext, prop1);
assertEquals(results.getProperty("testAllFieldAnnotationsStringGeneration"), result);
} catch (Exception e) {
e.printStackTrace();
}
}
use of org.kie.workbench.common.services.datamodeller.core.DataModel in project kie-wb-common by kiegroup.
the class GenerationEngineTest method testKeyFieldsConstructorStringGeneration.
@Test
public void testKeyFieldsConstructorStringGeneration() {
DataModel dataModel = dataModelOracleDriver.createModel();
DataObject object1 = dataModel.addDataObject("com.test.Object1");
DataObject object2 = dataModel.addDataObject("com.test.sub.Object2");
ObjectProperty prop1 = object1.addProperty("attribute1", "java.lang.String");
((ObjectPropertyImpl) prop1).setFileOrder(1);
ObjectProperty prop2 = object1.addProperty("attribute2", "java.lang.Boolean");
((ObjectPropertyImpl) prop2).setFileOrder(2);
ObjectProperty prop3 = object1.addProperty("attribute3", object2.getClassName());
((ObjectPropertyImpl) prop3).setFileOrder(0);
ObjectProperty prop4 = object1.addProperty("attribute4", "long");
((ObjectPropertyImpl) prop4).setFileOrder(3);
Annotation key = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Key.class.getName()));
Annotation position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
prop3.addAnnotation(key);
prop1.addAnnotation(key);
prop2.addAnnotation(key);
GenerationContext generationContext = new GenerationContext(dataModel);
try {
String result = engine.generateKeyFieldsConstructorString(generationContext, object1);
assertEquals(results.getProperty("testKeyFieldsConstructorStringGeneration"), result);
} catch (Exception e) {
e.printStackTrace();
}
}
use of org.kie.workbench.common.services.datamodeller.core.DataModel in project kie-wb-common by kiegroup.
the class GenerationEngineTest method testAllConstructorsStringGeneration.
@Test
public void testAllConstructorsStringGeneration() {
DataModel dataModel = dataModelOracleDriver.createModel();
DataObject object1 = dataModel.addDataObject("com.test.Object1");
DataObject object2 = dataModel.addDataObject("com.test.sub.Object2");
ObjectProperty prop1 = object1.addProperty("attribute1", "java.lang.String");
((ObjectPropertyImpl) prop1).setFileOrder(0);
ObjectProperty prop2 = object1.addProperty("attribute2", "java.lang.Boolean");
((ObjectPropertyImpl) prop2).setFileOrder(1);
ObjectProperty prop3 = object1.addProperty("attribute3", object2.getClassName());
((ObjectPropertyImpl) prop3).setFileOrder(2);
ObjectProperty prop4 = object1.addProperty("attribute4", "long");
((ObjectPropertyImpl) prop4).setFileOrder(3);
Annotation key = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Key.class.getName()));
Annotation position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
position.setValue("value", "0");
prop3.addAnnotation(key);
prop3.addAnnotation(position);
position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
position.setValue("value", "1");
prop1.addAnnotation(key);
prop1.addAnnotation(position);
position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
position.setValue("value", "2");
prop2.addAnnotation(key);
prop2.addAnnotation(position);
position = new AnnotationImpl(annotationDefinitions.get(org.kie.api.definition.type.Position.class.getName()));
position.setValue("value", "3");
prop4.addAnnotation(position);
GenerationContext generationContext = new GenerationContext(dataModel);
try {
String result = engine.generateAllConstructorsString(generationContext, object1);
assertEquals(results.getProperty("testAllConstructorsStringGeneration"), result);
} catch (Exception e) {
e.printStackTrace();
}
}
use of org.kie.workbench.common.services.datamodeller.core.DataModel in project kie-wb-common by kiegroup.
the class GenerationEngineTest method testFieldAccessorStringGeneration.
@Test
public void testFieldAccessorStringGeneration() {
DataModel dataModel = dataModelOracleDriver.createModel();
DataObject object = dataModel.addDataObject("com.test.Object1");
ObjectProperty property = object.addProperty("attribute1", "java.lang.String");
GenerationContext generationContext = new GenerationContext(dataModel);
try {
String result = engine.generateFieldGetterString(generationContext, property);
assertEquals(results.getProperty("testFieldAccessorStringGeneration"), result);
} catch (Exception e) {
e.printStackTrace();
}
}
Aggregations