[jboss-svn-commits] JBL Code SVN: r14670 - in labs/jbossrules/trunk/experimental/drools-insurance: src/main/java and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 27 18:24:36 EDT 2007


Author: fmeyer
Date: 2007-08-27 18:24:36 -0400 (Mon, 27 Aug 2007)
New Revision: 14670

Added:
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/brmsdeployedrules.properties
Modified:
   labs/jbossrules/trunk/experimental/drools-insurance/pom.xml
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/AccessoriesCoverage.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Approve.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Driver.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Policy.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Rejection.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/SupplementalInfo.java
   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/InsuranceServlet.java
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/approval.drl
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/calculateInsurance.drl
   labs/jbossrules/trunk/experimental/drools-insurance/src/main/webapp/index.jsp
   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/InsuranceTestHelper.java
Log:
Updating drools insurance web example 



Modified: labs/jbossrules/trunk/experimental/drools-insurance/pom.xml
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/pom.xml	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/pom.xml	2007-08-27 22:24:36 UTC (rev 14670)
@@ -7,27 +7,11 @@
     <groupId>org.acme.insurance</groupId>
     <artifactId>insurance</artifactId>
     <packaging>war</packaging>
-    <name>Tabudrool</name>
-    <version>0.1.0-SNAPSHOT</version>
+    <name>DroolsInsurance</name>
+    <version>4.0.1.SNAPSHOT</version>
     <description>
     </description>
 
-    <issueManagement/>
-    <ciManagement/>
-    <inceptionYear>2006</inceptionYear>
-    <mailingLists/>
-
-    <contributors/>
-
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm/>
-
     <build>
 	
 	    <resources>
@@ -243,17 +227,6 @@
         </plugins>
     </reporting>
 
-    <profiles>
-        <profile>
-            <id>fast</id>
-            <properties>
-                <maven.test.skip>true</maven.test.skip>
-            </properties>
-        </profile>
-    </profiles>
-
-    <modules/>
-
     <repositories>
         <repository>
             <id>jbossRepository</id>

Added: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/brmsdeployedrules.properties
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/brmsdeployedrules.properties	                        (rev 0)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/brmsdeployedrules.properties	2007-08-27 22:24:36 UTC (rev 14670)
@@ -0,0 +1,5 @@
+newInstance=true
+url=http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance/insurancedeploy
+localCacheDir=/Users/fmeyer/soujavaproject/droolsinsurance/cache
+poll=30
+name=insuranceconfig

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/AccessoriesCoverage.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/AccessoriesCoverage.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/AccessoriesCoverage.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -3,18 +3,18 @@
 public class AccessoriesCoverage {
 
     private int driverId;
-    
+
     private Double soundSystemValue;
     private Double armorValue;
     private Double alarmSystemValue;
-    
+
     public Double getArmorValue() {
         return armorValue;
     }
     public void setArmorValue(Double armorValue) {
         this.armorValue = armorValue;
     }
-    
+
     public Double getSoundSystemValue() {
         return soundSystemValue;
     }
@@ -33,7 +33,4 @@
     public void setDriverId(int driverId) {
         this.driverId = driverId;
     }
-    
-    
-    
 }

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Approve.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Approve.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Approve.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -6,7 +6,7 @@
  *
  */
 public class Approve {
-	
+
 	private String reason;
 
 	public Approve(String reason) {

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Driver.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Driver.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Driver.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -7,13 +7,13 @@
  * This represents obviously a driver who is applying for an insurance Policy.
  */
 public class Driver {
-    
+
     public static final int MALE = 0;
     public static final int FEMALE = 1;
-    
+
     public static final int SINGLE = 0;
     public static final int MARRIED = 1;
-    
+
     private int     id;
 
     private String  name;
@@ -24,17 +24,21 @@
     private Integer maritalState;
     private boolean hasChildren;
     private Integer genre;
-    
+
     private Double  insuranceFactor = 1.0;
-    
+
     public Double getInsuranceFactor(){
         return insuranceFactor;
     }
-    
+
+    public void setInsuranceFactor(Double factor) {
+    	updateInsuranceFactor(factor);
+    }
+
     public void updateInsuranceFactor(Double factor) {
         this.insuranceFactor *= factor;
     }
-    
+
     public int getGenre() {
         return genre;
     }

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Policy.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Policy.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Policy.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -1,21 +1,21 @@
 package org.acme.insurance.base;
 
 /**
- * This represents a policy that a driver is applying for. 
- * 
+ * This represents a policy that a driver is applying for.
+ *
  * Obviously in the real world, there are actuaries to mess things up, but lets just pretend there is
  * some simple base price and discount that we can calculate with relatively simple rules !
- * 
+ *
  */
 public class Policy {
-    
+
     private int driverId;
-    
+
 	private boolean approved = false;
 	private int discountPercent = 0;
 	private double basePrice;
     private double insurancePrice;
-    
+
 	public double getInsurancePrice() {
         return insurancePrice;
     }

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Rejection.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Rejection.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/Rejection.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -15,5 +15,5 @@
 	public void setReason(String reason) {
 		this.reason = reason;
 	}
-	
+
 }

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/SupplementalInfo.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/SupplementalInfo.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/base/SupplementalInfo.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -1,7 +1,7 @@
 package org.acme.insurance.base;
 
 public class SupplementalInfo {
-    
+
     private int     driverId;
 
     private boolean extraCar;

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-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/DroolsBusiness.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -1,6 +1,5 @@
 package org.acme.insurance.web;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
@@ -17,7 +16,7 @@
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
-import org.drools.compiler.DroolsParserException;
+import org.drools.agent.RuleAgent;
 import org.drools.compiler.PackageBuilder;
 
 public class DroolsBusiness {
@@ -34,27 +33,35 @@
 	private StatefulSession session;
 
 	public boolean isApproved() {
-		return policy.isApproved(); 
+		return policy.isApproved();
 	}
-	
+
 	public Double getBasePrice() {
 		return policy.getBasePrice();
 	}
-	
+
 	public Double getRiskFactor() {
 		return driverMale.getInsuranceFactor();
 	}
-	
+
 	public Double getInsurancePrice() {
 		return policy.getInsurancePrice();
 	}
-	
-	private RuleBase loadRuleBase() throws Exception {
 
+	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/raw.drl"));
+		builder.addPackageFromDrl(getTechnicalRules("/approval/insurancefactor.drl"));
 		builder.addPackageFromDrl(getTechnicalRules("/approval/approval.drl"));
 		builder.addPackageFromDrl(getTechnicalRules("/approval/calculateInsurance.drl"));
+		builder.addPackageFromDrl(getTechnicalRules("/approval/marginalage.drl"));
 		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 		ruleBase.addPackage(builder.getPackage());
 		return ruleBase;
@@ -62,27 +69,23 @@
 
 	private Reader getTechnicalRules(String name) {
 
-		InputStream stream = this.getClass().getResourceAsStream(
-				name);
-		
+		InputStream stream = this.getClass().getResourceAsStream(name);
+
 		return new InputStreamReader(stream);
+	}
 
-	}
-	
-	
 	protected void setUp() throws Exception {
 
-		rulebase = loadRuleBase();
+		rulebase = loadRuleBaseFromRuleAgent();
 		session = rulebase.newStatefulSession();
-		
+
 		session.setFocus("risk assessment");
-		
+
 		SimpleDateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy");
 		defaultBirthday = df.parse("18/09/1983");
 
 	}
 
-
 	public void execute(HttpServletRequest request) throws Exception {
 
 		setUp();
@@ -96,9 +99,9 @@
 						+ "/"
 						+ Integer.parseInt(request
 								.getParameter("data_nascimento_ano")));
-		
+
 		policy.setBasePrice(500.00);
-		
+
 		driverMale.setBirhDate(defaultBirthday);
 
 		driverMale.setId(400);
@@ -148,18 +151,16 @@
 		session.insert(driverAdit);
 		session.insert(suppinfo);
 		session.insert(accessCov);
-		
+
 		session.setFocus("risk assessment");
 
 		session.fireAllRules();
-		
-		System.out.println("Insurance Factor: " + driverMale.getInsuranceFactor());
+
+		System.out.println("Insurance Factor: "
+				+ driverMale.getInsuranceFactor());
 		System.out.println("Is Approved     : " + policy.isApproved());
 		System.out.println("Insurance Price :" + policy.getInsurancePrice());
-		
-		
-		
-		
+
 	}
 
 }

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceServlet.java
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceServlet.java	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/java/org/acme/insurance/web/InsuranceServlet.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -8,7 +8,7 @@
 
 /**
  * Servlet implementation class for Servlet: InsuranceServlet
- * 
+ *
  */
 public class InsuranceServlet extends javax.servlet.http.HttpServlet implements
 		javax.servlet.Servlet {
@@ -16,7 +16,7 @@
 
 	/*
 	 * (non-Java-doc)
-	 * 
+	 *
 	 * @see javax.servlet.http.HttpServlet#HttpServlet()
 	 */
 	public InsuranceServlet() {
@@ -36,7 +36,25 @@
 			redirectURL += "&fatorrisco=" + business.getRiskFactor();
 			redirectURL += "&base=" + business.getBasePrice();
 			redirectURL += "&valor=" + business.getInsurancePrice();
-			
+			redirectURL += "&estadoCivil=" + request.getParameter("estadoCivil");
+			redirectURL += "&temFilhos=" + request.getParameter("temFilhos");
+			redirectURL += "&sinistros=" + request.getParameter("sinistros");
+			redirectURL += "&habilitacao=" + request.getParameter("habilitacao");
+			redirectURL += "&garagemDia=" + request.getParameter("garagemDia");
+			redirectURL += "&garagemNoite=" + request.getParameter("garagemNoite");
+			redirectURL += "&profissao=" + request.getParameter("profissao");
+			redirectURL += "&condicaoImovel=" + request.getParameter("condicaoImovel");
+			redirectURL += "&assistencia24h=" + request.getParameter("assistencia24h");
+			redirectURL += "&carroReserva=" + request.getParameter("carroReserva");
+			redirectURL += "&vidros=" + request.getParameter("vidros");
+			redirectURL += "&despExtra=" + request.getParameter("despExtra");
+			redirectURL += "&sistemaSom=" + request.getParameter("sistemaSom");
+			redirectURL += "&blindagem=" + request.getParameter("blindagem");
+			redirectURL += "&sistemaSom=" + request.getParameter("sistemaSom");
+			redirectURL += "&data_nascimento_dia=" + request.getParameter("data_nascimento_dia");
+			redirectURL += "&data_nascimento_mes=" + request.getParameter("data_nascimento_mes");
+			redirectURL += "&data_nascimento_ano=" + request.getParameter("data_nascimento_ano");
+
 			response.sendRedirect(redirectURL);
 		} catch (Exception e) {
 			e.printStackTrace();

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/approval.drl
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/approval.drl	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/approval.drl	2007-08-27 22:24:36 UTC (rev 14670)
@@ -11,6 +11,7 @@
 		$policy.setApproved(true);
 		update($policy);
 		drools.setFocus("insurancecalcule");
+		System.out.println("Policy aproved focusing insurance calcule agenda-group");
 end
 
 rule "rejection"
@@ -20,6 +21,5 @@
 		Rejection()
 	then
 		drools.halt();
-		System.out.println("rejection: ");
+		System.out.println("There's some rejection: halting drools ");
 end
-

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/calculateInsurance.drl
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/calculateInsurance.drl	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/rules/approval/calculateInsurance.drl	2007-08-27 22:24:36 UTC (rev 14670)
@@ -24,9 +24,9 @@
 	salience 10
 	when
 		not Rejection()	
-		driver : Driver()
-		policy : Policy( approved == true )
+		driver : Driver(ifactor : insuranceFactor)
+		policy : Policy( approved == true, bp : basePrice, ip : insurancePrice )
 	then
-		policy.setInsurancePrice(policy.getBasePrice() * driver.getInsuranceFactor() + policy.getInsurancePrice());		
-		System.out.println("Insurance Calcule: " + policy.getInsurancePrice() );		
+		policy.setInsurancePrice((bp * ifactor) + ip);		
+		System.out.println("Insurance Calcule: " + ip );		
 end

Modified: labs/jbossrules/trunk/experimental/drools-insurance/src/main/webapp/index.jsp
===================================================================
--- labs/jbossrules/trunk/experimental/drools-insurance/src/main/webapp/index.jsp	2007-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/main/webapp/index.jsp	2007-08-27 22:24:36 UTC (rev 14670)
@@ -30,7 +30,7 @@
 			<tbody>
 				<tr class="seucorretor6">
 					<td class="seucorretor2" align="center">
-					<div align="left"><b>Dados do condutor principal</b></div>
+					<div align="left"><b>Driver's information</b></div>
 					</td>
 				</tr>
 
@@ -44,13 +44,13 @@
 								<td width="162" class="c1">Sexo:</td>
 
 								<td width="363"><select name="sexo">
-									<option value=0 selected="selected"> Masculino</option>
-									<option value=1>Feminino</option>
+									<option value=0 selected="selected">Male</option>
+									<option value=1>Female</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Data Nascimento:</td>
+								<td class="c1">Birth Date:</td>
 
 								<td><input size="2" name="data_nascimento_dia"
 									maxlength="2" value="01" type="text" width="2"> / <input
@@ -62,40 +62,40 @@
 							</tr>
 
 							<tr>
-								<td class="c1">Tempo de Habilitacao:</td>
+								<td class="c1">License Age:</td>
 
 								<td><input name="habilitacao" size="2" maxlength="2"
-									value="0" type="text"> <span class="c2">Anos</span></td>
+									value="0" type="text"> <span class="c2">Years</span></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Estado Civil:</td>
+								<td class="c1">Marital State:</td>
 
 								<td><select name="estadoCivil">
-									<option value="0" selected="selected" >Solteiro/Divorciado</option>
-									<option value="1">Casado/Uniao Estavel Viuvo</option>
+									<option value="0" selected="selected" >Single/Divorced</option>
+									<option value="1">Maried</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Tem filhos?</td>
+								<td class="c1">Has Child?</td>
 
 								<td><select name="temFilhos">
-									<option value="1">Sim, até 17 anos.</option>
-									<option value="2">Sim, entre 17 e 25 anos.</option>
-									<option value="3">Sim, até 30 anos.</option>
-									<option value="0" selected="selected" >Não ou Nenhuma das anteriores</option>
+									<option value="1">Yes, less than 17 years.</option>
+									<option value="2">Yes, Between 17 and 25 years.</option>
+									<option value="3">Yes, greater than 26 years old.</option>
+									<option value="0" selected="selected" >No, I don't have Child</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Escolaridade:</td>
+								<td class="c1">Degree:</td>
 
 								<td><select name="escolaridade">
-									<option value="1" selected="selected" >1 Grau</option>
-									<option value="2">2 Grau</option>
-									<option value="3">3 Grau (Univ.)</option>
-									<option value="4">Pós Graduação</option>
+									<option value="1" selected="selected" >Elementary School</option>
+									<option value="2">High School</option>
+									<option value="3">College</option>
+									<option value="4">Pos</option>
 								</select></td>
 							</tr>
 						</tbody>
@@ -113,8 +113,7 @@
 			<tbody>
 				<tr class="seucorretor6">
 					<td class="seucorretor2" align="center">
-					<div align="left"><b>Informacoes adicionais do condutor
-					principal</b></div>
+					<div align="left"><b>Driver's additional info </b></div>
 					</td>
 				</tr>
 
@@ -126,61 +125,61 @@
 						cellpadding="4" cellspacing="2">
 						<tbody>
 							<tr>
-								<td width="296" class="c1">Guarda do veiculo de dia:</td>
+								<td width="296" class="c1">Day veicle place:</td>
 
 								<td width="266"><select name="garagemDia">
-									<option value="1">Garagem fechada</option>
-									<option value="2">Estacionamento</option>
-									<option value="0" selected="selected" >Não informado ou na rua</option>
+									<option value="1">Closed Garage</option>
+									<option value="2">Parking</option>
+									<option value="0" selected="selected" >Street</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Guarda do veículo de noite:</td>
+								<td class="c1">Night veichle place:</td>
 
 								<td><select name="garagemNoite">
-									<option value="1">Garagem fechada</option>
-									<option value="2">Estacionamento</option>
-									<option value="0" selected="selected" >Não informado ou na rua</option>
+                                    <option value="1">Closed Garage</option>
+                                    <option value="2">Parking</option>
+                                    <option value="0" selected="selected" >Street</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Residência atual:</td>
+								<td class="c1">Residence Status:</td>
 
 								<td><select name="condicaoImovel">
-									<option value="1">Própria/Familia</option>
-									<option value="0" selected="selected">Alugada</option>
+									<option value="1">Owned</option>
+									<option value="0" selected="selected">Rented</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Emprego atual:</td>
+								<td class="c1">Actual Job:</td>
 
 								<td><select name="profissao">
 									<option value="0" selected="selected" >Desempregado</option>
-									<option value="1">Proprietário de Empresa ou Negócio</option>
-									<option value="2">Funcionario Publico</option>
-									<option value="3">Funcionario Privado</option>
-									<option value="4">Estudante</option>
+									<option value="1">Business owner</option>
+									<option value="2">Public employee</option>
+									<option value="3">Private employee</option>
+									<option value="4">Student</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Reside em:</td>
+								<td class="c1">Lives</td>
 
 								<td><select name="tipoResidencia">
-									<option value="0" selected="selected" >Casa</option>
-									<option value="1">Casa em condomínio fechado</option>
-									<option value="2">Apartamento</option>
+									<option value="0" selected="selected" >House</option>
+									<option value="1">Private village </option>
+									<option value="2">Appartment</option>
 								</select></td>
 							</tr>
 
 							<tr>
-								<td class="c1">Quantos sinistros indenizados ?</td>
+								<td class="c1">previous claim numbers</td>
 
 								<td><select name="sinistros">
-									<option value="0" selected="selected">Nenhum</option>
+									<option value="0" selected="selected">none</option>
 									<option value="1">1</option>
 									<option value="2">2</option>
 									<option value="3">3</option>
@@ -189,7 +188,7 @@
 									<option value="6">6</option>
 									<option value="7">7</option>
 									<option value="8">8</option>
-									<option value="9">mais de 8</option>
+									<option value="9">more than 8</option>
 								</select></td>
 							</tr>
 						</tbody>
@@ -210,8 +209,7 @@
 			<tbody>
 				<tr class="seucorretor6">
 					<td align="center" bordercolor="#000000" class="seucorretor2">
-					<div align="left"><span class="seucorretor2 seucorretor2"><b>Clausulas
-					complementares</b></span></div>
+					<div align="left"><span class="seucorretor2 seucorretor2"><b>Supplemental thing</b></span></div>
 					</td>
 				</tr>
 
@@ -223,37 +221,37 @@
 						width="95%">
 						<tbody>
 							<tr>
-								<td class="c1" width="50%">Quer Carro Reserva?</td>
+								<td class="c1" width="50%">Whants extra car?</td>
 
 								<td width="50%"><select name="carroReserva">
-									<option value="1">Sim</option>
-									<option value="0" selected="selected" >Não</option>
+									<option value="1">Yes</option>
+									<option value="0" selected="selected" >No</option>
 								</select> &nbsp;</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Quer Assistência 24 horas?</td>
+								<td class="c1" width="50%">Wants 24/7 support?</td>
 								<td width="50%"><select name="assistencia24h">
-									<option value="1">Sim</option>
-									<option value="0" selected="selected" >Não</option>									
+                                    <option value="1">Yes</option>
+                                    <option value="0" selected="selected" >No</option>
 								</select> &nbsp;</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Quer Cobertura de vidros?</td>
+								<td class="c1" width="50%">Glass coverage?</td>
 
 								<td width="50%"><select name="vidros">
-									<option value="1">Sim</option>
-									<option value="0" selected="selected" >Não</option>									
+                                    <option value="1">Yes</option>
+                                    <option value="0" selected="selected" >No</option>
 								</select> &nbsp;</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Despesas Extraordinárias:</td>
+								<td class="c1" width="50%">Unrelated expenses:</td>
 
 								<td width="50%"><select name="despExtra">
-									<option value="1">Sim</option>
-									<option value="0" selected="selected" >Não</option>
+                                    <option value="1">Yes</option>
+                                    <option value="0" selected="selected" >No</option>
 								</select> &nbsp;</td>
 							</tr>
 						</tbody>
@@ -271,8 +269,7 @@
 			<tbody>
 				<tr class="seucorretor6">
 					<td align="center" bordercolor="#000000" class="seucorretor2">
-					<div align="left"><span class="seucorretor1"><b>Cobertura
-					de Acessórios:</b></span></div>
+					<div align="left"><span class="seucorretor1"><b>Accessories Coverage:</b></span></div>
 					</td>
 				</tr>
 
@@ -284,27 +281,27 @@
 						width="95%">
 						<tbody>
 							<tr>
-								<td class="c5" width="50%">Descrição</td>
+								<td class="c5" width="50%"></td>
 
-								<td class="c5" width="50%">Valor (R$)</td>
+								<td class="c5" width="50%">Value ($)</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Alarme:</td>
+								<td class="c1" width="50%">Alarm:</td>
 
 								<td width="50%"><input size="12" name="alarme" value="0.00"
 									type="text"> &nbsp;</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Sistema de Som:</td>
+								<td class="c1" width="50%">Sound system:</td>
 
 								<td width="50%"><input size="12" name="sistemaSom"
 									value="0.00" type="text"> &nbsp;</td>
 							</tr>
 
 							<tr>
-								<td class="c1" width="50%">Blindagem:</td>
+								<td class="c1" width="50%">Armor:</td>
 
 								<td width="50%"><input size="12" name="blindagem"
 									value="0.00" type="text"> &nbsp;</td>

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-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/DriverTest.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -155,6 +155,32 @@
         }
     }
 
+    // rewrite test or add rule in drl
+    
+    public void testMarginalWithPriorDriver() throws ParseException {
+        Driver driver = new Driver();
+
+        SimpleDateFormat df = new java.text.SimpleDateFormat( "dd/MM/yyyy" );
+        Date birhDate = df.parse( "18/09/2005" );
+        
+        
+        driver.setGenre( Driver.MALE );
+        driver.setMaritalState( Driver.MARRIED );
+        driver.setHasChildren( false );
+        driver.setBirhDate( birhDate );
+        driver.setPriorClaims( 9 );
+
+        Policy policy = new Policy();
+        policy.setApproved( false );
+
+        session.insert( driver );
+        session.insert( policy );
+
+        session.fireAllRules();
+        
+        assertFalse( policy.isApproved() );
+    }    
+
     public void testProblematicDriver() throws ParseException {
         Driver driver = new Driver();
 

Modified: 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-08-27 21:18:00 UTC (rev 14669)
+++ labs/jbossrules/trunk/experimental/drools-insurance/src/test/java/org/acme/insurance/test/InsuranceTestHelper.java	2007-08-27 22:24:36 UTC (rev 14670)
@@ -7,8 +7,7 @@
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
-import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.audit.WorkingMemoryLogger;
+import org.drools.agent.RuleAgent;
 import org.drools.compiler.PackageBuilder;
 
 public class InsuranceTestHelper {
@@ -17,8 +16,9 @@
 
 	public StatefulSession getSession() {
 		try { 
-			rulebase = loadRuleBase();
-			session = rulebase.newStatefulSession();
+			//rulebase = loadRuleBaseFromRuleAgent();
+            rulebase = loadRuleBaseFromDRL();
+            session = rulebase.newStatefulSession();
 			
 			session.setFocus("risk assessment");
 			
@@ -29,11 +29,19 @@
 		}
 		return null;
 	}
+	
+	public RuleBase loadRuleBaseFromRuleAgent() {
+		RuleAgent agent = RuleAgent
+				.newRuleAgent("/brmsdeployedrules.properties");
+		RuleBase rulebase = agent.getRuleBase();
+		return rulebase;
+	}
+	
 
-	private RuleBase loadRuleBase() throws Exception {
+	private RuleBase loadRuleBaseFromDRL() throws Exception {
 
 		PackageBuilder builder = new PackageBuilder();
-		builder.addPackageFromDrl(getTechnicalRules("/approval/raw.drl"));
+		builder.addPackageFromDrl(getTechnicalRules("/approval/insurancefactor.drl"));
 		builder.addPackageFromDrl(getTechnicalRules("/approval/approval.drl"));
 		builder.addPackageFromDrl(getTechnicalRules("/approval/calculateInsurance.drl"));
 		RuleBase ruleBase = RuleBaseFactory.newRuleBase();




More information about the jboss-svn-commits mailing list