Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4e829fb

Browse files
Added validation resources
1 parent ddb172c commit 4e829fb

File tree

10 files changed

+88
-5
lines changed

10 files changed

+88
-5
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.snda.infrastrure.drools.tutorial.validation;
2+
3+
public class BankInquiryServiceImpl implements BankingInquiryService {
4+
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.snda.infrastrure.drools.tutorial.validation;
2+
3+
public interface BankingInquiryService {
4+
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.snda.infrastrure.drools.tutorial.validation;
2+
3+
public class DefaultReportFactory implements ReportFactory {
4+
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.snda.infrastrure.drools.tutorial.validation;
2+
3+
public interface ReportFactory {
4+
5+
}

src/main/rules/validation.drl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#created on: Nov 15, 2010
2+
package com.snda.infrastrure.drools.tutorial.validation
3+
4+
#list any import classes here.
5+
6+
7+
8+
#declare any global variables here
9+
10+

src/test/java/com/snda/infrastrure/drools/tutorial/KnowledgeBases.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Map.Entry;
55

66
import org.drools.KnowledgeBase;
7+
import org.drools.KnowledgeBaseConfiguration;
78
import org.drools.KnowledgeBaseFactory;
89
import org.drools.builder.KnowledgeBuilder;
910
import org.drools.builder.KnowledgeBuilderError;
@@ -14,7 +15,7 @@
1415

1516
public abstract class KnowledgeBases {
1617

17-
public static KnowledgeBase of(Map<String, ResourceType> resourceMap) {
18+
public static KnowledgeBase of(Map<String, ResourceType> resourceMap, KnowledgeBaseConfiguration conf) {
1819
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
1920

2021
for (Entry<String, ResourceType> entry : resourceMap.entrySet()) {
@@ -30,7 +31,14 @@ public static KnowledgeBase of(Map<String, ResourceType> resourceMap) {
3031
throw new IllegalArgumentException("Couldn't parse knowledge");
3132
}
3233

33-
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
34+
KnowledgeBase kbase = null;
35+
36+
if (conf == null) {
37+
kbase = KnowledgeBaseFactory.newKnowledgeBase();
38+
} else {
39+
kbase = KnowledgeBaseFactory.newKnowledgeBase(conf);
40+
}
41+
3442
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
3543
return kbase;
3644
}

src/test/java/com/snda/infrastrure/drools/tutorial/SimpleDSLTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ private KnowledgeBase kbase() {
3030
ImmutableMap.of(
3131
"simple.dsl", ResourceType.DSL,
3232
"simple.dslr", ResourceType.DSLR
33-
)
33+
),
34+
null
3435
);
3536
}
3637

src/test/java/com/snda/infrastrure/drools/tutorial/StatefulKnowledgeSessionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class StatefulKnowledgeSessionTest extends Ensure {
2323

2424
@Test
2525
public void test() {
26-
KnowledgeBase kbase = KnowledgeBases.of(ImmutableMap.of("fire_alarm.drl", ResourceType.DRL));
26+
KnowledgeBase kbase = KnowledgeBases.of(ImmutableMap.of("fire_alarm.drl", ResourceType.DRL), null);
2727
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
2828

2929
String[] names = new String[] {KITCHEN, BEDROOM, OFFICE, LIVINGROOM};

src/test/java/com/snda/infrastrure/drools/tutorial/StatelessKnowledgeSessionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void age() {
3030
}
3131

3232
private KnowledgeBase kbase() {
33-
return KnowledgeBases.of(ImmutableMap.of("license_applicant.drl", ResourceType.DRL));
33+
return KnowledgeBases.of(ImmutableMap.of("license_applicant.drl", ResourceType.DRL), null);
3434
}
3535

3636
@Test
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.snda.infrastrure.drools.tutorial.validation;
2+
3+
import org.drools.KnowledgeBase;
4+
import org.drools.KnowledgeBaseConfiguration;
5+
import org.drools.KnowledgeBaseFactory;
6+
import org.drools.builder.ResourceType;
7+
import org.drools.conf.SequentialOption;
8+
import org.drools.runtime.StatelessKnowledgeSession;
9+
import org.junit.Before;
10+
import org.junit.Test;
11+
12+
import com.google.common.collect.ImmutableMap;
13+
import com.snda.infrastrure.drools.tutorial.KnowledgeBases;
14+
15+
16+
public class ValidationTest {
17+
18+
private ReportFactory reportFactory;
19+
private StatelessKnowledgeSession session;
20+
21+
@Before
22+
public void initialize() {
23+
BankingInquiryService inquiryService = new BankInquiryServiceImpl();
24+
reportFactory = new DefaultReportFactory();
25+
initializeSession(inquiryService, reportFactory);
26+
}
27+
28+
private void initializeSession(BankingInquiryService inquiryService, ReportFactory reportFactory) {
29+
KnowledgeBaseConfiguration conf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
30+
conf.setOption(SequentialOption.YES);
31+
KnowledgeBase kbase = KnowledgeBases.of(ImmutableMap.of("validation.drl", ResourceType.DRL), conf);
32+
session = kbase.newStatelessKnowledgeSession();
33+
session.setGlobal("inquiryService", inquiryService);
34+
session.setGlobal("reportFactory", reportFactory);
35+
}
36+
37+
@Test
38+
public void addressRequired() {
39+
40+
}
41+
42+
43+
44+
}

0 commit comments

Comments
 (0)