Search in sources :

Example 1 with I18nPerson

use of org.drools.mvel.compiler.I18nPerson in project drools by kiegroup.

the class I18nTest method testNewClassPathResource.

@Test
public void testNewClassPathResource() {
    final Resource drl = ResourceFactory.newClassPathResource("test_I18nPerson_utf8_forTestNewClassPathResource.drl", getClass());
    final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromResources("i18n-test", kieBaseTestConfiguration, drl);
    final KieSession ksession = kbase.newKieSession();
    List<String> list = new ArrayList<>();
    ksession.setGlobal("list", list);
    I18nPerson i18nPerson = new I18nPerson();
    i18nPerson.set名称("山田花子");
    ksession.insert(i18nPerson);
    ksession.fireAllRules();
    assertTrue(list.contains("名称は山田花子です"));
    ksession.dispose();
}
Also used : I18nPerson(org.drools.mvel.compiler.I18nPerson) KieBase(org.kie.api.KieBase) Resource(org.kie.api.io.Resource) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) Test(org.junit.Test)

Example 2 with I18nPerson

use of org.drools.mvel.compiler.I18nPerson in project drools by kiegroup.

the class I18nTest method testKieFileSystem.

@Test
public void testKieFileSystem() {
    String str = "package org.drools.mvel.compiler.i18ntest;\n" + "import org.drools.mvel.compiler.I18nPerson;\n" + "\n" + "global java.util.List list;\n" + "rule \"名称 is 山田花子\"\n" + "    when\n" + "        p : I18nPerson( 名称 == \"山田花子\" )\n" + "    then\n" + "        list.add( \"名称は山田花子です\" );\n" + "end\n";
    KieServices ks = KieServices.Factory.get();
    KieFileSystem kfs = ks.newKieFileSystem().write("src/main/resources/r1.drl", str);
    final KieBuilder kieBuilder = KieUtil.getKieBuilderFromKieFileSystem(kieBaseTestConfiguration, kfs, true);
    assertTrue(kieBuilder.buildAll().getResults().getMessages().isEmpty());
    ReleaseId releaseId = kieBuilder.getKieModule().getReleaseId();
    final KieContainer kieContainer = ks.newKieContainer(releaseId);
    final KieSession ksession = kieContainer.newKieSession();
    List<String> list = new ArrayList<>();
    ksession.setGlobal("list", list);
    I18nPerson i18nPerson = new I18nPerson();
    i18nPerson.set名称("山田花子");
    ksession.insert(i18nPerson);
    ksession.fireAllRules();
    assertTrue(list.contains("名称は山田花子です"));
    ksession.dispose();
}
Also used : I18nPerson(org.drools.mvel.compiler.I18nPerson) KieFileSystem(org.kie.api.builder.KieFileSystem) ArrayList(java.util.ArrayList) KieServices(org.kie.api.KieServices) KieSession(org.kie.api.runtime.KieSession) ReleaseId(org.kie.api.builder.ReleaseId) KieBuilder(org.kie.api.builder.KieBuilder) KieContainer(org.kie.api.runtime.KieContainer) Test(org.junit.Test)

Example 3 with I18nPerson

use of org.drools.mvel.compiler.I18nPerson in project drools by kiegroup.

the class I18nTest method testKieModuleJar.

@Test
public void testKieModuleJar() {
    String str = "package org.drools.mvel.compiler.i18ntest;\n" + "import org.drools.mvel.compiler.I18nPerson;\n" + "\n" + "global java.util.List list;\n" + "rule \"名称 is 山田花子\"\n" + "    when\n" + "        p : I18nPerson( 名称 == \"山田花子\" )\n" + "    then\n" + "        list.add( \"名称は山田花子です\" );\n" + "end\n";
    KieServices ks = KieServices.Factory.get();
    ReleaseId releaseId = ks.newReleaseId("org.kie", "118ntest", "1.0.0");
    KieModule kmodule = KieUtil.getKieModuleFromDrls(releaseId, kieBaseTestConfiguration, str);
    KieContainer kc = ks.newKieContainer(kmodule.getReleaseId());
    KieSession ksession = kc.newKieSession();
    List<String> list = new ArrayList<>();
    ksession.setGlobal("list", list);
    I18nPerson i18nPerson = new I18nPerson();
    i18nPerson.set名称("山田花子");
    ksession.insert(i18nPerson);
    ksession.fireAllRules();
    assertTrue(list.contains("名称は山田花子です"));
    ksession.dispose();
}
Also used : I18nPerson(org.drools.mvel.compiler.I18nPerson) ArrayList(java.util.ArrayList) KieServices(org.kie.api.KieServices) KieSession(org.kie.api.runtime.KieSession) ReleaseId(org.kie.api.builder.ReleaseId) KieModule(org.kie.api.builder.KieModule) KieContainer(org.kie.api.runtime.KieContainer) Test(org.junit.Test)

Example 4 with I18nPerson

use of org.drools.mvel.compiler.I18nPerson in project drools by kiegroup.

the class I18nTest method readDrlInEncodingUtf8.

@Test
@Ignore("Fails because of JBRULES-3435. But the JBRULES-2853 part works fine. Support for i18n properties must be fixed in mvel")
public void readDrlInEncodingUtf8() throws Exception {
    final Resource drlResource = ResourceFactory.newClassPathResource("test_I18nPerson_utf8.drl", "UTF-8", getClass());
    drlResource.setResourceType(ResourceType.DRL);
    final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromResources("i18n-test", kieBaseTestConfiguration, drlResource);
    final KieSession ksession = kbase.newKieSession();
    List list = new ArrayList();
    ksession.setGlobal("list", list);
    I18nPerson i18nPerson = new I18nPerson();
    i18nPerson.setGarçon("Value 1");
    i18nPerson.setÉlève("Value 2");
    i18nPerson.setИмя("Value 3");
    i18nPerson.set名称("Value 4");
    ksession.insert(i18nPerson);
    ksession.fireAllRules();
    assertTrue(list.contains("garçon"));
    assertTrue(list.contains("élève"));
    assertTrue(list.contains("имя"));
    assertTrue(list.contains("名称"));
    ksession.dispose();
}
Also used : I18nPerson(org.drools.mvel.compiler.I18nPerson) KieBase(org.kie.api.KieBase) Resource(org.kie.api.io.Resource) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 5 with I18nPerson

use of org.drools.mvel.compiler.I18nPerson in project drools by kiegroup.

the class I18nTest method readDrlInEncodingLatin1.

@Test
public void readDrlInEncodingLatin1() throws Exception {
    final Resource drlResource = ResourceFactory.newClassPathResource("test_I18nPerson_latin1.drl.latin1", "ISO-8859-1", getClass());
    drlResource.setResourceType(ResourceType.DRL);
    final KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromResources("i18n-test", kieBaseTestConfiguration, drlResource);
    final KieSession ksession = kbase.newKieSession();
    List<String> list = new ArrayList<>();
    ksession.setGlobal("list", list);
    I18nPerson i18nPerson = new I18nPerson();
    i18nPerson.setGarçon("Value 1");
    // i18nPerson.setÉlève("Value 2");
    ksession.insert(i18nPerson);
    ksession.fireAllRules();
    assertTrue(list.contains("garçon"));
    // assertTrue(list.contains("élève"));
    ksession.dispose();
}
Also used : I18nPerson(org.drools.mvel.compiler.I18nPerson) KieBase(org.kie.api.KieBase) Resource(org.kie.api.io.Resource) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)5 I18nPerson (org.drools.mvel.compiler.I18nPerson)5 Test (org.junit.Test)5 KieSession (org.kie.api.runtime.KieSession)5 KieBase (org.kie.api.KieBase)3 Resource (org.kie.api.io.Resource)3 KieServices (org.kie.api.KieServices)2 ReleaseId (org.kie.api.builder.ReleaseId)2 KieContainer (org.kie.api.runtime.KieContainer)2 List (java.util.List)1 Ignore (org.junit.Ignore)1 KieBuilder (org.kie.api.builder.KieBuilder)1 KieFileSystem (org.kie.api.builder.KieFileSystem)1 KieModule (org.kie.api.builder.KieModule)1