Refactor SimpleWebApp in two projects

This commit is contained in:
nheron 2014-02-14 16:56:27 +01:00
commit 4d7a77d2b5
26 changed files with 180 additions and 57 deletions

View file

@ -4,7 +4,7 @@ import com.sample.DroolsTest.Message;
import droolscours.Account; import droolscours.Account;
import droolscours.AccountingPeriod; import droolscours.AccountingPeriod;
import droolscours.CashFlow; import droolscours.CashFlow;
import util.DateHelper; import DateHelper;
rule "Credit Rule" rule "Credit Rule"
when when

View file

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-runtime-base:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-common:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.2" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-io:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-compiler:5.6.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-core:5.6.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.mvel:mvel2:2.1.8.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:knowledge-api:5.6.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:knowledge-internal-api:5.6.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr-runtime:3.3" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr:3.3" level="project" />
<orderEntry type="library" name="Maven: org.antlr:stringtemplate:3.2.1" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:3.5.1" level="project" />
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.3" level="project" />
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-bpmn2:5.5.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow-builder:5.5.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow:5.5.0.Final" level="project" />
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:2.5.0" level="project" />
<orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-runtime-entity:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jettison:jettison:1.3" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:15.0" level="project" />
</component>
</module>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>droolscourse</artifactId>
<groupId>com.pymma-software.droolscourse</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>droolscourse-service</artifactId>
<dependencies>
<dependency>
<groupId>org.chtijbug.drools</groupId>
<artifactId>drools-framework-runtime-base</artifactId>
</dependency>
<dependency>
<groupId>org.chtijbug.drools</groupId>
<artifactId>drools-framework-runtime-entity</artifactId>
</dependency>
</dependencies>
</project>

View file

@ -1,6 +1,6 @@
package droolscours.loyalty; package loyalty;
import droolscours.loyalty.domains.Ticket; import loyalty.domains.Ticket;
import org.chtijbug.drools.runtime.DroolsChtijbugException; import org.chtijbug.drools.runtime.DroolsChtijbugException;
import org.chtijbug.drools.runtime.RuleBaseBuilder; import org.chtijbug.drools.runtime.RuleBaseBuilder;
import org.chtijbug.drools.runtime.RuleBasePackage; import org.chtijbug.drools.runtime.RuleBasePackage;
@ -9,29 +9,25 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import util.CoursHistoryContainer; import util.CoursHistoryContainer;
import javax.jws.WebParam; public class DroolsServiceCalculate implements IDroolsServiceCalculate {
import javax.jws.WebService;
@WebService(endpointInterface = "droolscours.loyalty.IServiceCalculate")
public class ServiceCalculate implements IServiceCalculate {
/* /*
* (non-Javadoc) * (non-Javadoc)
* *
* @see * @see
* droolscours.loyalty.IServiceCalculate#calculate(droolscours.loyalty.domains * IDroolsServiceCalculate#calculate(droolscours.loyalty.domains
* .Ticket) * .Ticket)
*/ */
/** /**
* Class Logger * Class Logger
*/ */
private static Logger logger = LoggerFactory.getLogger(ServiceCalculate.class); private static Logger logger = LoggerFactory.getLogger(DroolsServiceCalculate.class);
private RuleBasePackage ruleBasePackage = null; private RuleBasePackage ruleBasePackage = null;
@Override @Override
public Ticket calculate(@WebParam(name = "ticket") Ticket ticket) { public Ticket calculate( Ticket ticket) {
if (ruleBasePackage == null) { if (ruleBasePackage == null) {
try { try {

View file

@ -0,0 +1,11 @@
package loyalty;
import loyalty.domains.Ticket;
public interface IDroolsServiceCalculate {
public abstract Ticket calculate( Ticket ticket);
}

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class Card { public class Card {
private String number; private String number;

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public enum Currency { public enum Currency {
Euro, Dollar, Yen Euro, Dollar, Yen

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
import java.util.Date; import java.util.Date;

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public enum Gender { public enum Gender {
Mr,Mrs,Miss Mr,Mrs,Miss

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class Ligneop { public class Ligneop {
private String nomOP; private String nomOP;

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class Price { public class Price {

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class Product { public class Product {

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class Provider { public class Provider {
private String name; private String name;

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;

View file

@ -1,4 +1,4 @@
package droolscours.loyalty.domains; package loyalty.domains;
public class TicketLine { public class TicketLine {
private static int numberLines = 0; private static int numberLines = 0;

View file

@ -1,9 +1,9 @@
package util; package util;
import droolscours.loyalty.ServiceCalculate; import loyalty.DroolsServiceCalculate;
import droolscours.loyalty.domains.Product; import loyalty.domains.Product;
import droolscours.loyalty.domains.Ticket; import loyalty.domains.Ticket;
import droolscours.loyalty.domains.TicketLine; import loyalty.domains.TicketLine;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -14,7 +14,7 @@ import droolscours.loyalty.domains.TicketLine;
public class Main { public class Main {
public static void main(String args[]) throws Exception{ public static void main(String args[]) throws Exception{
ServiceCalculate serviceCalculate= new ServiceCalculate(); DroolsServiceCalculate droolsServiceCalculate = new DroolsServiceCalculate();
Ticket ticket = new Ticket(); Ticket ticket = new Ticket();
ticket.setDateTicket(DateHelper.getDate("2012-01-01")); ticket.setDateTicket(DateHelper.getDate("2012-01-01"));
TicketLine ticketLine = new TicketLine(); TicketLine ticketLine = new TicketLine();
@ -24,7 +24,7 @@ public class Main {
Product product = new Product(); Product product = new Product();
product.setName("pampers"); product.setName("pampers");
ticketLine.setProduct(product); ticketLine.setProduct(product);
serviceCalculate.calculate(ticket); droolsServiceCalculate.calculate(ticket);
} }
} }

View file

@ -1,13 +1,13 @@
//#created on: 21 nov. 2010 //#created on: 21 nov. 2010
package droolscours.loyalty package loyalty
import util.MyDate; import util.MyDate;
import droolscours.loyalty.domains.Ticket; import loyalty.domains.Ticket;
import droolscours.loyalty.domains.TicketLine; import loyalty.domains.TicketLine;
import droolscours.loyalty.domains.Ligneop; import loyalty.domains.Ligneop;
import droolscours.loyalty.domains.Product import loyalty.domains.Product
import util.DateHelper; import util.DateHelper;
dialect "mvel" dialect "mvel"

View file

@ -13,6 +13,7 @@
<module>AccountProject</module> <module>AccountProject</module>
<module>demodrools</module> <module>demodrools</module>
<module>simpleWebApp</module> <module>simpleWebApp</module>
<module>droolscourse-service</module>
</modules> </modules>
<properties> <properties>

View file

@ -38,15 +38,12 @@
</plugins> </plugins>
</build> </build>
<dependencies> <dependencies>
<dependency>
<artifactId>droolscourse-service</artifactId>
<groupId>com.pymma-software.droolscourse</groupId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.chtijbug.drools</groupId>
<artifactId>drools-framework-runtime-base</artifactId>
</dependency>
<dependency>
<groupId>org.chtijbug.drools</groupId>
<artifactId>drools-framework-runtime-entity</artifactId>
</dependency>
<!-- Apache CXF dependencies --> <!-- Apache CXF dependencies -->
<dependency> <dependency>
<groupId>org.apache.cxf</groupId> <groupId>org.apache.cxf</groupId>

View file

@ -15,6 +15,8 @@
<configuration> <configuration>
<fileset id="fileset" name="Spring Application Context" removed="false"> <fileset id="fileset" name="Spring Application Context" removed="false">
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/spring-ws-servlet.xml</file> <file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/spring-ws-servlet.xml</file>
<file>file://$MODULE_DIR$/src/main/resources/application-context.xml</file>
<file>file://$MODULE_DIR$/src/main/resources/application-context.xml</file>
</fileset> </fileset>
</configuration> </configuration>
</facet> </facet>
@ -30,10 +32,11 @@
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="droolscourse-service" />
<orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-runtime-base:2.0.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-runtime-base:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-common:2.0.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: org.chtijbug.drools:drools-framework-common:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" /> <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.2" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" /> <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" /> <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.0" level="project" /> <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.0" level="project" />

View file

@ -1,6 +1,6 @@
package droolscours.loyalty; package loyalty.service;
import droolscours.loyalty.domains.Ticket; import loyalty.domains.Ticket;
import javax.jws.WebMethod; import javax.jws.WebMethod;
import javax.jws.WebService; import javax.jws.WebService;

View file

@ -0,0 +1,41 @@
package loyalty.service;
import loyalty.DroolsServiceCalculate;
import loyalty.domains.Ticket;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(endpointInterface = "loyalty.service.IServiceCalculate")
public class ServiceCalculate implements IServiceCalculate {
/*
* (non-Javadoc)
*
* @see
* IDroolsServiceCalculate#calculate(droolscours.loyalty.domains
* .Ticket)
*/
/**
* Class Logger
*/
private static Logger logger = LoggerFactory.getLogger(DroolsServiceCalculate.class);
private DroolsServiceCalculate droolsServiceCalculate;
public void setDroolsServiceCalculate(DroolsServiceCalculate droolsServiceCalculate) {
this.droolsServiceCalculate = droolsServiceCalculate;
}
@Override
public Ticket calculate(@WebParam(name = "ticket") Ticket ticket) {
droolsServiceCalculate.calculate(ticket);
return ticket;
}
}

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf.xml"/>
@ -7,7 +8,11 @@
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<!-- Spring manage ServiceBean --> <!-- Spring manage ServiceBean -->
<bean id="calculateService" class="droolscours.loyalty.ServiceCalculate" /> <bean id="aDroolsCalculateService" class="loyalty.DroolsServiceCalculate"/>
<bean id="calculateService" class="loyalty.service.ServiceCalculate">
<property name="droolsServiceCalculate" ref="aDroolsCalculateService"/>
</bean>
<!-- JAX-WS Service Endpoint --> <!-- JAX-WS Service Endpoint -->
<jaxws:endpoint id="personService" implementor="#calculateService" address="/calculateService"/> <jaxws:endpoint id="personService" implementor="#calculateService" address="/calculateService"/>