[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