Package org.kie.internal.agent

Examples of org.kie.internal.agent.KnowledgeAgent


        assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());
    }

    @Test @Ignore
    public void testCSVByKnowledgeAgent() {
        KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("csv agent");
        kagent.applyChangeSet(ResourceFactory.newClassPathResource("changeSetTestCSV.xml", getClass()));
        KnowledgeBase kbase = kagent.getKnowledgeBase();
       
        assertEquals(1, kbase.getKnowledgePackages().size());
        assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());
    }
View Full Code Here


            File targetTestFilesDir = new File("target/testFiles");
            targetTestFilesDir.mkdirs();
            File changeSetFile = new File(targetTestFilesDir, "changeSetTestCSV.xml");
            FileUtils.copyURLToFile(getClass().getResource("changeSetTestCSV.xml"), changeSetFile);

            KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("csv agent");
            kagent.applyChangeSet(ResourceFactory.newFileResource(changeSetFile));
            KnowledgeBase kbase = kagent.getKnowledgeBase();

            assertEquals(1, kbase.getKnowledgePackages().size());
            assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());

        } catch(Throwable t) {
View Full Code Here

        assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());
    }

    @Test @Ignore
    public void testCSVByKnowledgeAgent() {
        KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("csv agent");
        kagent.applyChangeSet(ResourceFactory.newClassPathResource("changeSetTestCSV.xml", getClass()));
        KnowledgeBase kbase = kagent.getKnowledgeBase();
       
        assertEquals(1, kbase.getKnowledgePackages().size());
        assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());
    }
View Full Code Here

            File targetTestFilesDir = new File("target/testFiles");
            targetTestFilesDir.mkdirs();
            File changeSetFile = new File(targetTestFilesDir, "changeSetTestCSV.xml");
            FileUtils.copyURLToFile(getClass().getResource("changeSetTestCSV.xml"), changeSetFile);

            KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("csv agent");
            kagent.applyChangeSet(ResourceFactory.newFileResource(changeSetFile));
            KnowledgeBase kbase = kagent.getKnowledgeBase();

            assertEquals(1, kbase.getKnowledgePackages().size());
            assertEquals(3, kbase.getKnowledgePackages().iterator().next().getRules().size());

        } catch(Throwable t) {
View Full Code Here

    ResourceFactory.getResourceChangeScannerService().configure(config);
    ResourceFactory.getResourceChangeNotifierService().start();
    ResourceFactory.getResourceChangeScannerService().start();

    // load knowledge base via knowledge agent
    KnowledgeAgent kagent = KnowledgeAgentFactory
        .newKnowledgeAgent("csv agent");
    kagent.applyChangeSet(ResourceFactory.newClassPathResource(
        "scannerChangeSetTestCSV.xml", getClass()));
    KnowledgeBase kbase = kagent.getKnowledgeBase();

    assertEquals(1, kbase.getKnowledgePackages().size());
    assertEquals(3, kbase.getKnowledgePackages().iterator().next()
        .getRules().size());

    // after some waiting we change number of rules in decision table,
    // scanner should notice the change
    Thread.sleep(1100);
    file.delete();
    fileManager.write(file, second);
    Thread.sleep(1100);

    try {
      kbase = kagent.getKnowledgeBase();
      // fails here - see surefire report, knowledge agent fails to load the change
      assertEquals(1, kbase.getKnowledgePackages().size());
      assertEquals(2, kbase.getKnowledgePackages().iterator().next()
          .getRules().size());
    } finally {
      ResourceFactory.getResourceChangeNotifierService().stop();
      ResourceFactory.getResourceChangeScannerService().stop();
      file.delete();
      kagent.dispose();
    }
  }
View Full Code Here

        ResourceChangeScannerConfiguration config = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
        config.setProperty("drools.resource.scanner.interval", "1");
        ResourceFactory.getResourceChangeScannerService().configure(config);
       
        // create knowledge agent
        KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("xls agent");
        kagent.applyChangeSet(ResourceFactory.newFileResource(xlsChangeset));
        KnowledgeBase kbase = kagent.getKnowledgeBase();
       
        // ---------------------------------------------------------------
        // start scanning service - scanner's thread throws exception here
        // ---------------------------------------------------------------
        ResourceFactory.getResourceChangeNotifierService().start();
        ResourceFactory.getResourceChangeScannerService().start();
       
        assertEquals( 2, kbase.getKnowledgePackages().size() );
        assertEquals( 3, kbase.getKnowledgePackages().iterator().next().getRules().size() );
       
        // sleeping and modifying content
        Thread.sleep(1500);
        ruleFile.delete();
        ruleFile = new File(TMP_DIR + "sample.xls");
        copy(getClass().getResourceAsStream("sample2.xls"), new FileOutputStream(ruleFile));

        Thread.sleep(1000);
        assertEquals(kbase.getKnowledgePackages().size(), 1);
        assertEquals(kbase.getKnowledgePackages().iterator().next().getRules().size(), 3);
        // there should be just 2 rules now, but scanner didn't notice the change
        kbase = kagent.getKnowledgeBase();
       
        assertEquals( 2, kbase.getKnowledgePackages().size() );
        assertEquals( 2, kbase.getKnowledgePackages().iterator().next().getRules().size() );
       
        // stop scanning service
        ResourceFactory.getResourceChangeNotifierService().stop();
        ResourceFactory.getResourceChangeScannerService().stop();
        // file could remain and we will see, that it has changed, but scanner didn't register that
        //ruleFile.delete();
        kagent.dispose();  
    }
View Full Code Here

TOP

Related Classes of org.kie.internal.agent.KnowledgeAgent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.