[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> </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> </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> </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> </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"> </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"> </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"> </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