@Test public void addAssetXLSDtableWithOwnConfigTest() { Resource resource = ResourceFactory.newClassPathResource("/data/resource.xls", getClass()); DecisionTableConfigurationImpl config = new DecisionTableConfigurationImpl(); config.setInputType(DecisionTableInputType.XLS); String worksheetName = "test-worksheet-name"; config.setWorksheetName(worksheetName); resource.setConfiguration(config); environment.addAsset(resource, ResourceType.DTABLE); verify(this.kbuilder).add(any(Resource.class), any(ResourceType.class)); } }
@Test public void addAssetCsvXlsReplaceConfigTest() { // config preserved ArgumentCaptor<ResourceConfiguration> resourceConfigCaptor = ArgumentCaptor.forClass(ResourceConfiguration.class); doThrow(new IllegalStateException("XLS resource not handled correctly!")).when(this.kbuilder).add(any(Resource.class), any(ResourceType.class)); Resource resource = ResourceFactory.newClassPathResource("/data/resource.xls", getClass()); DecisionTableConfigurationImpl config = new DecisionTableConfigurationImpl(); config.setInputType(DecisionTableInputType.CSV); String worksheetName = "test-worksheet-name"; config.setWorksheetName(worksheetName); resource.setConfiguration(config); // do method environment.addAsset(resource, ResourceType.DTABLE); verify(this.kbuilder).add(any(Resource.class), any(ResourceType.class), resourceConfigCaptor.capture()); ResourceConfiguration replacedConfig = resourceConfigCaptor.getValue(); assertTrue("Not a DecisionTableConfiguration, but a " + replacedConfig.getClass().getSimpleName(), replacedConfig instanceof DecisionTableConfiguration); assertEquals("Incorrect file type", DecisionTableInputType.XLS, ((DecisionTableConfiguration) replacedConfig).getInputType()); assertEquals("Worksheet name not preserved", worksheetName, ((DecisionTableConfiguration) replacedConfig).getWorksheetName()); }
public Resource setConfiguration(ResourceConfiguration conf) { return delegate.setConfiguration(conf); }
/** * Builds a Resource. * @return a Resource */ public Resource build() { Resource resource = null; if (_url != null) { resource = _kieResources.newUrlResource(_url); if (resource != null) { if (_resourceType != null) { resource.setResourceType(_resourceType); } if (_resourceConfiguration != null) { resource.setConfiguration(_resourceConfiguration); } } } return resource; }
/** * Builds a Resource. * @return a Resource */ public Resource build() { Resource resource = null; if (_url != null) { resource = _kieResources.newUrlResource(_url); if (resource != null) { if (_resourceType != null) { resource.setResourceType(_resourceType); } if (_resourceConfiguration != null) { resource.setConfiguration(_resourceConfiguration); } } } return resource; }
@Test public void testNamedWorksheet() throws Exception { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType( DecisionTableInputType.XLS ); dtconf.setWorksheetName( "Tables_2" ); Resource dt = ResourceFactory.newClassPathResource( "/data/IntegrationExampleTest.xls", getClass() ) .setConfiguration( dtconf ); KieSession ksession = getKieSession( dt ); //ASSERT AND FIRE ksession.insert( new Cheese( "cheddar", 42 ) ); ksession.insert( new Person( "michael", "stilton", 25 ) ); final List<String> list = new ArrayList<String>(); ksession.setGlobal( "list", list ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertEquals( "Young man cheddar", list.get( 0 ) ); }
@Override protected KieSession registerKnowledgeRuntime(String identifier, String rule) { KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); KieResources kieResources = ks.getResources(); Options xjcOpts = new Options(); xjcOpts.setSchemaLanguage(Language.XMLSCHEMA); JaxbConfiguration jaxbConfiguration = KnowledgeBuilderFactory.newJaxbConfiguration(xjcOpts, "xsd"); kfs.write(kieResources.newClassPathResource("person.xsd", getClass()).setResourceType(ResourceType.XSD).setConfiguration(jaxbConfiguration)); if (rule != null && rule.length() > 0) { kfs.write("src/main/resources/rule.drl", rule); } KieBuilder kieBuilder = ks.newKieBuilder(kfs).buildAll(); List<Message> errors = kieBuilder.getResults().getMessages(Message.Level.ERROR); if (!errors.isEmpty()) { fail("" + errors); } KieSession ksession = ks.newKieContainer(ks.getRepository().getDefaultReleaseId()).newKieSession(); try { jndiContext.bind(identifier, ksession); } catch (NamingException e) { throw new RuntimeException(e); } return ksession; }
kfs.write(kieResources.newClassPathResource("person.xsd", getClass()).setResourceType(ResourceType.XSD).setConfiguration(jaxbConfiguration));
kfs.write(kieResources.newClassPathResource("person.xsd", getClass()).setResourceType(ResourceType.XSD).setConfiguration(jaxbConfiguration));