[jboss-svn-commits] JBL Code SVN: r15208 - in labs/jbossrules/trunk/experimental/drools-insurance/src: test/java/org/acme/insurance/test and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 18 14:43:40 EDT 2007
Author: fmeyer
Date: 2007-09-18 14:43:39 -0400 (Tue, 18 Sep 2007)
New Revision: 15208
Added:
labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceSessionHelper.java
Removed:
labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceTestHelper.java
Modified:
labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/DroolsBusiness.java
labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverAdditionalInfoTest.java
labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverTest.java
labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceCalculateTest.java
labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/SupplementalInfoTest.java
Log:
Updating insurance example
Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/DroolsBusiness.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/DroolsBusiness.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/DroolsBusiness.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -1,8 +1,5 @@
package org.acme.insurance.web;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -13,143 +10,101 @@
import org.acme.insurance.base.DriverAdditionalInfo;
import org.acme.insurance.base.Policy;
import org.acme.insurance.base.SupplementalInfo;
-import org.drools.RuleBase;
import org.drools.StatefulSession;
-import org.drools.agent.RuleAgent;
public class DroolsBusiness {
- private DriverAdditionalInfo driverAdit = new DriverAdditionalInfo();
- private SupplementalInfo suppinfo = new SupplementalInfo();
- private AccessoriesCoverage accessCov = new AccessoriesCoverage();
- private Driver driverMale = new Driver();
- private SimpleDateFormat df = new java.text.SimpleDateFormat("MM/dd/yyyy");
- private Date defaultBirthday;
- private Policy policy = new Policy();
+ private DriverAdditionalInfo driverAdit = new DriverAdditionalInfo();
+ private SupplementalInfo suppinfo = new SupplementalInfo();
+ private AccessoriesCoverage accessCov = new AccessoriesCoverage();
+ private Driver driverMale = new Driver();
+ private SimpleDateFormat df = new java.text.SimpleDateFormat("MM/dd/yyyy");
+ private Date defaultBirthday;
+ private Policy policy = new Policy();
- private RuleBase rulebase;
- private StatefulSession session;
+ private StatefulSession session;
- public boolean isApproved() {
- return policy.isApproved();
- }
+ public boolean isApproved() {
+ return policy.isApproved();
+ }
- public double getBasePrice() {
- return policy.getBasePrice();
- }
+ public double getBasePrice() {
+ return policy.getBasePrice();
+ }
- public double getRiskFactor() {
- return driverMale.getInsuranceFactor();
- }
+ public double getRiskFactor() {
+ return driverMale.getInsuranceFactor();
+ }
- public double getInsurancePrice() {
- return policy.getInsurancePrice();
- }
+ public double getInsurancePrice() {
+ return policy.getInsurancePrice();
+ }
- public RuleBase loadRuleBaseFromRuleAgent() {
- RuleAgent agent = RuleAgent
- .newRuleAgent("/brmsdeployedrules.properties");
- RuleBase rulebase = agent.getRuleBase();
- return rulebase;
- }
+ public void execute(HttpServletRequest request) throws Exception {
-// private RuleBase loadRuleBaseFromDRL() throws Exception {
-//
-// PackageBuilder builder = new PackageBuilder();
-// builder.addPackageFromDrl(getTechnicalRules("/approval/insurancefactor.drl"));
-// builder.addPackageFromDrl(getTechnicalRules("/approval/approval.drl"));
-// builder.addPackageFromDrl(getTechnicalRules("/approval/calculateInsurance.drl"));
-// builder.addPackageFromDrl(getTechnicalRules("/approval/marginalage.drl"));
-// builder.addRuleFlow(getTechnicalRules("/approval/insurance-process.rfm"));
-//
-// RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-// ruleBase.addPackage(builder.getPackage());
-// return ruleBase;
-// }
+ session = InsuranceSessionHelper.getSession();
- private Reader getTechnicalRules(String name) {
+ defaultBirthday = df.parse(request.getParameter("birthdate"));
- InputStream stream = this.getClass().getResourceAsStream(name);
+ policy.setBasePrice(500.00);
- return new InputStreamReader(stream);
- }
+ driverMale.setBirhDate(defaultBirthday);
- protected void setUp() throws Exception {
+ driverMale.setId(400);
+ driverMale.setGenre(Integer.parseInt(request.getParameter("sexo")));
+ driverMale.setMaritalState(Integer.parseInt(request
+ .getParameter("estadoCivil")));
+ driverMale.setHasChildren(Boolean.parseBoolean(request
+ .getParameter("temFilhos")));
+ driverMale.setPriorClaims(Integer.parseInt(request
+ .getParameter("sinistros")));
+ driverMale.setLicenceYears(Integer.parseInt(request
+ .getParameter("habilitacao")));
- rulebase = loadRuleBaseFromRuleAgent();
- //rulebase = loadRuleBaseFromDRL();
+ driverAdit.setDriverId(driverMale.getId());
+ driverAdit.setDayVehiclePlace(Integer.parseInt(request
+ .getParameter("garagemDia")));
+ driverAdit.setNightVehiclePlace(Integer.parseInt(request
+ .getParameter("garagemNoite")));
+ driverAdit.setJobStatus(Integer.parseInt(request
+ .getParameter("profissao")));
+ driverAdit.setResidenceStatus(Integer.parseInt(request
+ .getParameter("condicaoImovel")));
- session = rulebase.newStatefulSession();
+ suppinfo.setDriverId(driverMale.getId());
+ suppinfo.setExtraAssistence(Boolean.parseBoolean(request
+ .getParameter("assistencia24h")));
+ suppinfo.setExtraCar(Boolean.parseBoolean(request
+ .getParameter("carroReserva")));
+ suppinfo.setGlassCoverage(Boolean.parseBoolean(request
+ .getParameter("vidros")));
+ suppinfo.setNonRelatedExpenses(Boolean.parseBoolean(request
+ .getParameter("despExtra")));
- session.startProcess("insuranceProcess");
+ accessCov.setDriverId(driverMale.getId());
- }
+ accessCov.setAlarmSystemValue(Double.parseDouble(request
+ .getParameter("sistemaSom")));
+ accessCov.setArmorValue(Double.parseDouble(request
+ .getParameter("blindagem")));
+ accessCov.setSoundSystemValue(Double.parseDouble(request
+ .getParameter("sistemaSom")));
- public void execute(HttpServletRequest request) throws Exception {
+ policy.setApproved(false);
- setUp();
+ session.insert(policy);
+ session.insert(driverMale);
+ session.insert(driverAdit);
+ session.insert(suppinfo);
+ session.insert(accessCov);
- defaultBirthday = df.parse(request.getParameter("birthdate"));
+ session.fireAllRules();
- policy.setBasePrice(500.00);
+ System.out.println("Insurance Factor: "
+ + driverMale.getInsuranceFactor());
+ System.out.println("Is Approved : " + policy.isApproved());
+ System.out.println("Insurance Price :" + policy.getInsurancePrice());
- driverMale.setBirhDate(defaultBirthday);
-
- driverMale.setId(400);
- driverMale.setGenre(Integer.parseInt(request.getParameter("sexo")));
- driverMale.setMaritalState(Integer.parseInt(request
- .getParameter("estadoCivil")));
- driverMale.setHasChildren(Boolean.parseBoolean(request
- .getParameter("temFilhos")));
- driverMale.setPriorClaims(Integer.parseInt(request
- .getParameter("sinistros")));
- driverMale.setLicenceYears(Integer.parseInt(request
- .getParameter("habilitacao")));
-
- driverAdit.setDriverId(driverMale.getId());
- driverAdit.setDayVehiclePlace(Integer.parseInt(request
- .getParameter("garagemDia")));
- driverAdit.setNightVehiclePlace(Integer.parseInt(request
- .getParameter("garagemNoite")));
- driverAdit.setJobStatus(Integer.parseInt(request
- .getParameter("profissao")));
- driverAdit.setResidenceStatus(Integer.parseInt(request
- .getParameter("condicaoImovel")));
-
- suppinfo.setDriverId(driverMale.getId());
- suppinfo.setExtraAssistence(Boolean.parseBoolean(request
- .getParameter("assistencia24h")));
- suppinfo.setExtraCar(Boolean.parseBoolean(request
- .getParameter("carroReserva")));
- suppinfo.setGlassCoverage(Boolean.parseBoolean(request
- .getParameter("vidros")));
- suppinfo.setNonRelatedExpenses(Boolean.parseBoolean(request
- .getParameter("despExtra")));
-
- accessCov.setDriverId(driverMale.getId());
-
- accessCov.setAlarmSystemValue(Double.parseDouble(request
- .getParameter("sistemaSom")));
- accessCov.setArmorValue(Double.parseDouble(request
- .getParameter("blindagem")));
- accessCov.setSoundSystemValue(Double.parseDouble(request
- .getParameter("sistemaSom")));
-
- policy.setApproved(false);
-
- session.insert(policy);
- session.insert(driverMale);
- session.insert(driverAdit);
- session.insert(suppinfo);
- session.insert(accessCov);
-
- session.fireAllRules();
-
- System.out.println("Insurance Factor: "
- + driverMale.getInsuranceFactor());
- System.out.println("Is Approved : " + policy.isApproved());
- System.out.println("Insurance Price :" + policy.getInsurancePrice());
-
- }
+ }
}
Added: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceSessionHelper.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceSessionHelper.java (rev 0)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceSessionHelper.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -0,0 +1,63 @@
+package org.acme.insurance.web;
+
+import org.drools.RuleBase;
+import org.drools.StatefulSession;
+import org.drools.agent.RuleAgent;
+
+public class InsuranceSessionHelper {
+ private static RuleBase rulebase;
+ private static StatefulSession session;
+
+ private InsuranceSessionHelper(){
+
+ }
+
+ public static StatefulSession getSession() {
+
+ if (rulebase == null ) {
+ try {
+ rulebase = loadRuleBaseFromRuleAgent();
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ }
+ }
+ session = rulebase.newStatefulSession();
+ session.startProcess( "insuranceProcess" );
+ return session;
+ }
+
+ private static RuleBase loadRuleBaseFromRuleAgent() {
+ RuleAgent agent = RuleAgent.newRuleAgent( "/brmsdeployedrules.properties" );
+ RuleBase rulebase = agent.getRuleBase();
+ return rulebase;
+ }
+
+
+// Use the following methods to load the rulebase from the drl files
+
+// private RuleBase loadRuleBaseFromDRL() throws Exception {
+//
+// PackageBuilder builder = new PackageBuilder();
+// builder.addPackageFromDrl( getTechnicalRules( "/approval/insurancefactor.drl" ) );
+// builder.addPackageFromDrl( getTechnicalRules( "/approval/approval.drl" ) );
+// builder.addPackageFromDrl( getTechnicalRules( "/approval/calculateInsurance.drl" ) );
+// builder.addPackageFromDrl( getTechnicalRules( "/approval/marginalage.dslr" ),
+// getTechnicalRules( "/approval/acme.dsl" ) );
+// builder.addRuleFlow( getTechnicalRules( "/approval/insurance-process.rfm" ) );
+//
+//
+//
+// RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+// ruleBase.addPackage( builder.getPackage() );
+// return ruleBase;
+// }
+
+// private Reader getTechnicalRules(String name) {
+//
+// InputStream stream = this.getClass().getResourceAsStream( name );
+//
+// return new InputStreamReader( stream );
+//
+// }
+
+}
Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverAdditionalInfoTest.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverAdditionalInfoTest.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverAdditionalInfoTest.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -9,6 +9,7 @@
import org.acme.insurance.base.Driver;
import org.acme.insurance.base.DriverAdditionalInfo;
import org.acme.insurance.base.Policy;
+import org.acme.insurance.web.InsuranceSessionHelper;
import org.drools.StatefulSession;
public class DriverAdditionalInfoTest extends TestCase {
@@ -18,9 +19,7 @@
@Override
protected void setUp() throws Exception {
super.setUp();
-
- session = (new InsuranceTestHelper()).getSession();
-
+ session = InsuranceSessionHelper.getSession();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1983" );
}
@@ -28,7 +27,7 @@
@Override
protected void tearDown() throws Exception {
super.tearDown();
- session.dispose();
+// session.dispose();
}
public void testDriveVehiclePlace() throws
Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverTest.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverTest.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverTest.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -9,6 +9,7 @@
import org.acme.insurance.base.Driver;
import org.acme.insurance.base.Policy;
+import org.acme.insurance.web.InsuranceSessionHelper;
import org.drools.StatefulSession;
public class DriverTest extends TestCase {
@@ -19,7 +20,7 @@
protected void setUp() throws Exception {
super.setUp();
- session = (new InsuranceTestHelper()).getSession();
+ session = InsuranceSessionHelper.getSession();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1983" );
@@ -28,7 +29,7 @@
@Override
protected void tearDown() throws Exception {
super.tearDown();
- session.dispose();
+ //session.dispose();
}
public void testDriverGenreFactor() throws
Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceCalculateTest.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceCalculateTest.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceCalculateTest.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -11,6 +11,7 @@
import org.acme.insurance.base.DriverAdditionalInfo;
import org.acme.insurance.base.Policy;
import org.acme.insurance.base.SupplementalInfo;
+import org.acme.insurance.web.InsuranceSessionHelper;
import org.drools.StatefulSession;
public class InsuranceCalculateTest extends TestCase {
@@ -21,7 +22,7 @@
protected void setUp() throws Exception {
super.setUp();
- session = (new InsuranceTestHelper()).getSession();
+ session = InsuranceSessionHelper.getSession();
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1983" );
Deleted: labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceTestHelper.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceTestHelper.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceTestHelper.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -1,65 +0,0 @@
-package org.acme.insurance.test;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.StatefulSession;
-import org.drools.agent.RuleAgent;
-
-public class InsuranceTestHelper {
- private RuleBase rulebase;
- private StatefulSession session;
-
- public StatefulSession getSession() {
- try {
- rulebase = loadRuleBaseFromRuleAgent();
- //rulebase = loadRuleBaseFromDRL();
-
- session = rulebase.newStatefulSession();
- session.startProcess( "insuranceProcess" );
- return session;
-
- } catch ( Exception e ) {
- e.printStackTrace();
- }
- return null;
- }
-
- public RuleBase loadRuleBaseFromRuleAgent() {
-
-
-
- RuleAgent agent = RuleAgent.newRuleAgent( "/brmsdeployedrules.properties" );
- RuleBase rulebase = agent.getRuleBase();
- return rulebase;
- }
-
-
-// private RuleBase loadRuleBaseFromDRL() throws Exception {
-//
-// PackageBuilder builder = new PackageBuilder();
-// builder.addPackageFromDrl( getTechnicalRules( "/approval/insurancefactor.drl" ) );
-// builder.addPackageFromDrl( getTechnicalRules( "/approval/approval.drl" ) );
-// builder.addPackageFromDrl( getTechnicalRules( "/approval/calculateInsurance.drl" ) );
-// builder.addPackageFromDrl( getTechnicalRules( "/approval/marginalage.dslr" ),
-// getTechnicalRules( "/approval/acme.dsl" ) );
-// builder.addRuleFlow( getTechnicalRules( "/approval/insurance-process.rfm" ) );
-//
-//
-//
-// RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-// ruleBase.addPackage( builder.getPackage() );
-// return ruleBase;
-// }
-
- private Reader getTechnicalRules(String name) {
-
- InputStream stream = this.getClass().getResourceAsStream( name );
-
- return new InputStreamReader( stream );
-
- }
-
-}
Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/SupplementalInfoTest.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/SupplementalInfoTest.java 2007-09-18 15:51:52 UTC (rev 15207)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/SupplementalInfoTest.java 2007-09-18 18:43:39 UTC (rev 15208)
@@ -9,6 +9,7 @@
import org.acme.insurance.base.Driver;
import org.acme.insurance.base.Policy;
import org.acme.insurance.base.SupplementalInfo;
+import org.acme.insurance.web.InsuranceSessionHelper;
import org.drools.StatefulSession;
public class SupplementalInfoTest extends TestCase {
@@ -19,8 +20,8 @@
protected void setUp() throws Exception {
super.setUp();
- session = (new InsuranceTestHelper()).getSession();
-
+ session = InsuranceSessionHelper.getSession();
+
SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
defaultBirthday = df.parse( "18/09/1983" );
}
More information about the jboss-svn-commits
mailing list