use of io.joynr.generator.js.util.JsTemplateFactory in project joynr by bmwcarit.
the class CompoundTypeGeneratorTest method testRecursiveStruct.
@Test
public void testRecursiveStruct() throws Exception {
FModel model = FrancaFactory.eINSTANCE.createFModel();
FStructType structType = FrancaFactory.eINSTANCE.createFStructType();
FTypeCollection typeCollection = FrancaFactory.eINSTANCE.createFTypeCollection();
typeCollection.getTypes().add(structType);
model.getTypeCollections().add(typeCollection);
structType.setName("TestStruct");
FField field = FrancaFactory.eINSTANCE.createFField();
field.setName("exampleField");
field.setArray(true);
FTypeRef typeRef = FrancaFactory.eINSTANCE.createFTypeRef();
typeRef.setDerived(structType);
field.setType(typeRef);
structType.getElements().add(field);
JsTemplateFactory templateFactory = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
install(new FactoryModuleBuilder().build(JsTemplateFactory.class));
bind(Boolean.class).annotatedWith(Names.named(JoynrGeneratorExtensions.JOYNR_GENERATOR_GENERATE)).toInstance(true);
bind(Boolean.class).annotatedWith(Names.named(JoynrGeneratorExtensions.JOYNR_GENERATOR_CLEAN)).toInstance(false);
}
}).getInstance(JsTemplateFactory.class);
CompoundTypeGenerator generator = templateFactory.createCompoundTypeGenerator(structType);
generator.generate();
}
Aggregations