public ModuleDataModelOracleBuilder addClass(final Class clazz, final boolean isEvent) throws IOException { return addClass(clazz, isEvent, TypeSource.JAVA_PROJECT); }
public ModuleDataModelOracleBuilder addClass(final Class clazz) throws IOException { return addClass(clazz, false); }
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()); } }
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()); } }
@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)); }