示例#1
0
  @Test
  public void testHelloWorldWithEmptyFile() throws Exception {
    String drl =
        "package org.drools\n"
            + "rule R1 when\n"
            + "   $m : Message( message == \"Hello World\" )\n"
            + "then\n"
            + "end\n";

    KieServices ks = KieServices.Factory.get();

    KieFileSystem kfs =
        ks.newKieFileSystem()
            .write("src/main/resources/r1.drl", drl)
            .write(
                "src/main/resources/empty.drl",
                ks.getResources().newInputStreamResource(new ByteArrayInputStream(new byte[0])));
    ks.newKieBuilder(kfs).buildAll();

    KieSession ksession =
        ks.newKieContainer(ks.getRepository().getDefaultReleaseId()).newKieSession();
    ksession.insert(new Message("Hello World"));

    int count = ksession.fireAllRules();

    assertEquals(1, count);
  }
  public void go(PrintStream out) {
    KieServices ks = KieServices.Factory.get();
    KieRepository kr = ks.getRepository();

    KieModule kModule =
        kr.addKieModule(ks.getResources().newFileSystemResource(getFile("named-kiesession")));

    KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());

    KieSession kSession = kContainer.newKieSession("ksession1");
    kSession.setGlobal("out", out);

    Object msg1 = createMessage(kContainer, "Dave", "Hello, HAL. Do you read me, HAL?");
    kSession.insert(msg1);
    kSession.fireAllRules();
  }