protected ModuleDataModelOracle getModuleOracle(Class clazz) { try { final ModuleDataModelOracleBuilder builder = ModuleDataModelOracleBuilder.newModuleOracleBuilder(evaluator); final ClassFactBuilder modelFactBuilder = new ClassFactBuilder(builder, clazz, false, TypeSource.JAVA_PROJECT); ModuleDataModelOracle oracle = modelFactBuilder.getDataModelBuilder().build(); Map<String, FactBuilder> builders = new HashMap<>(); for (FactBuilder factBuilder : modelFactBuilder.getInternalBuilders().values()) { if (factBuilder instanceof ClassFactBuilder) { builders.put(((ClassFactBuilder) factBuilder).getType(), factBuilder); factBuilder.build((ModuleDataModelOracleImpl) oracle); } } builders.put(modelFactBuilder.getType(), modelFactBuilder); modelFactBuilder.build((ModuleDataModelOracleImpl) oracle); return oracle; } catch (IOException ex) { } return null; }
public ModuleDataModelOracleBuilder addClass(final Class clazz, final boolean isEvent) throws IOException { return addClass(clazz, isEvent, TypeSource.JAVA_PROJECT); }
public SimpleFactBuilder addFact(final String factType, final boolean isEvent) { return addFact(factType, isEvent, TypeSource.JAVA_PROJECT); }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("gender", String.class.getName(), DataType.TYPE_STRING)) .end() .build();
@Test public void checkConstructContentPopulateProjectCollectionTypesAndDSLSentences() throws Exception { final Path path = mock(Path.class); final Overview overview = mock(Overview.class); final ModuleDataModelOracle projectDataModelOracle = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addClass(List.class) .addClass(Set.class) .addClass(Collection.class) .addClass(Integer.class) .build(); final PackageDataModelOracle oracle = PackageDataModelOracleBuilder.newPackageOracleBuilder(new RawMVELEvaluator()) .setModuleOracle(projectDataModelOracle) .addExtension(DSLActionSentence.INSTANCE, Collections.singletonList(dslSentence)) .addExtension(DSLConditionSentence.INSTANCE, Collections.singletonList(dslSentence)) .build(); when(path.toURI()).thenReturn("default://project/src/main/resources/mypackage/rule.rdrl"); when(dataModelService.getDataModel(any())).thenReturn(oracle); final GuidedEditorContent content = service.constructContent(path, overview); assertEquals(3, content.getDataModel().getCollectionTypes().size()); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.Collection")); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.List")); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.Set")); assertTrue(content.getDataModel().getPackageElements(DSLActionSentence.INSTANCE).contains(dslSentence)); assertTrue(content.getDataModel().getPackageElements(DSLConditionSentence.INSTANCE).contains(dslSentence)); }
public ModuleDataModelOracle build() { addFromKieModuleMetadata(); addExternalImports(); return pdBuilder.build(); }
public static ModuleDataModelOracleBuilder newModuleOracleBuilder(MVELEvaluator evaluator) { return new ModuleDataModelOracleBuilder(evaluator); }
private void addEnumsForField(final String className, final String fieldName, final Class<?> fieldClazz) { if (fieldClazz.isEnum()) { final Field[] enumFields = fieldClazz.getDeclaredFields(); final List<String> enumValues = new ArrayList<String>(); for (final Field enumField : enumFields) { if (enumField.isEnumConstant()) { String shortName = fieldClazz.getName().substring(fieldClazz.getName().lastIndexOf(".") + 1) + "." + enumField.getName(); if (shortName.contains("$")) { shortName = shortName.replaceAll("\\$", "."); } enumValues.add(shortName + "=" + shortName); } } final String a[] = new String[enumValues.size()]; enumValues.toArray(a); getDataModelBuilder().addEnum(className, fieldName, a); } }
private void addFromKieModuleMetadata() { for (final String packageName : getFilteredPackageNames()) { pdBuilder.addPackage(packageName); addClasses(packageName, kieModuleMetaData.getClasses(packageName)); } }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age", Integer.class.getName(), DataType.TYPE_STRING)) .end() .build();
@Test public void checkConstructContentPopulateProjectCollectionTypesAndDSLSentences() throws Exception { final Path path = mock(Path.class); final Overview overview = mock(Overview.class); final ModuleDataModelOracle projectDataModelOracle = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addClass(List.class) .addClass(Set.class) .addClass(Collection.class) .addClass(Integer.class) .build(); final PackageDataModelOracle oracle = PackageDataModelOracleBuilder.newPackageOracleBuilder(new RawMVELEvaluator()) .setModuleOracle(projectDataModelOracle) .addExtension(DSLActionSentence.INSTANCE, Collections.singletonList(dslSentence)) .addExtension(DSLConditionSentence.INSTANCE, Collections.singletonList(dslSentence)) .build(); when(path.toURI()).thenReturn("default://project/src/main/resources/mypackage/rule.rdrl"); when(dataModelService.getDataModel(any())).thenReturn(oracle); final GuidedEditorContent content = service.constructContent(path, overview); assertEquals(3, content.getDataModel().getCollectionTypes().size()); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.Collection")); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.List")); assertTrue(content.getDataModel().getCollectionTypes().containsKey("java.util.Set")); assertTrue(content.getDataModel().getPackageElements(DSLActionSentence.INSTANCE).contains(dslSentence)); assertTrue(content.getDataModel().getPackageElements(DSLConditionSentence.INSTANCE).contains(dslSentence)); }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age", Integer.class.getName(), DataType.TYPE_DATE)) .end() .build();
public ModuleDataModelOracleBuilder addClass(final Class clazz) throws IOException { return addClass(clazz, false); }
public SimpleFactBuilder addFact(final String factType) { return addFact(factType, false); }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("name", String.class.getName(), DataType.TYPE_STRING)) .end() .build();
private void addClass(final Import item) { try { Class clazz = this.getClass().getClassLoader().loadClass(item.getType()); pdBuilder.addClass(clazz, false, TypeSource.JAVA_DEPENDENCY); } catch (ClassNotFoundException cnfe) { //Class resolution would have happened in Builder and reported as warnings so log error here at debug level to avoid flooding logs log.debug(cnfe.getMessage()); } catch (IOException ioe) { log.debug(ioe.getMessage()); } }
model.setTableFormat(GuidedDecisionTable52.TableFormat.LIMITED_ENTRY); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age", Integer.class.getName(), DataType.TYPE_BOOLEAN)) .end() .build();
private void addClass(final String packageName, final String className) { try { final Class clazz = kieModuleMetaData.getClass(packageName, className); pdBuilder.addClass(clazz, kieModuleMetaData.getTypeMetaInfo(clazz).isEvent(), typeSourceResolver.getTypeSource(clazz)); } catch (Throwable e) { //Class resolution would have happened in Builder and reported as warnings so log error here at debug level to avoid flooding logs log.debug(e.getMessage()); } }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age", Integer.class.getName(), DataType.TYPE_DATE)) .end() .build();
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age", Integer.class.getName(), DataType.TYPE_DATE)) .end() .build();