use of org.drools.core.factmodel.traits.Entity in project drools by kiegroup.
the class TraitTest method testPartitionWithSiblingsOnDelete.
@Test
public void testPartitionWithSiblingsOnDelete() {
String drl = "import " + Entity.class.getName() + ";" + "global java.util.List list; " + "declare trait A @propertyReactive end " + "declare trait B extends A @propertyReactive end " + "declare trait C extends A @propertyReactive end " + "rule Trait when " + " $core: Entity( ) " + "then " + " don( $core, A.class ); " + " don( $core, B.class ); " + " don( $core, C.class ); " + "end " + "rule Shed when " + " $s: String() " + " $core : Entity() " + "then " + " shed( $core, C.class ); " + "end " + "rule RA when A() then list.add( 'A' ); end " + "rule RB when B() then list.add( 'B' ); end " + "rule RC when C() then list.add( 'C' ); end " + " ";
KieBase kbase = new KieHelper().addContent(drl, ResourceType.DRL).build();
TraitFactory.setMode(mode, kbase);
KieSession ksession = kbase.newKieSession();
List list = new ArrayList();
ksession.setGlobal("list", list);
Entity e = new Entity();
ksession.insert(e);
ksession.fireAllRules();
assertEquals(Arrays.asList('A', 'B', 'C'), list);
ksession.insert("go");
ksession.fireAllRules();
Set<BitSet> s = checkOTNPartitioning(e, ksession);
assertEquals(2, s.size());
assertEquals(Arrays.asList('A', 'B', 'C'), list);
}
use of org.drools.core.factmodel.traits.Entity in project drools by kiegroup.
the class MetadataTest method testDon.
@Test
public void testDon() {
Entity entity = new Entity("123");
entity._setDynamicProperties(new HashMap());
entity._getDynamicProperties().put("prop", "hello");
Klass klass = Klass_.donKlass(entity).setTraitFactory(new StandaloneTraitFactory(ProjectClassLoader.createProjectClassLoader())).call();
assertEquals("hello", klass.getProp());
}
Aggregations