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)); }
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("gender",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("name",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
+ "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']"; final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Fact") .addField(new ModelField("field1",
+ "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']"; final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Fact") .addField(new ModelField("field1",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
+ "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']"; final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Fact") .addField(new ModelField("field1",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("name",
public void testConditionFormulaChoices() { final GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle loader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
public void testConditionPredicateChoices() { final GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle loader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
public void testNumeric() { final GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle loader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",
public void testNoConstraints() { final GuidedDecisionTable52 model = new GuidedDecisionTable52(); final ModuleDataModelOracle loader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()) .addFact("Driver") .addField(new ModelField("age",