Skip to content

Commit

Permalink
#8 PoliticianYoungMember
Browse files Browse the repository at this point in the history
  • Loading branch information
pethers committed Mar 10, 2018
1 parent 7d4e3a4 commit fd39a4f
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 9 deletions.
4 changes: 2 additions & 2 deletions citizen-intelligence-agency/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-logs</artifactId>
<version>1.11.291</version>
<version>1.11.292</version>
<exclusions>
<exclusion>
<artifactId>jackson-databind</artifactId>
Expand All @@ -256,7 +256,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-ec2</artifactId>
<version>1.11.291</version>
<version>1.11.292</version>
<exclusions>
<exclusion>
<artifactId>jackson-databind</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package com.hack23.cia.service.impl.rules;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.List;

Expand Down Expand Up @@ -262,4 +263,18 @@ public void setAnnualSummary(ViewRiksdagenVoteDataBallotPoliticianSummaryAnnual
this.annualSummary = annualSummary;
}

public int getYear() {
return Calendar.getInstance().get(Calendar.YEAR);
}

public int getAge() {
return Calendar.getInstance().get(Calendar.YEAR) - politician.getBornYear();
}

public long getAdultYearsOutSideParliament() {
long l = (getAge() ) - (politician.getTotalDaysServedParliament() / 365);
System.out.println(getAge() + ":" + l);
return l;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,26 @@ import com.hack23.cia.service.api.action.kpi.Status
import com.hack23.cia.service.impl.rules.PoliticianComplianceCheckImpl
import java.util.Calendar

function int currentYear(){
return Calendar.getInstance().get(Calendar.YEAR);
}

rule "We have an politician older than 65, retirement age in Sweden"
dialect "java"
when
$p : PoliticianComplianceCheckImpl( politician.active == true && (currentYear() - politician.bornYear) > 65 )
$p : PoliticianComplianceCheckImpl( politician.active == true && age > 65 )
then
$p.addViolation( Status.MINOR, "PoliticianTimeToRetire","Attribute", kcontext.getRule().getName());
end

rule "We have an politician older than 70, passed retirement age in Sweden"
dialect "java"
when
$p : PoliticianComplianceCheckImpl( politician.active == true && (currentYear() - politician.bornYear) > 70 )
$p : PoliticianComplianceCheckImpl( politician.active == true && age > 70 )
then
$p.addViolation( Status.MAJOR, "PoliticianTimeToRetire","Attribute", kcontext.getRule().getName());
end

rule "We have an politician older than 80, way passed retirement age in Sweden"
dialect "java"
when
$p : PoliticianComplianceCheckImpl( politician.active == true && (currentYear() - politician.bornYear) > 80 )
$p : PoliticianComplianceCheckImpl( politician.active == true && age > 80 )
then
$p.addViolation( Status.CRITICAL, "PoliticianTimeToRetire","Attribute", kcontext.getRule().getName());
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.hack23.cia.service.impl.rules
import org.kie.api.runtime.KieRuntime
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.PoliticianComplianceCheckImpl
import java.util.Calendar

rule "We have an politician 24-30, no adult experience outside of parliament"
dialect "java"
salience 50
when
$p : PoliticianComplianceCheckImpl( politician.active == true && age >= 24 && age <= 30 )
then
$p.addViolation( Status.MINOR, "PoliticianYoungMember","Attribute", kcontext.getRule().getName());
end

rule "We have an politician 18-24, no adult experience outside of parliament"
dialect "java"
salience 100
when
$p : PoliticianComplianceCheckImpl( politician.active == true && age >= 18 && age <= 24)
then
$p.addViolation( Status.MAJOR, "PoliticianYoungMember","Attribute", kcontext.getRule().getName());
end

0 comments on commit fd39a4f

Please sign in to comment.