Skip to content

Commit

Permalink
#8 test
Browse files Browse the repository at this point in the history
  • Loading branch information
pethers committed Feb 25, 2018
1 parent 2b981bc commit 1d2db8a
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 22 deletions.
4 changes: 2 additions & 2 deletions parent-pom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
<cia.project.versions.hibernate.jpamodelgen>5.3.0.CR1</cia.project.versions.hibernate.jpamodelgen>
<cia.project.versions.hibernate.build>5.3.0.CR1</cia.project.versions.hibernate.build>
<cia.project.versions.hibernate.tools>5.2.9.Final</cia.project.versions.hibernate.tools>
<cia.project.versions.hibernate.jpa2>1.0.0.Final</cia.project.versions.hibernate.jpa2>
<cia.project.versions.hibernate.jpa2>1.0.2</cia.project.versions.hibernate.jpa2>
<cia.project.versions.hibernate.validator>6.0.7.Final</cia.project.versions.hibernate.validator>
<cia.project.versions.hibernate.build.validator>6.0.7.Final</cia.project.versions.hibernate.build.validator>
<cia.project.versions.bytebuddy>1.7.10</cia.project.versions.bytebuddy>
Expand Down Expand Up @@ -963,7 +963,7 @@
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>3.3.2</version>
<version>3.3.3</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.hack23.cia.service.impl.rules;

import com.hack23.cia.service.api.action.kpi.ComplianceCheck;
import com.hack23.cia.service.api.action.kpi.ResourceIdentifier;
import com.hack23.cia.service.api.action.kpi.ResourceType;
import com.hack23.cia.service.api.action.kpi.Status;

public final class ComplianceCheckImpl implements ComplianceCheck {

private ResourceType resourceType;

private Status status;

public void setResourceType(ResourceType resourceType) {
this.resourceType = resourceType;
}

public void setStatus(Status status) {
this.status = status;
}

public ResourceType getResourceType() {
return resourceType;
}

public Status getStatus() {
return status;
}

@Override
public String getRuleName() {
// TODO Auto-generated method stub
return null;
}

@Override
public String getRuleDescription() {
// TODO Auto-generated method stub
return null;
}

@Override
public ResourceIdentifier getResourceIdentifier() {
// TODO Auto-generated method stub
return null;
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
import org.kie.api.builder.KieBuilder;
import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.KieModule;
import org.kie.api.event.rule.AfterMatchFiredEvent;
import org.kie.api.event.rule.DefaultAgendaEventListener;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.io.ResourceFactory;
Expand All @@ -35,7 +37,6 @@
import com.hack23.cia.model.internal.application.data.politician.impl.ViewRiksdagenPolitician;
import com.hack23.cia.service.api.ApplicationManager;
import com.hack23.cia.service.api.DataContainer;
import com.hack23.cia.service.api.action.kpi.Status;
import com.hack23.cia.service.impl.AbstractServiceFunctionalIntegrationTest;

public final class RuleServiceITest extends AbstractServiceFunctionalIntegrationTest {
Expand Down Expand Up @@ -74,12 +75,17 @@ public void ruleEngineTest() throws Exception {
if (politicianData != null) {
KieSession ksession = newKieContainer.newKieSession();
ksession.insert( politicianData );

ksession.addEventListener( new DefaultAgendaEventListener() {
public void afterMatchFired(AfterMatchFiredEvent event) {
super.afterMatchFired( event );
System.out.println(event.getMatch().getRule() + ":" + politicianData.getFirstName() + politicianData.getLastName());

}
});

int level = ksession.fireAllRules();
if (level == 0) {
System.out.println(": detected level:" +Status.OK + ":" + politicianData.getFirstName() + " " +politicianData.getLastName());
} else {
System.out.println(": detected level:" +Status.CRITICAL + ":" + politicianData.getFirstName() + " " +politicianData.getLastName());
}

ksession.dispose();
}
}
Expand All @@ -88,7 +94,16 @@ public void ruleEngineTest() throws Exception {
if (partyData != null) {
KieSession ksession = newKieContainer.newKieSession();
ksession.insert( partyData );
System.out.println("Pary Rules fired:" +ksession.fireAllRules() + ":" + partyData.getParty());

ksession.addEventListener( new DefaultAgendaEventListener() {
public void afterMatchFired(AfterMatchFiredEvent event) {
super.afterMatchFired( event );
System.out.println(event.getMatch().getRule() + partyData.getParty());
}
});

int level = ksession.fireAllRules();

ksession.dispose();
}
}
Expand Down
17 changes: 6 additions & 11 deletions service.impl/src/test/resources/rules/Party.drl
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.hack23.cia.service.impl.rules

import com.hack23.cia.model.internal.application.data.party.impl.ViewRiksdagenPartySummary

rule "We have an inactive Party"
when
exists( ViewRiksdagenPartySummary(currentAssignments == 0) )
then
System.out.println("inactive");
end
import com.hack23.cia.service.api.action.kpi.Status
import com.hack23.cia.service.impl.rules.ComplianceCheckImpl

rule "We have an active Party"
rule "We have an active Party with no government experience"
when
exists( ViewRiksdagenPartySummary(currentAssignments > 0) )
exists( ViewRiksdagenPartySummary( active == true && totalDaysServedGovernment == 0 ) )
then
System.out.println("active");
end
insert( new ComplianceCheckImpl() );
end
6 changes: 4 additions & 2 deletions service.impl/src/test/resources/rules/Politician.drl
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.hack23.cia.service.impl.rules

import com.hack23.cia.model.internal.application.data.politician.impl.ViewRiksdagenPolitician;
import com.hack23.cia.model.internal.application.data.politician.impl.ViewRiksdagenPolitician
import com.hack23.cia.service.api.action.kpi.Status
import com.hack23.cia.service.impl.rules.ComplianceCheckImpl

rule "We have an politician that left the party still holding assignments"
when
exists( ViewRiksdagenPolitician(party == "-" && active == true ) )
then
System.out.print("troublemaker");
insert( new ComplianceCheckImpl() );
end

0 comments on commit 1d2db8a

Please sign in to comment.