use of org.whole.lang.models.model.Model in project whole by wholeplatform.
the class GrammarsUtils method deriveModel.
public static Model deriveModel(Grammar g, boolean normalizeGrammar) {
Grammars2ModelsVisitor v = new Grammars2ModelsVisitor(normalizeGrammar);
v.visit(g);
return (Model) v.getResult();
}
use of org.whole.lang.models.model.Model in project whole by wholeplatform.
the class PojoMappingUtils method getModel.
public static Model getModel(Library library) {
IBindingManager bindings = BindingManagerFactory.instance.createBindingManager();
PathExpression pojoModelToModels = new PojoModelToModelsQuery().create();
Library normalizedLibrary = NormalizerOperation.normalize(EntityUtils.clone(library));
Model model = BehaviorUtils.<Model>evaluateFirstResult(pojoModelToModels, normalizedLibrary, bindings);
Matcher.removeVars(model, true);
return model;
}
use of org.whole.lang.models.model.Model in project whole by wholeplatform.
the class ControlQueriesTest method testDo1.
@Test
public void testDo1() {
Model model = new XmlModel().create();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("do1");
IEntity result = BehaviorUtils.evaluateFirstResult(query, model);
assertTrue(result instanceof ClassDeclaration);
assertEquals("HelloWorld", ((ClassDeclaration) result).getName().getValue());
}
use of org.whole.lang.models.model.Model in project whole by wholeplatform.
the class ControlQueriesTest method testIf2.
@Test
public void testIf2() {
Model model = new XmlModel().create();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("if2");
IEntity result = BehaviorUtils.evaluateFirstResult(query, model);
assertTrue(result instanceof ClassDeclaration);
assertEquals(model.getName().getValue(), ((ClassDeclaration) result).getName().getValue());
}
use of org.whole.lang.models.model.Model in project whole by wholeplatform.
the class ControlQueriesTest method testChoose4.
@Test
public void testChoose4() {
Model model = new ModelsModel().create();
ModelDeclarations decls = model.getDeclarations();
IBindingManager bm = BindingManagerFactory.instance.createBindingManager();
ITemplateManager tm = ControlQueriesTemplateManager.instance();
PathExpression query = (PathExpression) tm.create("choose4");
int i = 0;
IEntityIterator<IEntity> iterator = BehaviorUtils.compileAndLazyEvaluate(query, model, bm);
while (iterator.hasNext()) {
IEntity result = iterator.next();
assertSame(result, bm.wGet("type"));
assertTrue(result instanceof ClassDeclaration);
ClassDeclaration classDecl = (ClassDeclaration) result;
IEntity decl = decls.wGet(i++);
String name = "", superClassName = "";
switch(decl.wGetEntityOrd()) {
case ModelsEntityDescriptorEnum.SimpleEntity_ord:
SimpleEntity simpleEntity = (SimpleEntity) decl;
name = simpleEntity.getName().wStringValue();
superClassName = "AbstractSimpleEntity";
break;
case ModelsEntityDescriptorEnum.CompositeEntity_ord:
CompositeEntity compositeEntity = (CompositeEntity) decl;
name = compositeEntity.getName().wStringValue();
superClassName = "AbstractCompositeEntity";
break;
case ModelsEntityDescriptorEnum.DataEntity_ord:
DataEntity dataEntity = (DataEntity) decl;
name = dataEntity.getName().wStringValue();
superClassName = "AbstractDataEntity";
break;
case ModelsEntityDescriptorEnum.EnumEntity_ord:
EnumEntity enumEntity = (EnumEntity) decl;
name = enumEntity.getName().wStringValue();
superClassName = "AbstractEnumEntity";
break;
}
assertEquals(name, classDecl.getName().wStringValue());
assertEquals(superClassName, classDecl.getSuperclassType().wStringValue());
}
}
Aggregations