public ModuleDataModelOracle build() { addFromKieModuleMetadata(); addExternalImports(); return pdBuilder.build(); }
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; }
@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)); }
@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)); }
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_DATE)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_BOOLEAN)) .end() .build();
DataType.TYPE_DATE)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_BOOLEAN)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_DATE)) .end() .build();
DataType.TYPE_STRING)) .end() .build();
DataType.TYPE_STRING)) .end() .build();