[jboss-svn-commits] JBL Code SVN: r24528 - in labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src: test/java and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jan 3 13:41:53 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-01-03 13:41:53 -0500 (Sat, 03 Jan 2009)
New Revision: 24528
Added:
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Company.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Department.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Employee.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departmentData.xls
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departments.xml
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_JXLS.drl
Removed:
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/main/java/org/drools/runtime/pipeline/impl/Root.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/dataloaders/
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatefulSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatelessSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamDirectRoot.xml
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamNestedIterable.xml
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamDirectRoot.drl
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamNestedIterable.drl
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders
-made unit tests work for jxls transformer
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/main/java/org/drools/runtime/pipeline/impl/Root.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/main/java/org/drools/runtime/pipeline/impl/Root.java 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/main/java/org/drools/runtime/pipeline/impl/Root.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,21 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.util.List;
-
-public class Root {
- private List children;
-
- public Root() {
-
- }
-
- public List getChildren() {
- return children;
- }
-
- public void setChildren(List children) {
- this.children = children;
- }
-
-
-}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Company.java (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/Company.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Company.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Company.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,59 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Sample Department bean to demostrate main excel export features
+ * author: Leonid Vysochyn
+ */
+public class Company {
+ private String name;
+ private Employee chief = new Employee();
+ private List employee = new ArrayList();
+
+ public Company() {
+ }
+
+ public Company(String name) {
+ this.name = name;
+ }
+
+ public Company(String name, Employee chief, List staff) {
+ this.name = name;
+ this.chief = chief;
+ this.employee = staff;
+ }
+
+ public void addEmployee(Employee employee) {
+ this.employee.add(employee);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Employee getChief() {
+ return chief;
+ }
+
+ public void setChief(Employee chief) {
+ this.chief = chief;
+ }
+
+ public List getEmployee() {
+ return employee;
+ }
+
+ public void setEmployee(List staff) {
+ this.employee = employee;
+ }
+
+ public String toString() {
+ return "[Company name : " + this.name + " chief : " + this.chief + " staff : " + this.employee + "]";
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Company.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Department.java (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/Department.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Department.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Department.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,59 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Sample Department bean to demostrate main excel export features
+ * author: Leonid Vysochyn
+ */
+public class Department {
+ private String name;
+ private Employee chief = new Employee();
+ private List staff = new ArrayList();
+
+ public Department() {
+ }
+
+ public Department(String name) {
+ this.name = name;
+ }
+
+ public Department(String name, Employee chief, List staff) {
+ this.name = name;
+ this.chief = chief;
+ this.staff = staff;
+ }
+
+ public void addEmployee(Employee employee) {
+ this.staff.add(employee);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Employee getChief() {
+ return chief;
+ }
+
+ public void setChief(Employee chief) {
+ this.chief = chief;
+ }
+
+ public List getStaff() {
+ return staff;
+ }
+
+ public void setStaff(List staff) {
+ this.staff = staff;
+ }
+
+ public String toString() {
+ return "[Department name : " + this.name + " chief : " + this.chief + " staff : " + this.staff + "]";
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Department.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatefulSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatefulSessionTest.java 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatefulSessionTest.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,140 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.common.InternalRuleBase;
-import org.drools.impl.KnowledgeBaseImpl;
-import org.drools.impl.StatefulKnowledgeSessionImpl;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.dataloader.DataLoaderFactory;
-import org.drools.runtime.dataloader.StatefulKnowledgeSessionDataLoader;
-import org.drools.runtime.dataloader.impl.StatefulKnowledgeSessionDataLoaderImpl;
-import org.drools.runtime.dataloader.impl.EntryPointReceiverAdapter;
-import org.drools.runtime.pipeline.Expression;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.Splitter;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.impl.IterateSplitter;
-import org.drools.runtime.pipeline.impl.MvelExpression;
-import org.drools.runtime.rule.FactHandle;
-
-public class DroolsJxlsStatefulSessionTest extends TestCase {
-
- public void test1() {
-
- }
-
-// public void test1() {
-// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-//
-// kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
-// DroolsJxlsStatefulSessionTest.class ),
-// ResourceType.DRL );
-//
-// assertFalse( kbuilder.hasErrors() );
-//
-// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-// List list = new ArrayList();
-// ksession.setGlobal( "list",
-// list );
-// }
-
- //
- // public void testDirectRoot() throws Exception {
- // KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- //
- // kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
- // DroolsJxlsStatefulSessionTest.class ),
- // ResourceType.DRL );
- //
- // assertFalse( kbuilder.hasErrors() );
- //
- // KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- // kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
- //
- // StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- // List list = new ArrayList();
- // ksession.setGlobal( "list",
- // list );
- //
- // XStream xstream = new XStream();
- // Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- // transformer.addReceiver( PipelineFactory.newStatefulKnowledgeSessionReceiverAdapter() );
- //
- // StatefulKnowledgeSessionDataLoader dataLoader = DataLoaderFactory.newStatefulKnowledgeSessionDataLoader( ksession,
- // transformer );
- // Map<FactHandle, Object> handles = dataLoader.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ) );
- // ksession.fireAllRules();
- //
- // assertEquals( 1,
- // handles.size() );
- // assertEquals( 1,
- // list.size() );
- //
- // assertEquals( "example.OrderItem",
- // list.get( 0 ).getClass().getName() );
- // }
- //
- // public void testNestedIterable() throws Exception {
- // KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- //
- // kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
- // DroolsJxlsStatefulSessionTest.class ),
- // ResourceType.DRL );
- //
- // assertFalse( kbuilder.hasErrors() );
- //
- // KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- // kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
- //
- // StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- // List list = new ArrayList();
- // ksession.setGlobal( "list",
- // list );
- //
- // XStream xstream = new XStream();
- // Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- // Expression expression = PipelineFactory.newMvelExpression( "this" );
- // transformer.addReceiver( expression );
- // Splitter splitter = PipelineFactory.newIterateSplitter();
- // expression.addReceiver( splitter );
- // splitter.addReceiver( PipelineFactory.newStatefulKnowledgeSessionReceiverAdapter() );
- //
- // StatefulKnowledgeSessionDataLoader dataLoader = DataLoaderFactory.newStatefulKnowledgeSessionDataLoader( ksession,
- // transformer );
- //
- // Map<FactHandle, Object> handles = dataLoader.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ) );
- // ksession.fireAllRules();
- //
- // assertEquals( 2,
- // handles.size() );
- // assertEquals( 2,
- // list.size() );
- //
- // assertEquals( "example.OrderItem",
- // list.get( 0 ).getClass().getName() );
- // assertEquals( "example.OrderItem",
- // list.get( 1 ).getClass().getName() );
- //
- // assertNotSame( list.get( 0 ),
- // list.get( 1 ) );
- // }
-
-}
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatelessSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatelessSessionTest.java 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/DroolsJxlsStatelessSessionTest.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,103 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.runtime.dataloader.StatelessKnowledgeSessionDataLoader;
-import org.drools.runtime.dataloader.impl.StatelessKnowledgeSessionDataLoaderImpl;
-import org.drools.runtime.pipeline.Expression;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.Splitter;
-import org.drools.runtime.pipeline.Transformer;
-
-public class DroolsJxlsStatelessSessionTest extends TestCase {
-
- public void test1() {
-
- }
-
-// public void testSmooksDirectRoot() throws Exception {
-// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-//
-// kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
-// DroolsJxlsStatefulSessionTest.class ),
-// ResourceType.DRL );
-//
-// assertFalse( kbuilder.hasErrors() );
-//
-// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
-// List list = new ArrayList();
-// ksession.setGlobal( "list",
-// list );
-//
-// XStream xstream = new XStream();
-// Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
-// transformer.addReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
-//
-// StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
-// transformer );
-// dataLoader.executeObject( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ) );
-//
-// assertEquals( 1,
-// list.size() );
-//
-// assertEquals( "example.OrderItem",
-// list.get( 0 ).getClass().getName() );
-// }
-//
-// public void testSmooksNestedIterable() throws Exception {
-// KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-//
-// kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
-// DroolsJxlsStatefulSessionTest.class ),
-// ResourceType.DRL );
-//
-// assertFalse( kbuilder.hasErrors() );
-//
-// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
-// List list = new ArrayList();
-// ksession.setGlobal( "list",
-// list );
-//
-// XStream xstream = new XStream();
-// Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
-// Expression expression = PipelineFactory.newMvelExpression( "this" );
-// transformer.addReceiver( expression );
-// Splitter splitter = PipelineFactory.newIterateSplitter();
-// expression.addReceiver( splitter );
-// splitter.addReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
-//
-// StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
-// transformer );
-// dataLoader.executeIterable( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ) );
-//
-// assertEquals( 2,
-// list.size() );
-//
-// assertEquals( "example.OrderItem",
-// list.get( 0 ).getClass().getName() );
-// assertEquals( "example.OrderItem",
-// list.get( 1 ).getClass().getName() );
-//
-// assertNotSame( list.get( 0 ),
-// list.get( 1 ) );
-// }
-
-}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Employee.java (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/Employee.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Employee.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Employee.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,120 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Sample Employee bean to demostrate simple export features
+ * @author Leonid Vysochyn
+ */
+public class Employee {
+ private String name;
+ private Integer age;
+ private Double payment;
+ private Double bonus;
+ private Date birthDate;
+ private Employee superior;
+ private List notes;
+ private String id;
+
+
+ public Employee() {
+ }
+
+ public List getNotes() {
+ return notes;
+ }
+
+ public void setNotes(List notes) {
+ this.notes = notes;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Employee(String name, Integer age, Double payment, Double bonus) {
+ this.name = name;
+ this.age = age;
+ this.payment = payment;
+ this.bonus = bonus;
+ }
+
+ public Employee(String name, int age, double payment, double bonus, Date birthDate) {
+ this.name = name;
+ this.age = new Integer(age);
+ this.payment = new Double(payment);
+ this.bonus = new Double(bonus);
+ this.birthDate = birthDate;
+ }
+
+ public Employee(String name, Double payment, Double bonus) {
+ this.name = name;
+ this.payment = payment;
+ this.bonus = bonus;
+ }
+
+ public Employee(String name, int age, double payment, double bonus) {
+ this.name = name;
+ this.age = new Integer(age);
+ this.payment = new Double(payment);
+ this.bonus = new Double(bonus);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public Double getPayment() {
+ return payment;
+ }
+
+ public void setPayment(Double payment) {
+ this.payment = payment;
+ }
+
+ public Double getBonus() {
+ return bonus;
+ }
+
+ public void setBonus(Double bonus) {
+ this.bonus = bonus;
+ }
+
+ public Date getBirthDate() {
+ return birthDate;
+ }
+
+ public void setBirthDate(Date birthDate) {
+ this.birthDate = birthDate;
+ }
+
+ public Employee getSuperior() {
+ return superior;
+ }
+
+ public void setSuperior(Employee superior) {
+ this.superior = superior;
+ }
+
+ public String toString() {
+ return "[Employee name : " + this.name + "]";
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/Employee.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/JxlsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,75 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.builder.impl.KnowledgeBuilderImpl;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.pipeline.Callable;
+import org.drools.runtime.pipeline.ListAdapter;
+import org.drools.runtime.pipeline.PipelineFactory;
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.impl.BasePipelineContext;
+import org.drools.runtime.pipeline.impl.JxlsTransformer;
+import org.drools.runtime.pipeline.impl.ListAdapterImpl;
+import org.mvel2.MVEL;
+import org.mvel2.ParserConfiguration;
+import org.mvel2.ParserContext;
+
+import junit.framework.TestCase;
+import net.sf.jxls.reader.ReaderBuilder;
+import net.sf.jxls.reader.XLSDataReadException;
+import net.sf.jxls.reader.XLSReadStatus;
+import net.sf.jxls.reader.XLSReader;
+
+public class JxlsTest extends TestCase {
+ public void test1() throws Exception {
+ InputStream stream = getClass().getResourceAsStream( "departments.xml");
+ assertNotNull( stream );
+
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ // kbuilder.add( ResourceFactory.newClassPathResource( "test_JXLS.drl", getClass() ), ResourceType.DRL );
+
+ ClassLoader cl = ((KnowledgeBuilderImpl)kbuilder).pkgBuilder.getRootClassLoader();
+ Thread.currentThread().setContextClassLoader( cl );
+
+ InputStream inputXML = new BufferedInputStream( stream );
+ XLSReader mainReader = ReaderBuilder.buildFromXML( inputXML );
+ InputStream inputXLS = new BufferedInputStream(getClass().getResourceAsStream( "departmentData.xls"));
+
+ Callable callable = PipelineFactory.newCallable();
+ Transformer transformer = PipelineFactory.newJxlsTransformer(mainReader, "[ 'departments' : new java.util.ArrayList(), 'company' : new org.drools.runtime.pipeline.impl.Company() ]");
+ callable.addReceiver( transformer );
+ transformer.addReceiver( callable );
+ BasePipelineContext context = new BasePipelineContext( Thread.currentThread().getContextClassLoader() );
+
+ Map<String, Object> beans = ( Map<String, Object> ) callable.call( inputXLS, context );
+
+ assertEquals( Company.class.getName(), beans.get( "company" ).getClass().getName());
+ assertEquals( ArrayList.class.getName(), beans.get( "departments" ).getClass().getName());
+
+ Company company = ( Company ) beans.get( "company" );
+ assertEquals( "A-Team", company.getName() );
+ assertEquals( 4, company.getEmployee().size() );
+
+ List<Department> departments = ( List<Department> ) beans.get( "departments" );
+ assertEquals( 3, departments.size() );
+
+ Department department = departments.get( 0 );
+ assertEquals( "IT", department.getName() );
+ assertEquals( 5, department.getStaff().size() );
+
+ department = departments.get( 2 );
+ assertEquals( "BA", department.getName() );
+ assertEquals( 4, department.getStaff().size() );
+ }
+
+}
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamDirectRoot.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamDirectRoot.xml 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamDirectRoot.xml 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,5 +0,0 @@
-<example.OrderItem>
- <productId>222</productId>
- <quantity>7</quantity>
- <price>5.20</price>
-</example.OrderItem>
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamNestedIterable.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamNestedIterable.xml 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/XStreamNestedIterable.xml 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,12 +0,0 @@
-<java.util.ArrayList>
- <example.OrderItem>
- <productId>111</productId>
- <quantity>2</quantity>
- <price>8.90</price>
- </example.OrderItem>
- <example.OrderItem>
- <productId>222</productId>
- <quantity>7</quantity>
- <price>5.20</price>
- </example.OrderItem>
-</java.util.ArrayList>
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departmentData.xls (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/departmentData.xls)
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departmentData.xls
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Name: svn:mergeinfo
+
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departments.xml (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/departments.xml)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departments.xml (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departments.xml 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<workbook>
+ <worksheet name="Sheet1">
+
+ <section startRow="0" endRow="6">
+ <mapping cell="B1">company.name</mapping>
+ </section>
+ <loop startRow="7" endRow="7" items="company.employee" var="employee" varType="org.drools.runtime.pipeline.impl.Employee">
+ <section startRow="7" endRow="7">
+ <mapping row="7" col="0">employee.name</mapping>
+ <mapping row="7" col="1">employee.age</mapping>
+ <mapping row="7" col="3">employee.payment</mapping>
+ <mapping row="7" col="4">employee.bonus</mapping>
+ </section>
+ <loopbreakcondition>
+ <rowcheck offset="0">
+ <cellcheck offset="0">Employee Payment Totals:</cellcheck>
+ </rowcheck>
+ </loopbreakcondition>
+ </loop>
+
+ </worksheet>
+ <worksheet name="Sheet3">
+ <loop startRow="0" endRow="8" items="departments" var="department" varType="org.drools.runtime.pipeline.impl.Department">
+ <section startRow="0" endRow="6">
+ <mapping row="0" col="1">department.name</mapping>
+ </section>
+ <loop startRow="7" endRow="7" items="department.staff" var="employee" varType="org.drools.runtime.pipeline.impl.Employee">
+ <section startRow="7" endRow="7">
+ <mapping row="7" col="0">employee.name</mapping>
+ <mapping row="7" col="1">employee.age</mapping>
+ <mapping row="7" col="2">employee.payment</mapping>
+ <mapping row="7" col="3">employee.bonus</mapping>
+ </section>
+ <loopbreakcondition>
+ <rowcheck offset="0">
+ <cellcheck offset="0">Employee Payment Totals:</cellcheck>
+ </rowcheck>
+ </loopbreakcondition>
+ </loop>
+ <section startRow="8" endRow="8"/>
+ <loopbreakcondition>
+ <rowcheck offset="0"/>
+ <rowcheck offset="1"/>
+ </loopbreakcondition>
+ </loop>
+ </worksheet>
+</workbook>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/departments.xml
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_JXLS.drl (from rev 24524, labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/sample/test_JXLS.drl)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_JXLS.drl (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_JXLS.drl 2009-01-03 18:41:53 UTC (rev 24528)
@@ -0,0 +1,17 @@
+package sample
+
+import java.util.List
+// this doesn't work, as we don't support default values
+
+
+declare Department
+ name : String
+ chief : Employee
+ staff : List
+end
+
+declare Company
+ name : String
+ chief : Employee
+ employee : List
+end
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_JXLS.drl
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamDirectRoot.drl
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamDirectRoot.drl 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamDirectRoot.drl 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,16 +0,0 @@
-package example
-
-global java.util.List list;
-
-declare OrderItem
- productId : long
- quantity : Integer
- price : double
-end
-
-rule someRule
-when
- $i : OrderItem()
-then
- list.add( $i );
-end
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamNestedIterable.drl
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamNestedIterable.drl 2009-01-03 17:06:50 UTC (rev 24527)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/resources/org/drools/runtime/pipeline/impl/test_XStreamNestedIterable.drl 2009-01-03 18:41:53 UTC (rev 24528)
@@ -1,16 +0,0 @@
-package example
-
-global java.util.List list;
-
-declare OrderItem
- productId : long
- quantity : Integer
- price : double
-end
-
-rule someRule
-when
- $i : OrderItem()
-then
- list.add( $i );
-end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list