[jboss-svn-commits] JBL Code SVN: r36722 - in labs/jbossrules/tags/5.2.0.M1: osgi-bundles and 28 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 24 13:01:43 EST 2011


Author: ge0ffrey
Date: 2011-02-24 13:01:43 -0500 (Thu, 24 Feb 2011)
New Revision: 36722

Added:
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/.gitignore
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/build.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/.gitignore
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/pom.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/log4j.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/BPMN2OsgiTest.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/JpaOsgi.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/SimpleOsgiTest.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/AbstractDroolsSpringDMTest.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseArtifactFinder.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseWorkspaceArtifactLocator.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/UnpackedOSGiBundleResource.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Cheese.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Person.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/decisiontable/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/decisiontable/Dummy.java
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/META-INF/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/META-INF/persistence.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/boot-bundles.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/jndi.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/log4j.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/integrationtests/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/integrationtests/BPMN2-MinimalProcess.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/IntegrationExampleTest.xls
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.drl
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset2Test.drl
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/.gitignore
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/META-INF/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/META-INF/MANIFEST.MF
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/build.properties
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/lib/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/lib/.gitignore
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/maven-eclipse.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/pom.xml
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/.gitignore
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.jgroups-2.2.8.jar
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.objectweb.asm-1.5.3.jar
   labs/jbossrules/tags/5.2.0.M1/osgi-bundles/pom.xml
Log:
All monolothic build versions (<= 5.2.0.M1) stay in subversion

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/.gitignore
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/.gitignore	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/.gitignore	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,10 @@
+/target
+/local
+
+# Eclipse, Netbeans and IntelliJ files
+/.*
+!.gitignore
+/nbproject
+/*.ipr
+/*.iws
+/*.iml

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/build.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/build.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/build.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,14 @@
+src.includes = .,\
+               build.properties,\
+               lib/,\
+               META-INF/,\
+               src/,\
+               pom.xml
+bin.includes = .,\
+               lib/,\
+               META-INF/,\
+               build.properties,\
+source.. = src/main/java/,\
+           src/main/resources/
+output.. = target/classes/     
+jars.compile.order = .          

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/.gitignore
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/.gitignore	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/.gitignore	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,13 @@
+/target
+/local
+
+# Eclipse, Netbeans and IntelliJ files
+/.*
+!.gitignore
+/nbproject
+/*.ipr
+/*.iws
+/*.iml
+
+# Folder is created during tests. TODO should be moved under target directory
+eclipse_config

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/pom.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/pom.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/pom.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,79 @@
+<?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/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.drools</groupId>
+    <artifactId>osgi-bundles</artifactId>
+    <version>5.2.0.M1</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.drools</groupId>
+  <artifactId>org.drools.osgi.test</artifactId>
+  <packaging>jar</packaging>
+  <name>Drools :: OSGi bundles :: Spring OSGi Test</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-compiler</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-templates</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-decisiontables</artifactId>
+    </dependency>
+    <!--dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-persistence-jpa</artifactId>
+      </dependency-->
+    <dependency>
+      <groupId>org.jbpm</groupId>
+      <artifactId>jbpm-flow</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jbpm</groupId>
+      <artifactId>jbpm-bpmn2</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.5</version>
+        <configuration>
+          <!--childDelegation>false</childDelegation>
+          <forkMode>pertest</forkMode-->
+          <systemPropertyVariables>
+            <propertyName>propertyValue</propertyName>
+            <buildDirectory>${project.build.directory}</buildDirectory>
+            <eclipse.target.area>../plugins</eclipse.target.area>
+            <eclipse.workspace.area>../..</eclipse.workspace.area>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>org.drools:org.drools.osgi.wrapper.jxls-reader</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context-osgi.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context-osgi.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,13 @@
+<?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:osgi="http://www.springframework.org/schema/osgi"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                      http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd">
+
+  <!-- definitions using elements of the osgi namespace can be included
+       in this file. There is no requirement to keep these definitions
+       in a separate file if you do not want to. The rationale for 
+       keeping these definitions separate is to facilitate integration
+       testing of the bundle outside of an OSGi container -->
+</beans>
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/META-INF/spring/bundle-context.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+  <!-- regular spring configuration file defining the beans for this
+       bundle. The configuration of OSGi definitions is kept in a separate 
+       configuration file so that this file can easily be used
+       for integration testing outside of an OSGi environment -->
+</beans>
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/log4j.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/log4j.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/main/resources/log4j.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,8 @@
+log4j.rootCategory=DEBUG, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
++log4j.appender.stdout.layout.ConversionPattern=%t %p [%c] - %m%n
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.threshold=TRACE
+
+log4j.logger.org.springframework.osgi=DEBUG
+log4j.logger.org.springframework=DEBUG
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/BPMN2OsgiTest.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/BPMN2OsgiTest.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/BPMN2OsgiTest.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,97 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.integrationtests;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderError;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactoryService;
+import org.drools.osgi.test.AbstractDroolsSpringDMTest;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+import org.drools.util.ServiceRegistry;
+import org.osgi.framework.ServiceReference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class BPMN2OsgiTest extends AbstractDroolsSpringDMTest {
+
+    protected void onSetUp() throws Exception {               
+        ServiceReference kbuilderRef = bundleContext.getServiceReference( KnowledgeBuilderFactoryService.class.getName() );        
+        Thread.currentThread().setContextClassLoader(  bundleContext.getService( kbuilderRef ).getClass().getClassLoader()  );
+    }
+
+    protected void onTearDown() throws Exception {
+        
+    }
+
+    @Test
+    public void testMinimalProcess() throws Exception {
+        KnowledgeBase kbase = createKnowledgeBase("BPMN2-MinimalProcess.xml");
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+        ProcessInstance processInstance = ksession.startProcess("Minimal");
+        assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+    }
+    
+    private KnowledgeBase createKnowledgeBase(String process) throws Exception {
+        
+        ServiceReference serviceRef = bundleContext.getServiceReference( ServiceRegistry.class.getName() );
+        ServiceRegistry registry = (ServiceRegistry) bundleContext.getService( serviceRef );
+
+        KnowledgeBuilderFactoryService knowledgeBuilderFactoryService = registry.get( KnowledgeBuilderFactoryService.class );
+        KnowledgeBaseFactoryService knowledgeBaseFactoryService = registry.get( KnowledgeBaseFactoryService.class );
+        ResourceFactoryService resourceFactoryService = registry.get( ResourceFactoryService.class );
+        
+        KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService.newKnowledgeBuilder();
+        kbuilder.add(resourceFactoryService.newClassPathResource(process, BPMN2OsgiTest.class), ResourceType.BPMN2);
+        
+//        KnowledgeBuilderConfiguration conf = knowledgeBuilderFactoryService.newKnowledgeBuilderConfiguration();
+//        ((PackageBuilderConfiguration) conf).initSemanticModules();
+//        ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
+//        ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMN2SemanticModule());
+//        ((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNDISemanticModule());
+//        ((PackageBuilderConfiguration) conf).addDialect("XPath", new XPathDialectConfiguration());        
+//        
+//        XmlProcessReader processReader = new XmlProcessReader(
+//            ((PackageBuilderConfiguration) conf).getSemanticModules());
+//        RuleFlowProcess p = (RuleFlowProcess)
+//            processReader.read(BPMN2OsgiTest.class.getResourceAsStream(process));               
+//        
+//        KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService.newKnowledgeBuilder(conf);
+//        
+//        kbuilder.add(resourceFactoryService.newReaderResource(
+//            new StringReader(XmlBPMNProcessDumper.INSTANCE.dump(p))), ResourceType.DRF);
+        
+        if (!kbuilder.getErrors().isEmpty()) {
+            for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+                System.err.println(error);
+            }
+            throw new IllegalArgumentException("Errors while parsing knowledge base:\n" + kbuilder.getErrors());
+        }
+        KnowledgeBase kbase = knowledgeBaseFactoryService.newKnowledgeBase();
+        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+        return kbase;
+    }   
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/JpaOsgi.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/JpaOsgi.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/JpaOsgi.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,193 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.integrationtests;
+
+
+//import bitronix.tm.TransactionManagerServices;
+//import bitronix.tm.resource.jdbc.PoolingDataSource;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class JpaOsgi {
+
+    @Test @Ignore
+	public void testDummy() {
+	}
+
+//    PoolingDataSource            ds1;
+//    private EntityManagerFactory emf;
+//
+//    @Before
+//    public void onSetUp() throws Exception {
+//        
+//        ds1 = new PoolingDataSource();
+//        ds1.setUniqueName( "jdbc/testDS1" );
+//        ds1.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+//        ds1.setMaxPoolSize( 3 );
+//        ds1.setAllowLocalTransactions( true );
+//        ds1.getDriverProperties().put( "user",
+//                                       "sa" );
+//        ds1.getDriverProperties().put( "password",
+//                                       "sasa" );
+//        ds1.getDriverProperties().put( "URL",
+//                                       "jdbc:h2:mem:mydb" );
+//        ds1.init();
+//        //        
+//        //        Bundle jpaBundle = null;
+//        //         for ( Bundle bundle : bundleContext.getBundles() ) {
+//        //             if ( "org.drools.persistence-jpa".equals( bundle.getSymbolicName() ) ) {
+//        //                 jpaBundle = bundle;
+//        //                 break;
+//        //             }
+//        //        }
+//
+//        URL url = getClass().getClassLoader().getResource( "META-INF/persistence.xml" );
+//        System.out.println( url );
+//        
+//        //System.out.println( HibernatePersistence.class );
+//        //emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+//
+//    }
+//
+//    @After
+//    public void onTearDown() throws Exception {
+//        emf.close();
+//        ds1.close();
+//    }
+//
+//    @Test @Ignore
+//    public void testPersistenceWithUserTransactions() throws Exception {
+//        ServiceReference serviceRef = bundleContext.getServiceReference( ServiceRegistry.class.getName() );
+//        ServiceRegistry registry = (ServiceRegistry) bundleContext.getService( serviceRef );
+//
+//        KnowledgeBuilderFactoryService knowledgeBuilderFactoryService = registry.get( KnowledgeBuilderFactoryService.class );
+//        KnowledgeBaseFactoryService knowledgeBaseFactoryService = registry.get( KnowledgeBaseFactoryService.class );
+//        ResourceFactoryService resourceFactoryService = registry.get( ResourceFactoryService.class );
+//
+//        String str = "";
+//        str += "package org.drools.test\n";
+//        str += "global java.util.List list\n";
+//        str += "rule rule1\n";
+//        str += "when\n";
+//        str += "  $i : Integer(intValue > 0)\n";
+//        str += "then\n";
+//        str += "  list.add( $i );\n";
+//        str += "end\n";
+//        str += "\n";
+//
+//        KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService.newKnowledgeBuilder();
+//        kbuilder.add( resourceFactoryService.newByteArrayResource( str.getBytes() ),
+//                      ResourceType.DRL );
+//        KnowledgeBase kbase = knowledgeBaseFactoryService.newKnowledgeBase();
+//
+//        if ( kbuilder.hasErrors() ) {
+//            fail( kbuilder.getErrors().toString() );
+//        }
+//
+//        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+//
+//        EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+//        Environment env = knowledgeBaseFactoryService.newEnvironment();
+//        env.set( EnvironmentName.ENTITY_MANAGER_FACTORY,
+//                 emf );
+//        env.set( EnvironmentName.TRANSACTION_MANAGER,
+//                 TransactionManagerServices.getTransactionManager() );
+//        env.set( EnvironmentName.GLOBALS,
+//                 new MapGlobalResolver() );
+//
+//        UserTransaction ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        JPAKnowledgeServiceProviderImpl jpaService = new JPAKnowledgeServiceProviderImpl();
+//
+//        StatefulKnowledgeSession ksession = jpaService.newStatefulKnowledgeSession( kbase,
+//                                                                                    null,
+//                                                                                    env );
+//        ut.commit();
+//
+//        //      EntityManager em = emf.createEntityManager();
+//        //      SessionInfo sInfo = em.find( SessionInfo.class, 1 );
+//        //      assertNotNull( sInfo );
+//        //      //System.out.println( "session creation : " + sInfo.getVersion() );
+//        //      em.close();
+//
+//        List list = new ArrayList();
+//
+//        // insert and commit
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.setGlobal( "list",
+//                            list );
+//        ksession.insert( 1 );
+//        ksession.insert( 2 );
+//        ut.commit();
+//        //
+//        // insert and rollback
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.insert( 3 );
+//        ut.rollback();
+//
+//        // check we rolled back the state changes from the 3rd insert
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.fireAllRules();
+//        ut.commit();
+//        assertEquals( 2,
+//                      list.size() );
+//
+//        // insert and commit
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.insert( 3 );
+//        ksession.insert( 4 );
+//        ut.commit();
+//
+//        // rollback again, this is testing that we can do consequetive rollbacks and commits without issue
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.insert( 5 );
+//        ksession.insert( 6 );
+//        ut.rollback();
+//
+//        ksession.fireAllRules();
+//
+//        assertEquals( 4,
+//                      list.size() );
+//
+//        // now load the ksession
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession = jpaService.loadStatefulKnowledgeSession( ksession.getId(),
+//                                                            kbase,
+//                                                            null,
+//                                                            env );
+//        ut.commit();
+//
+//        ut = (UserTransaction) new InitialContext().lookup( "java:comp/UserTransaction" );
+//        ut.begin();
+//        ksession.insert( 7 );
+//        ksession.insert( 8 );
+//        ut.commit();
+//
+//        ksession.fireAllRules();
+//
+//        assertEquals( 6,
+//                      list.size() );
+//    }
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/SimpleOsgiTest.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/SimpleOsgiTest.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/integrationtests/SimpleOsgiTest.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,188 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.integrationtests;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseConfiguration;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactoryService;
+import org.drools.osgi.test.AbstractDroolsSpringDMTest;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.util.ServiceRegistry;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.test.Cheese;
+import org.test.Person;
+import org.test.decisiontable.Dummy;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class SimpleOsgiTest extends AbstractDroolsSpringDMTest {
+
+    protected void onSetUp() throws Exception {               
+        ServiceReference kbuilderRef = bundleContext.getServiceReference( KnowledgeBuilderFactoryService.class.getName() );        
+        Thread.currentThread().setContextClassLoader(  bundleContext.getService( kbuilderRef ).getClass().getClassLoader()  );
+        System.out.println( "setup" + bundleContext.getService( kbuilderRef ).getClass().getClassLoader() );
+    }
+
+    protected void onTearDown() throws Exception {
+        
+    }
+
+    @Test
+    public void testOsgiPlatformStarts() throws Exception {
+        System.out.println( bundleContext.getProperty( Constants.FRAMEWORK_VENDOR ) );
+        System.out.println( bundleContext.getProperty( Constants.FRAMEWORK_VERSION ) );
+        System.out.println( bundleContext.getProperty( Constants.FRAMEWORK_EXECUTIONENVIRONMENT ) );
+    }
+
+    @Test
+    public void testOsgiEnvironment() throws Exception {
+        Bundle[] bundles = bundleContext.getBundles();
+        System.out.println( "bundles: " );
+        for ( int i = 0; i < bundles.length; i++ ) {
+            System.out.print( bundles[i].getSymbolicName() + ":" + bundles[i].getState() );
+            System.out.print( ", " );
+        }
+        System.out.println();
+    }
+
+    @Test
+    public void testCompiler() {
+        ServiceReference serviceRef = bundleContext.getServiceReference( ServiceRegistry.class.getName() );
+        ServiceRegistry registry = (ServiceRegistry) bundleContext.getService( serviceRef );              
+
+        KnowledgeBuilderFactoryService knowledgeBuilderFactoryService = registry.get( KnowledgeBuilderFactoryService.class );
+        
+        KnowledgeBaseFactoryService knowledgeBaseFactoryService = registry.get( KnowledgeBaseFactoryService.class );
+        ResourceFactoryService resourceFactoryService = registry.get( ResourceFactoryService.class );
+
+        String str = "";
+        str += "package org.test\n";
+        str += "import org.test.Person\n";
+        str += "global java.util.List list\n";
+        str += "rule rule1\n";
+        str += "when\n";
+        str += "    $p : Person( age > 30 )\n";
+        str += "then\n";
+        str += "    list.add($p);\n";
+        str += "end\n";
+
+        KnowledgeBuilderConfiguration kbConf = knowledgeBuilderFactoryService.newKnowledgeBuilderConfiguration( null,
+                                                                                                                getClass().getClassLoader() );
+
+        KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService.newKnowledgeBuilder( kbConf );
+        ResourceFactoryService resource = resourceFactoryService;
+        kbuilder.add( resource.newByteArrayResource( str.getBytes() ),
+                      ResourceType.DRL );
+
+        if ( kbuilder.hasErrors() ) {
+            System.out.println( kbuilder.getErrors() );
+            throw new RuntimeException( kbuilder.getErrors().toString() );
+        }
+
+        KnowledgeBaseConfiguration kbaseConf = knowledgeBaseFactoryService.newKnowledgeBaseConfiguration( null,                                                                                                          
+                                                                                                          getClass().getClassLoader() );
+
+        KnowledgeBase kbase = knowledgeBaseFactoryService.newKnowledgeBase( kbaseConf );
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+        List<?> list = new ArrayList<Object>();
+        ksession.setGlobal( "list",
+                            list );
+
+        ksession.insert( new Person( "name",
+                                     34 ) );      
+        
+        ksession.fireAllRules();
+        ksession.dispose();
+
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( new Person( "name",
+                                  34 ),
+                      list.get( 0 ) );
+
+    }
+
+    @Test
+    public void testDecisionTable() {
+        ServiceReference serviceRef = bundleContext.getServiceReference( ServiceRegistry.class.getName() );
+        ServiceRegistry registry = (ServiceRegistry) bundleContext.getService( serviceRef );
+
+        KnowledgeBuilderFactoryService knowledgeBuilderFactoryService = registry.get( KnowledgeBuilderFactoryService.class );
+        KnowledgeBaseFactoryService knowledgeBaseFactoryService = registry.get( KnowledgeBaseFactoryService.class );
+        ResourceFactoryService resourceFactoryService = registry.get( ResourceFactoryService.class );
+
+        KnowledgeBaseConfiguration kbaseConf = knowledgeBaseFactoryService.newKnowledgeBaseConfiguration( null,
+                                                                                                          getClass().getClassLoader() );
+
+        System.out.println( "test dtables started" );
+
+        KnowledgeBuilderConfiguration kbConf = knowledgeBuilderFactoryService.newKnowledgeBuilderConfiguration( null,
+                                                                                                                getClass().getClassLoader() );
+        KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService.newKnowledgeBuilder( kbConf );
+        kbuilder.add( resourceFactoryService.newClassPathResource( "changeset1Test.xml",
+                                                                   Dummy.class ),
+                      ResourceType.CHANGE_SET );
+
+        kbaseConf = knowledgeBaseFactoryService.newKnowledgeBaseConfiguration( null,
+                                                                               getClass().getClassLoader() );
+        KnowledgeBase kbase = knowledgeBaseFactoryService.newKnowledgeBase( kbaseConf );
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+        List<?> list = new ArrayList<Object>();
+        ksession.setGlobal( "list",
+                            list );
+
+        ksession.insert( new Cheese( "cheddar",
+                                     42 ) );
+        ksession.insert( new Person( "michael",
+                                     "stilton",
+                                     25 ) );
+
+        ksession.fireAllRules();
+        ksession.dispose();
+
+        assertEquals( 3,
+                      list.size() );
+
+        assertEquals( "Young man cheddar",
+                      list.get( 0 ) );
+
+        assertEquals( "rule1",
+                      list.get( 1 ) );
+        assertEquals( "rule2",
+                      list.get( 2 ) );
+
+        System.out.println( "test dtables ended" );
+    }
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/AbstractDroolsSpringDMTest.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/AbstractDroolsSpringDMTest.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/AbstractDroolsSpringDMTest.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,130 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.test;
+
+import org.drools.osgi.test.utils.EclipseWorkspaceArtifactLocator;
+import org.osgi.framework.BundleContext;
+import org.springframework.core.io.InputStreamResource;
+import org.springframework.core.io.Resource;
+import org.springframework.osgi.test.AbstractConfigurableBundleCreatorTests;
+import org.springframework.osgi.test.platform.OsgiPlatform;
+import org.springframework.osgi.test.provisioning.ArtifactLocator;
+import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
+
+/**
+ * Abstract Base Class for JUnit Tests in a OSGI Environment
+ * 
+ * @author Frederic Conrotte
+ * @author Jan Blanckenhorn
+ */
+
+public abstract class AbstractDroolsSpringDMTest extends AbstractConfigurableBundleCreatorTests {
+    private static final String TEST_FRAMEWORK_BUNDLES_CONF_FILE = "/boot-bundles.properties";
+    private ArtifactLocator     m_MavenArtifactLocator, m_EclipseArtifactLocator;
+    
+    @Override
+    protected boolean createManifestOnlyFromTestClass() {
+        return false;
+    }
+    
+    protected void onSetUp() throws Exception
+    {
+
+    }
+    
+    @Override
+    protected void preProcessBundleContext(BundleContext platformBundleContext) throws Exception {
+        try { 
+            super.preProcessBundleContext( platformBundleContext );
+        } catch( Exception e ) {
+            throw e;
+        }
+    }
+    
+    @Override
+    protected void postProcessBundleContext(BundleContext context) throws Exception {
+        try { 
+            super.postProcessBundleContext( context );
+        } catch( Exception e ) {
+            throw e;
+        }
+    }
+
+    @Override
+    /*
+     * define OSGI/Equinox Properties which are set while starting up OSGI
+     */
+    protected OsgiPlatform createPlatform() {
+        System.setProperty( "osgi.console",
+                            "9000" );
+        System.setProperty( "osgi.framework.extensions",
+                            "osgi.framework.extensions" );
+        return super.createPlatform();
+    }
+
+    @Override
+    protected Resource getTestingFrameworkBundlesConfiguration() {
+        return new InputStreamResource( AbstractDroolsSpringDMTest.class.getResourceAsStream( TEST_FRAMEWORK_BUNDLES_CONF_FILE ) );
+    }
+
+    /**
+     * Use Eclipse artifact locator as default, falls back on Maven artifact
+     * locator in artifact is not found.
+     */
+    protected Resource locateBundle(String bundleId) {
+        Assert.hasText( bundleId,
+                        "bundleId should not be empty" );        
+        
+        Resource result = null;
+
+        // parse the String
+        String[] artifactId = StringUtils.commaDelimitedListToStringArray( bundleId );
+        
+        Assert.isTrue( artifactId.length >= 3,
+                       "the CSV string " + bundleId + " contains too few values" );
+        // TODO: add a smarter mechanism which can handle 1 or 2 values CSVs
+        for ( int i = 0; i < artifactId.length; i++ ) {
+            artifactId[i] = StringUtils.trimWhitespace( artifactId[i] );
+        }
+
+        if ( m_EclipseArtifactLocator == null ) m_EclipseArtifactLocator = new EclipseWorkspaceArtifactLocator();
+
+        result = (artifactId.length == 3 ? m_EclipseArtifactLocator.locateArtifact( artifactId[0],
+                                                                                    artifactId[1],
+                                                                                    artifactId[2] ) : m_EclipseArtifactLocator.locateArtifact( artifactId[0],
+                                                                                                                                               artifactId[1],
+                                                                                                                                               artifactId[2],
+                                                                                                                                               artifactId[3] ));
+
+        if ( result == null ) {
+            if ( m_MavenArtifactLocator == null ) m_MavenArtifactLocator = getLocator();
+
+            result = (artifactId.length == 3 ? m_MavenArtifactLocator.locateArtifact( artifactId[0],
+                                                                                      artifactId[1],
+                                                                                      artifactId[2] ) : m_MavenArtifactLocator.locateArtifact( artifactId[0],
+                                                                                                                                               artifactId[1],
+                                                                                                                                               artifactId[2],
+                                                                                                                                               artifactId[3] ));
+        }
+
+        if ( result == null ) throw new IllegalStateException( bundleId + " not found" );
+
+        return result;
+    }
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseArtifactFinder.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseArtifactFinder.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseArtifactFinder.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,367 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.test.utils;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+
+import org.apache.log4j.Logger;
+import org.osgi.framework.Constants;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.Resource;
+
+/**
+ * Find a packaged and unpackaged artifact from Eclipse Workspace and Eclipse Target areas.
+ * Does not use groupId to resolve bundles.
+ * 
+ * @author Frederic Conrotte
+ */
+public class EclipseArtifactFinder {
+
+    private static final Logger log = Logger.getLogger(EclipseArtifactFinder.class);
+    
+    private static final String s_PROP_WORKSPACE_AREA = "eclipse.workspace.area";
+    private static final String s_PROP_TARGET_AREA = "eclipse.target.area";
+
+    private Set<Plugin> m_WorkspacePlugins = new HashSet<Plugin>();
+    private Set<Plugin> m_TargetPlugins = new HashSet<Plugin>();
+
+    private static final String FILE_SCHEME = "file:///";
+    private static final String REFERENCE_PROTOCOL = "reference";
+    
+    private final FileFilter m_DirectoryFilter = new FileFilter() {
+        public boolean accept(File file) {
+            return file.isDirectory();
+        }
+    };
+
+    private final FileFilter m_JARFileFilter = new FileFilter() {
+        public boolean accept(File file) {
+            String fileExtension = getExtension(file.getName());
+            return file.isFile() && "jar".equals(fileExtension);
+        }
+
+        private String getExtension(String fileName) {
+            String ext;
+
+            int dotPlace = fileName.lastIndexOf('.');
+
+            if (dotPlace >= 0)
+               ext = fileName.substring( dotPlace + 1 );
+            else
+               ext = "";
+            
+            return ext;
+        }
+    };
+
+    private final FileFilter m_ManifestDirectoryFilter = new FileFilter() {
+        public boolean accept(File file) {
+            return file.isDirectory() && "META-INF".equalsIgnoreCase(file.getName());
+        }
+    };
+
+    private FilenameFilter m_ManifestFilter = new FilenameFilter(){
+
+        public boolean accept(File file, String aName) {
+            return "MANIFEST.MF".equals(aName);
+        }
+    };
+
+    /**
+     * Quick model for an Eclipse plugin 
+     */
+    private class Plugin
+    {
+        private String m_BundleSymbolicName, m_BundleVersion;
+        private Resource m_Path;
+        private boolean m_IsExploded;
+
+        public Plugin(String aBundleSymbolicName, String aVersion, Resource aPath, boolean isExploded) 
+        {
+            m_BundleSymbolicName = aBundleSymbolicName;
+            m_BundleVersion = aVersion;
+            m_Path = aPath;
+            m_IsExploded = isExploded;
+        }
+        
+        public boolean isExploded() {
+            return m_IsExploded;
+        }
+
+        public boolean match(String artifactId, String version)
+        {
+            return m_BundleSymbolicName.equals(artifactId) && m_BundleVersion.startsWith(version);
+        }
+
+        public String getBundleSymbolicName() {
+            return m_BundleSymbolicName;
+        }
+
+        public void setBundleSymbolicName(String aBundleSymbolicName) {
+            m_BundleSymbolicName = aBundleSymbolicName;
+        }
+
+        public String getBundleVersion() {
+            return m_BundleVersion;
+        }
+
+        public void setBundleVersion(String aBundleVersion) {
+            m_BundleVersion = aBundleVersion;
+        }
+
+        public Resource getPath() {
+            return m_Path;
+        }
+
+        public void setPath(Resource aPath) {
+            m_Path = aPath;
+        }
+        
+        @Override
+        public boolean equals(Object aOther) {
+            if (aOther instanceof Plugin == false)
+                return false;
+
+            if (this == aOther)
+                return true;
+
+            Plugin rhs = (Plugin) aOther;
+            
+            return m_BundleSymbolicName.equals(rhs.getBundleSymbolicName()) && m_BundleVersion.equals(rhs.getBundleVersion()) && m_Path.equals(rhs.getPath());
+        }
+        
+        @Override
+        public int hashCode() {
+            return m_BundleSymbolicName.hashCode() + m_BundleVersion.hashCode() + m_Path.hashCode();
+        }
+        
+        @Override
+        public String toString() {
+            return m_BundleSymbolicName + " " + m_BundleVersion;
+        }
+    }
+    
+    public Resource findArtifact(String aArtifactId, String aVersion) throws IOException {
+        
+        if (m_WorkspacePlugins.isEmpty()) {
+
+            File folder = getEclipseWorkspace();
+            if (folder != null)
+                importPluginFromFolder(folder, m_WorkspacePlugins);
+        }
+
+        if (m_TargetPlugins.isEmpty()) {
+
+            File[] folders = getEclipseTarget();
+            
+            for (File folder : folders)
+                importPluginFromFolder(folder, m_TargetPlugins);
+
+        }        
+
+        for (Plugin plugin : m_WorkspacePlugins) {
+            if (plugin.match(aArtifactId, aVersion))
+            {
+                if (plugin.isExploded())
+                    return getExplodedPluginResource(plugin);
+                else
+                    return getJARPluginResource(plugin);
+            }
+        }
+
+        for (Plugin plugin : m_TargetPlugins) {
+            if (plugin.match(aArtifactId, aVersion))
+            {
+                if (plugin.isExploded())
+                    return getExplodedPluginResource(plugin);
+                else
+                    return getJARPluginResource(plugin);
+            }
+        }
+
+        return null;
+    }
+
+    private void importPluginFromFolder(File folder, Set<Plugin> plugins) throws IOException {
+        
+        log.info("Importing plugins from folder " + folder.getAbsolutePath());
+        
+        Set<Resource> eclipseProjects = new HashSet<Resource>();
+        
+        // Scan plugins exploded as unpacked JAR directories
+        for (File projectFolder : folder.listFiles(m_DirectoryFilter)) {
+            eclipseProjects.add(new FileSystemResource(projectFolder));
+        }
+
+        for (Resource resource : eclipseProjects) {
+            Manifest man = getManifestFromProject(resource);
+            if (man != null) {
+                addPlugin(plugins, resource, man, true);
+            } else {
+            	// this is not a project folder, so descend to find potential nested modules
+            	List<String> list = Arrays.asList( ((FileSystemResource)resource).getFile().list() );
+        		for ( String str : list ) {
+        			// do not process eclipse proejcts at the moment
+        			if ( str.contains( "drools-eclipse" ) ||  str.contains( "osgi-bundles" ) ) {
+        				list = null;
+        			}
+        		}            	
+            	if ( list != null && list.contains("pom.xml")) {
+            		importPluginFromFolder(((FileSystemResource)resource).getFile(), plugins);
+            	}
+            }
+        }
+
+        Set<Resource> packagedBundles = new HashSet<Resource>();
+
+        // Scan plugins provided as JAR files
+        for (File jarFile : folder.listFiles(m_JARFileFilter))
+            packagedBundles.add(new FileSystemResource(jarFile));
+
+        for (Resource resource : packagedBundles) {
+            Manifest man = getManifestFromJAR(resource);
+            if (man != null)
+                addPlugin(plugins, resource, man, false);
+        }
+    }
+
+    private void addPlugin(Set<Plugin> plugins, Resource resource, Manifest man, boolean isExploded) {
+        // read the manifest
+        Attributes attrs = man.getMainAttributes();
+        String symbolicName = attrs.getValue(Constants.BUNDLE_SYMBOLICNAME);
+        
+        if (symbolicName != null)
+        {
+            symbolicName = symbolicName.replace("singleton:=true", "");
+            symbolicName = symbolicName.trim().replace(";", "");
+            
+            String version = attrs.getValue(Constants.BUNDLE_VERSION);
+            
+            if (symbolicName != null && version != null)
+                plugins.add(new Plugin(symbolicName, version, resource, isExploded));
+        }
+    }
+
+    private Resource getJARPluginResource(Plugin aPlugin) throws IOException {
+        return new FileSystemResource(aPlugin.getPath().getFile());
+    }
+
+    private Resource getExplodedPluginResource(Plugin plugin) throws IOException {
+        
+            URL url = new URL(REFERENCE_PROTOCOL, null, FILE_SCHEME + plugin.getPath().getFile().getCanonicalPath() + File.separator + "target" + File.separator + "classes");
+            
+            return new UnpackedOSGiBundleResource(url);
+    }
+
+    /**
+     * Return an Eclipse project's Manifest
+     * @param aResource an Eclipse project resource path
+     * @return The project Manifest, null if none exist
+     * @throws IOException 
+     */
+    private Manifest getManifestFromProject(Resource aResource) throws IOException {
+        
+        try {
+            for (File manifestFolder : aResource.getFile().listFiles(m_ManifestDirectoryFilter)) {
+                for (File manifestFile : manifestFolder.listFiles(m_ManifestFilter))
+                    return new Manifest(new FileInputStream(manifestFile));
+            }
+        } catch (IOException aEx) {
+            log.error("Problem reading MANIFEST.MF from resource" + aResource.getFilename());
+            throw aEx;
+        }
+        
+        return null;
+    }
+
+    /**
+     * Return an Eclipse bundle's JAR Manifest
+     * @param aResource an Eclipse JAR path
+     * @return The JAR Manifest
+     * @throws IOException 
+     */
+    private Manifest getManifestFromJAR(Resource aResource) throws IOException {
+            JarFile jar = new JarFile(aResource.getFile());
+            return jar.getManifest();
+    }
+
+    private File getEclipseWorkspace() {
+        
+        String workspaceAreaProp = System.getProperty(s_PROP_WORKSPACE_AREA, "../..");
+        
+        try {
+            System.out.println( "workspace area: " + new File(workspaceAreaProp).getCanonicalPath() );
+        } catch ( IOException e ) {
+            throw new RuntimeException("Unable to set path");
+        }
+        
+        if (workspaceAreaProp != null)
+            return new File(workspaceAreaProp);
+        else
+            return null;
+        
+    }
+
+    private File[] getEclipseTarget() {
+        
+        List<File> result = new ArrayList<File>();
+        
+        Properties props = System.getProperties();
+
+        for (Iterator<Object> iterator = props.keySet().iterator(); iterator.hasNext();) {
+            String prop = (String) iterator.next();
+            if (prop.startsWith(s_PROP_TARGET_AREA))
+            {
+                System.out.println( "target area: " + System.getProperty(prop) );
+                File f = new File(System.getProperty(prop));
+                if ( !f.isDirectory() ) {
+                    throw new IllegalStateException(s_PROP_TARGET_AREA + " not set.");
+                }                
+                result.add(f);
+            }
+        }
+        
+        if (result.isEmpty()) {
+            File f = new File( "../plugins" );
+            if ( !f.isDirectory() ) {
+                throw new IllegalStateException(s_PROP_TARGET_AREA + " not set.");
+            }
+            result.add( f );
+        }
+        
+        if (result.size() == 0)
+            throw new IllegalStateException(s_PROP_TARGET_AREA + " not set.");
+        else
+            return result.toArray(new File[]{});
+        
+    }
+    
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseWorkspaceArtifactLocator.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseWorkspaceArtifactLocator.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/EclipseWorkspaceArtifactLocator.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,89 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.test.utils;
+import java.io.IOException;
+
+import org.apache.log4j.Logger;
+import org.springframework.core.io.Resource;
+import org.springframework.osgi.test.provisioning.ArtifactLocator;
+
+/**
+ * Locator for artifacts found in the local Eclipse plugins workspace and
+ * target. Does <strong>not</strong> use Eclipse PDE, it rather
+ * uses the Eclipse patterns and conventions to identify the artifacts.
+ * 
+ * It gives priority to workspace bundle over target bundles.
+ * 
+ * @author Frederic Conrotte
+ * 
+ */
+public class EclipseWorkspaceArtifactLocator implements ArtifactLocator {
+
+    private static final Logger log = Logger
+            .getLogger(EclipseWorkspaceArtifactLocator.class);
+    
+    private EclipseArtifactFinder m_ArtifactFinder = new EclipseArtifactFinder();
+
+    /**
+     * Find an artifact in the list of bundles from current Eclipse Workspace.
+     * 
+     * @param groupId
+     *            - not used
+     * @param artifactId
+     *            - the artifact id of the bundle (required)
+     * @param version
+     *            - the version of the bundle (can be null)
+     * @return the String representing the URL location of this bundle
+     */
+    public Resource locateArtifact(String groupId, String artifactId,
+            String version) {
+        return locateArtifact(groupId, artifactId, version,
+                DEFAULT_ARTIFACT_TYPE);
+    }
+
+    public Resource locateArtifact(String groupId, String artifactId,
+            String version, String type) {
+        return localEclipseWorkspaceArtifact(artifactId, version);
+    }
+
+    /**
+     * Locate an artifact in an Eclipse Workspace
+     * 
+     * @param artifactId
+     *            - the artifact id of the bundle (required)
+     * @param version
+     *            - the version of the bundle (can be null)
+     * @return Resource corresponding to the located Eclipse bundle
+     */
+    private Resource localEclipseWorkspaceArtifact(String aArtifactId,
+            String aVersion) {
+        try {
+            Resource res = m_ArtifactFinder.findArtifact(aArtifactId, aVersion);
+            if (res != null && log.isDebugEnabled()) {
+                log.debug("[" + aArtifactId + "|" + aVersion + "] resolved to "
+                        + res.getDescription() + " as a Eclipse artifact");
+            }
+            return res;
+        } catch (IOException ioEx) {
+            throw (RuntimeException) new IllegalStateException("Artifact "
+                    + aArtifactId + "-" + aVersion + " could not be found")
+                    .initCause(ioEx);
+        }
+
+    }
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/UnpackedOSGiBundleResource.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/UnpackedOSGiBundleResource.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/UnpackedOSGiBundleResource.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,103 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.osgi.test.utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+
+import org.springframework.core.io.UrlResource;
+
+public class UnpackedOSGiBundleResource extends UrlResource {
+
+    public UnpackedOSGiBundleResource(URL aUrl) {
+        super( aUrl );             
+        // copy META-INF and build.properties
+        File file = new File( aUrl.getPath().substring( "file:///".length() ));
+
+        File targetMetaInfDir = new File( file,
+                                          "META-INF" );
+        targetMetaInfDir.mkdir();
+        File targetMetaInf = new File( targetMetaInfDir,
+                                       "MANIFEST.MF" );
+
+        File sourceMetaInfDir = new File( new File( new File( file.getParent() ).getParent() ),
+                                          "META-INF" );
+        File sourceMetaInf = new File( sourceMetaInfDir,
+                                       "MANIFEST.MF" );
+
+        copyfile( sourceMetaInf,
+                  targetMetaInf );
+        
+        File sourceBuildProperties = new File (new File( file.getParent() ).getParent(), "build.properties" );
+        File targetBuildProperties = new File (file, "build.properties" );
+        
+        copyfile( sourceBuildProperties,
+                  targetBuildProperties );        
+    }
+
+    @Override
+    public InputStream getInputStream() throws IOException {
+        return super.getURL().openStream();
+    }
+
+    private void copyfile(File f1,
+                          File f2) {
+        InputStream in = null;
+        OutputStream out = null;
+        try {            
+             in = new FileInputStream( f1 );
+
+            //For Overwrite the file.
+            out = new FileOutputStream( f2 );
+
+            byte[] buf = new byte[1024];
+            int len;
+            while ( (len = in.read( buf )) > 0 ) {
+                out.write( buf,
+                           0,
+                           len );
+            }
+
+        } catch ( FileNotFoundException ex ) {
+            throw new RuntimeException("Unable to copy file from '" + f1.getAbsolutePath() + " to " + f2.getAbsolutePath(), ex );
+        } catch ( IOException e ) {
+            throw new RuntimeException("Unable to copy file from '" + f1.getAbsolutePath() + " to " + f2.getAbsolutePath(), e );
+        } finally {
+            if ( in != null ) {
+                try {
+                    in.close();
+                } catch ( IOException e ) {
+                    throw new RuntimeException("Unable to close Input stream", e );
+                } finally {
+                    if ( out != null ) {
+                        try {
+                            out.close();
+                        } catch ( IOException e ) {
+                            throw new RuntimeException("Unable to close Input stream", e );
+                        }
+                    }                    
+                }
+            }
+        }
+    }
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Cheese.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Cheese.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Cheese.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,45 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.test;
+
+public class Cheese {
+    private String type;
+    private int    price;
+
+    public Cheese() {
+    	
+    }
+    public Cheese(final String type,
+                  final int price) {
+        super();
+        this.type = type;
+        this.price = price;
+    }
+
+    public int getPrice() {
+        return this.price;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public void setPrice(final int price) {
+        this.price = price;
+    }
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Person.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Person.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/Person.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,137 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.test;
+
+public class Person {
+    private String  name;
+    private String  likes;
+    private int     age;
+
+    private char    sex;
+
+    private boolean alive;
+
+    private String  status;
+
+    public Person() {
+
+    }
+
+    public Person(final String name) {
+        this( name,
+              "",
+              0 );
+    }
+
+    public Person(final String name,
+                  final int age) {
+        this( name,
+              "",
+              age );
+    }
+
+    public Person(final String name,
+                  final String likes) {
+        this( name,
+              likes,
+              0 );
+    }
+
+    public Person(final String name,
+                  final String likes,
+                  final int age) {
+        this.name = name;
+        this.likes = likes;
+        this.age = age;
+    }
+
+    public String getStatus() {
+        return this.status;
+    }
+
+    public void setStatus(final String status) {
+        this.status = status;
+    }
+
+    public String getLikes() {
+        return this.likes;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public int getAge() {
+        return this.age;
+    }
+
+    public boolean isAlive() {
+        return this.alive;
+    }
+
+    public void setAlive(final boolean alive) {
+        this.alive = alive;
+    }
+
+    public char getSex() {
+        return this.sex;
+    }
+
+    public void setSex(final char sex) {
+        this.sex = sex;
+    }
+
+    public String toString() {
+        return "[Person name='" + this.name + "']";
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + age;
+        result = prime * result + (alive ? 1231 : 1237);
+        result = prime * result + ((likes == null) ? 0 : likes.hashCode());
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        result = prime * result + sex;
+        result = prime * result + ((status == null) ? 0 : status.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        Person other = (Person) obj;
+        if ( age != other.age ) return false;
+        if ( alive != other.alive ) return false;
+        if ( likes == null ) {
+            if ( other.likes != null ) return false;
+        } else if ( !likes.equals( other.likes ) ) return false;
+        if ( name == null ) {
+            if ( other.name != null ) return false;
+        } else if ( !name.equals( other.name ) ) return false;
+        if ( sex != other.sex ) return false;
+        if ( status == null ) {
+            if ( other.status != null ) return false;
+        } else if ( !status.equals( other.status ) ) return false;
+        return true;
+    }
+    
+    
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/decisiontable/Dummy.java
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/decisiontable/Dummy.java	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/java/org/test/decisiontable/Dummy.java	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,21 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.test.decisiontable;
+
+public class Dummy {
+
+}

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/META-INF/persistence.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/META-INF/persistence.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/META-INF/persistence.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence       http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd    http://java.sun.com/xml/ns/persistence/orm     http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
+
+    <persistence-unit name="org.drools.persistence.jpa" transaction-type="JTA">
+        <provider>org.hibernate.ejb.HibernatePersistence</provider>
+        <jta-data-source>jdbc/testDS1</jta-data-source>        
+        <class>org.drools.persistence.session.SessionInfo</class>
+	    <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
+	    <class>org.drools.persistence.session.MyEntity</class>
+	    <class>org.drools.persistence.session.MyEntityMethods</class>
+	    <class>org.drools.persistence.session.MyEntityOnlyFields</class>
+	    <class>org.drools.persistence.processinstance.WorkItemInfo</class>
+	    <properties>
+	        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>	        
+	        <property name="hibernate.max_fetch_depth" value="3"/>
+		    <property name="hibernate.hbm2ddl.auto" value="update" />
+            <property name="hibernate.show_sql" value="false" />	
+            <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />
+	    </properties>        
+    </persistence-unit>
+</persistence>
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/boot-bundles.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/boot-bundles.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/boot-bundles.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,195 @@
+#
+# Properties file indicating the boot (or mandatory) bundles that are loaded
+# by the testing framework.
+#
+
+#
+# format: <groupId,artifactId,version>=+/-15
+# - the optional value is used to install/remove bundles if running on JDK >= 1.5
+# - see Spring org.springframework.core.JdkVersion for jdk major version codes.
+
+# elements that have to be ignored should star with
+# ignore
+
+# Note: inner placeholders are not supported. 
+
+#
+# common properties
+#
+
+
+# versioning
+ignore.drools.version=5.2.0.M1
+ignore.jbpm.version=5.0.0
+
+ignore.junit.version=4.8.1
+
+ignore.spring.version=3.0.0.RELEASE
+ignore.spring.osgi.version=1.2.1
+ignore.asm.version=2.2.3
+
+# groupIds
+ignore.spring.groupId=org.springframework
+ignore.spring.osgi.groupId=org.springframework.osgi
+
+#
+# actual libraries
+#
+
+# dependencies
+
+# Equinox Aspect bundles have to be started first
+org.aspectj,com.springsource.org.aspectj.runtime,1.6.8.RELEASE
+org.aspectj,com.springsource.org.aspectj.weaver,1.6.8.RELEASE
+
+# junit
+org.junit,com.springsource.org.junit,${ignore.junit.version}
+
+
+#commons
+org.apache.commons,com.springsource.org.apache.commons.lang,2.4.0
+org.apache.commons,com.springsource.org.apache.commons.io,1.4.0
+org.apache.commons,com.springsource.org.apache.commons.collections,3.2.1
+org.apache.commons,com.springsource.org.apache.commons.beanutils,1.8.0
+org.apache.commons,com.springsource.org.apache.commons.digester,1.8.1
+
+net.sourceforge.jexcelapi,com.springsource.jxl,2.6.6
+
+#logging
+org.apache.log4j,com.springsource.org.apache.log4j,1.2.15
+org.apache.commons,com.springsource.org.apache.commons.logging,1.1.1
+org.slf4j,com.springsource.slf4j.api,1.5.10
+org.slf4j,com.springsource.slf4j.log4j,1.5.10
+org.slf4j,com.springsource.slf4j.jcl,1.5.10
+org.jboss.logging,com.springsource.org.jboss.logging,2.0.5.GA
+
+org.jboss.util,com.springsource.org.jboss.util,2.2.13.GA
+
+# misc
+org.antlr,com.springsource.org.antlr.runtime,3.1.3
+org.antlr,com.springsource.antlr,2.7.6
+org.mvel,org.mvel2,2.1.0.RC1
+net.sf.jxls,org.drools.osgi.wrapper.jxls-reader,0.9.8
+org.apache.poi,com.springsource.org.apache.poi,3.0.2.FINAL
+
+# compilers
+#org.apache.jasper.springsource,com.springsource.org.apache.jasper.org.eclipse.jdt.springsource,6.0.20.S2-r5956
+org.eclipse.jdt.core.compiler,ecj,3.5.1
+org.codehaus.janino,com.springsource.org.codehaus.janino,2.5.15
+
+# xstream
+org.xmlpull,com.springsource.org.xmlpull,1.1.4.c
+com.thoughtworks.xstream,com.springsource.com.thoughtworks.xstream,1.3.1
+
+# xerces/xml
+org.apache.xml,com.springsource.org.apache.xml.resolver,1.2.0
+org.apache.xerces,com.springsource.org.apache.xerces,2.9.1
+org.apache.xmlcommons,com.springsource.org.apache.xmlcommons,1.3.4
+
+#javax
+javax.persistence,com.springsource.javax.persistence,1.99.0
+javax.activation,com.springsource.javax.activation,1.1.1
+javax.servlet,com.springsource.javax.servlet,2.5.0
+javax.transaction,com.springsource.javax.transaction,1.1.0
+javax.xml.stream,com.springsource.javax.xml.stream,1.0.1
+javax.xml.bind,com.springsource.javax.xml.bind,2.1.7
+javax.jms,com.springsource.javax.jms,1.1.0
+#javax.mail,com.springsource.javax.mail,1.4.0
+
+#dom4j
+org.dom4j,com.springsource.org.dom4j,1.6.1
+
+#jaxb
+com.sun.xml,com.springsource.com.sun.xml.bind,2.1.7
+com.sun.xml,com.springsource.com.sun.xml.bind.jaxb1,2.1.7
+
+com.sun.msv,com.springsource.com.sun.msv.datatype,0.0.0.20060615
+org.relaxng,com.springsource.org.relaxng.datatype,1.0.0
+net.sourceforge.iso-relax,com.springsource.org.iso_relax.verifier,0.0.0.20041111
+com.sun.xml,com.springsource.com.sun.tools.xjc,2.1.7
+com.sun.xml,com.springsource.com.sun.xml.fastinfoset,1.2.2
+org.jvnet.staxex,com.springsource.org.jvnet.staxex,1.0.0
+
+edu.oswego.cs.concurrent,com.springsource.edu.oswego.cs.dl.util.concurrent,1.3.4
+
+# aop alliance
+org.aopalliance,com.springsource.org.aopalliance,1.0.0
+# asm
+org.objectweb.asm,com.springsource.org.objectweb.asm,2.2.3
+org.objectweb.asm,com.springsource.org.objectweb.asm,1.5.3
+org.springframework,org.springframework.asm,${ignore.spring.version}
+
+org.apache.ant,com.springsource.org.apache.tools.ant,1.7.1
+
+org.freemarker,com.springsource.freemarker,2.3.15
+
+org.apache.bsf,com.springsource.org.apache.bsf,2.4.0
+org.beanshell,com.springsource.bsh,2.0.0.b4
+
+com.mchange.c3p0,com.springsource.com.mchange.v2.c3p0,0.9.1.2
+org.jboss.javassist,com.springsource.javassist,3.9.0.GA
+net.sourceforge.cglib,com.springsource.net.sf.cglib,2.2.0
+net.sourceforge.ehcache,com.springsource.net.sf.ehcache,1.6.2
+org.bouncycastle,com.springsource.org.bouncycastle.jce,1.39.0
+
+com.sleepycat.je,com.springsource.com.sleepycat.je,3.3.87
+net.sourceforge.jdbm,com.springsource.jdbm,1.0.0
+
+org.logicalcobwebs,com.springsource.org.logicalcobwebs.cglib.core,0.9.1
+org.logicalcobwebs,com.springsource.org.logicalcobwebs.proxool,0.9.1
+
+
+org.jgroups,com.springsource.org.jgroups,2.5.1
+org.jgroups,com.springsource.org.jgroups,2.2.8
+org.jboss.cache,com.springsource.org.jboss.cache,3.2.0.GA
+
+#persistence
+#org.hibernate,com.springsource.org.hibernate.annotations.common,3.3.0.ga
+#org.hibernate,com.springsource.org.hibernate.annotations,3.4.0.GA
+#org.hibernate,com.springsource.org.hibernate.ejb,3.4.0.GA
+#org.hibernate,com.springsource.org.hibernate,3.3.2.GA
+#org.hibernate,com.springsource.org.hibernate.cache,3.3.2.GA
+
+
+
+# spring libs
+${ignore.spring.groupId},org.springframework.aop,${ignore.spring.version}
+#${ignore.spring.groupId},org.springframework.aspects,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.beans,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.context,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.context.support,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.core,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.expression,${ignore.spring.version}
+#${ignore.spring.groupId},org.springframework.jdbc,${ignore.spring.version}
+#${ignore.spring.groupId},org.springframework.orm,${ignore.spring.version}
+${ignore.spring.groupId},org.springframework.test,${ignore.spring.version}
+#${ignore.spring.groupId},org.springframework.transaction,${ignore.spring.version}
+#${ignore.spring.groupId},org.springframework.web,${ignore.spring.version}
+
+#Security
+#org.springframework.security,org.springframework.security,2.0.0.A
+#org.springframework.security,org.springframework.security.annotation,2.0.0.A
+#org.samba.jcifs,com.springsource.jcifs,1.2.15
+#org.apache.commons,com.springsource.org.apache.commons.codec,1.3.0
+
+# spring osgi libs
+${ignore.spring.osgi.groupId},org.springframework.osgi.io,${ignore.spring.osgi.version}
+${ignore.spring.osgi.groupId},org.springframework.osgi.core,${ignore.spring.osgi.version}
+#${ignore.spring.osgi.groupId},org.springframework.osgi.extensions.annotation,${ignore.spring.osgi.version}=+15
+${ignore.spring.osgi.groupId},org.springframework.osgi.extender,${ignore.spring.osgi.version}
+${ignore.spring.osgi.groupId},org.springframework.osgi.test,${ignore.spring.osgi.version}
+
+
+com.h2database,com.springsource.org.h2,1.0.71
+
+org.drools,org.drools.api,${ignore.drools.version}
+org.drools,org.drools.core,${ignore.drools.version}
+org.jbpm,jbpm-flow,${ignore.jbpm.version}
+org.drools,org.drools.compiler,${ignore.drools.version}
+org.jbpm,jbpm-flow-builder,${ignore.jbpm.version}
+org.drools,org.drools.templates,${ignore.drools.version}
+org.drools,org.drools.decisiontables,${ignore.drools.version}
+org.jbpm,jbpm-bpmn2,${ignore.jbpm.version}
+#org.drools,org.drools.persistence-jpa,${ignore.drools.version}
+
+

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/jndi.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/jndi.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/jndi.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1 @@
+java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/log4j.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/log4j.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/log4j.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,8 @@
+log4j.rootCategory=DEBUG, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout.ConversionPattern=%t %p [%c] - %m%n
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.threshold=TRACE
+
+#log4j.logger.org.springframework.osgi=DEBUG
+#log4j.logger.org.springframework=DEBUG
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/integrationtests/BPMN2-MinimalProcess.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/integrationtests/BPMN2-MinimalProcess.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/drools/osgi/integrationtests/BPMN2-MinimalProcess.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions id="Definition"
+             targetNamespace="http://www.example.org/MinimalExample"
+             typeLanguage="http://www.java.com/javaTypes"
+             expressionLanguage="http://www.mvel.org/2.0"
+             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
+             xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+             xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
+             xmlns:tns="http://www.example.org/MinimalExample">
+
+  <process id="Minimal" name="Minimal Process" processType="executable" tns:packageName="com.sample">
+    <startEvent id="_1" name="StartProcess"/>
+    <sequenceFlow sourceRef="_1" targetRef="_2"/>
+    <scriptTask id="_2" name="Hello">
+      <script>System.out.println("Hello World");</script>
+    </scriptTask>
+    <sequenceFlow sourceRef="_2" targetRef="_3"/>
+    <endEvent id="_3" name="EndProcess">
+      <terminateEventDefinition/>
+    </endEvent>
+  </process>
+</definitions>

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/IntegrationExampleTest.xls
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/IntegrationExampleTest.xls
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.drl
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.drl	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.drl	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.test
+
+global java.util.List list;
+
+rule "rule1"
+	salience 10
+when
+then
+    list.add( "rule1" );
+end
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset1Test.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,11 @@
+<change-set xmlns='http://drools.org/drools-5.0/change-set'
+            xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
+            xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >
+    <add>
+	    <resource source='classpath:org/test/decisiontable/changeset1Test.drl' type='DRL' />
+	    <resource source='classpath:org/test/decisiontable/IntegrationExampleTest.xls' type="DTABLE">
+	        <decisiontable-conf input-type="XLS" worksheet-name="Tables_2" />
+	    </resource>
+	    <resource source='classpath:org/test/decisiontable/changeset2Test.drl' type='DRL' />
+    </add>
+</change-set>

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset2Test.drl
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset2Test.drl	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.test/src/test/resources/org/test/decisiontable/changeset2Test.drl	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.test
+
+global java.util.List list;
+
+rule "rule2"
+	salience 5
+when
+then
+    list.add( "rule2" );
+end
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/.gitignore
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/.gitignore	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/.gitignore	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,10 @@
+/target
+/local
+
+# Eclipse, Netbeans and IntelliJ files
+/.*
+!.gitignore
+/nbproject
+/*.ipr
+/*.iws
+/*.iml

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/META-INF/MANIFEST.MF	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JXLS Reader
+Bundle-SymbolicName: org.drools.osgi.wrapper.jxls-reader
+Bundle-Version: 0.9.8
+Bundle-Vendor: JBoss
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ClassPath: lib/commons-jexl.jar,
+ .
+Export-Package: 
+ net.sf.jxls.reader
+Require-Bundle: com.springsource.org.apache.commons.collections;bundle-version="3.2.0",
+ com.springsource.org.apache.poi;bundle-version="3.0.2",
+ com.springsource.org.apache.commons.beanutils;bundle-version="1.8.0",
+ com.springsource.org.apache.commons.digester;bundle-version="1.8.1"
+Import-Package: org.apache.commons.logging,
+ org.apache.log4j 
+DynamicImport-Package: *
+

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/build.properties
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/build.properties	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/build.properties	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,14 @@
+src.includes = .,\
+               build.properties,\
+               META-INF/,\
+               src/,\
+               pom.xml,\
+               lib/
+bin.includes = .,\
+               META-INF/,\
+               build.properties,\
+               lib/
+source.. = src/main/java/,\
+           src/main/resources/
+output.. = target/classes/     
+jars.compile.order = .          

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/lib/.gitignore
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/lib/.gitignore	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/lib/.gitignore	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,2 @@
+/*.jar
+/*.war

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/maven-eclipse.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/maven-eclipse.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/maven-eclipse.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,11 @@
+<project default="copy-resources">
+  <target name="init"/>
+  <target name="copy-resources" depends="init">
+    <copy todir="target/classes/META-INF" filtering="false">
+      <fileset dir="META-INF" includes="" excludes="**/*.java"/>
+    </copy>
+    <copy todir="target/classes/lib" filtering="false">
+      <fileset dir="lib" includes="*.jar" excludes="**/*.java"/>
+    </copy>
+  </target>
+</project>
\ No newline at end of file

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/pom.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/pom.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/org.drools.osgi.wrapper.jxls-reader/pom.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,147 @@
+<?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/maven-v4_0_0.xsd">
+
+  <parent>
+    <groupId>org.drools</groupId>
+    <artifactId>drools</artifactId>
+    <version>5.2.0.M1</version>
+    <relativePath>../../pom.xml</relativePath>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.drools.osgi.wrapper.jxls-reader</artifactId>
+  <version>0.9.8</version>
+  <packaging>jar</packaging>
+
+  <name>Drools :: OSGi :: Wrapper :: jxls-reader</name>
+  <build>
+    <plugins>
+
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <inherited>false</inherited>
+        <executions>
+          <execution>
+            <id>clean lib</id>
+            <phase>clean</phase>
+            <configuration>
+              <tasks>
+                <delete>
+                  <fileset dir="lib" includes="**/*.jar" excludes="**/.svn"/>
+                </delete>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-tran-dependencies</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>lib</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+              <stripVersion>true</stripVersion>
+              <includeScope>runtime</includeScope>
+              <excludeGroupIds>net.sf.jxls</excludeGroupIds>
+            </configuration>
+          </execution>
+
+          <execution>
+            <id>unpack-dependency</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>target/classes</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+              <stripVersion>true</stripVersion>
+              <includeScope>runtime</includeScope>
+              <includeGroupIds>net.sf.jxls</includeGroupIds>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-deploy-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+
+    <resources>
+      <resource>
+        <targetPath>META-INF</targetPath>
+        <directory>META-INF</directory>
+      </resource>
+      <resource>
+        <targetPath>lib</targetPath>
+        <directory>lib</directory>
+        <includes>
+          <include>*.jar</include>
+        </includes>
+      </resource>
+    </resources>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>net.sf.jxls</groupId>
+      <artifactId>jxls-reader</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-collections</groupId>
+          <artifactId>commons-collections</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-beanutils</groupId>
+          <artifactId>commons-beanutils</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-digester</groupId>
+          <artifactId>commons-digester</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.poi</groupId>
+          <artifactId>poi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+</project>

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/.gitignore
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/.gitignore	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/.gitignore	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,3 @@
+/*.jar
+!com.springsource.org.jgroups-2.2.8.jar
+!com.springsource.org.objectweb.asm-1.5.3.jar

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.jgroups-2.2.8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.jgroups-2.2.8.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.objectweb.asm-1.5.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/plugins/com.springsource.org.objectweb.asm-1.5.3.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/tags/5.2.0.M1/osgi-bundles/pom.xml
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/osgi-bundles/pom.xml	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/osgi-bundles/pom.xml	2011-02-24 18:01:43 UTC (rev 36722)
@@ -0,0 +1,638 @@
+<?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/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.drools</groupId>
+    <artifactId>drools</artifactId>
+    <version>5.2.0.M1</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>osgi-bundles</artifactId>
+  <packaging>pom</packaging>
+  <name>Drools :: OSGi bundles</name>
+  
+  <repositories>
+    <repository>  
+      <id>com.springsource.repository.bundles.release</id>  
+      <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name> 
+      <url>http://repository.springsource.com/maven/bundles/release</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>com.springsource.repository.bundles.external</id>
+      <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>  
+      <url>http://repository.springsource.com/maven/bundles/external</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>   
+  </repositories>
+  
+  <properties>
+    <slf4j.version>1.5.10</slf4j.version>
+    <spring.maven.artifact.version>3.0.0.RELEASE</spring.maven.artifact.version>
+    <spring.osgi.version>1.2.1</spring.osgi.version>
+    <equinox.ver>3.5.1</equinox.ver>
+  </properties>
+
+  <modules>
+    <module>org.drools.osgi.wrapper.jxls-reader</module>
+    <module>org.drools.osgi.test</module>
+  </modules>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <inherited>false</inherited>
+        <executions>
+          <execution>
+            <id>clean plugins</id>
+            <phase>clean</phase>
+            <configuration>
+              <tasks>
+                <delete>
+                  <fileset dir="plugins" includes="**/*.jar" excludes="com.springsource.org.jgroups-2.2.8.jar, com.springsource.org.objectweb.asm-1.5.3.jar, **/.gitignore"/>
+                </delete>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <inherited>false</inherited>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>plugins</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+              <stripVersion>false</stripVersion>
+              <includeScope>runtime</includeScope>
+              <excludeTransitive>true</excludeTransitive>
+            </configuration>
+          </execution>
+
+          <!-- This copy won't work in hudson, so committing jars for now
+          <execution>
+            <id>copy earlier version of asm</id>
+            <phase>generate-resources</phase>
+            <goals>
+               <goal>copy</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>  
+                  <groupId>org.objectweb.asm</groupId>
+                  <artifactId>com.springsource.org.objectweb.asm</artifactId>
+                  <version>1.5.3</version>
+                  <type>jar</type>
+                  overWrite>true</overWrite>
+                </artifactItem>
+                <artifactItem>
+                  <groupId>org.jgroups</groupId>
+                  <artifactId>com.springsource.org.jgroups</artifactId>
+                  <version>2.2.8</version>
+                  <type>jar</type>
+                  <overWrite>true</overWrite>
+                </artifactItem>
+              </artifactItems>
+              <outputDirectory>plugins</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+            </configuration>
+          </execution-->
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-deploy-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <!-- wrapped -->
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>org.drools.osgi.wrapper.jxls-reader</artifactId>
+      <version>0.9.8</version>
+      <exclusions>
+        <exclusion>
+          <groupId>net.sf.jxls</groupId>
+          <artifactId>jxls-reader</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- spring -->
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.beans</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.core</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.aop</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.aspects</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.context</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.context.support</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.expression</artifactId>
+      <version>3.0.0.RELEASE</version>
+    </dependency>
+
+
+    <dependency>
+      <groupId>net.sourceforge.jexcelapi</groupId>
+      <artifactId>com.springsource.jxl</artifactId>
+      <version>2.6.6</version>
+    </dependency>
+    <dependency>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>com.springsource.com.thoughtworks.xstream</artifactId>
+      <version>1.3.1</version>
+    </dependency>
+    <dependency>
+       <groupId>org.mvel</groupId>
+       <artifactId>mvel2</artifactId>
+       <version>${mvel.dep.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.joda</groupId>
+      <artifactId>com.springsource.org.joda.time</artifactId>
+      <version>1.6.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.antlr</groupId>
+      <artifactId>com.springsource.org.antlr.runtime</artifactId>
+      <version>3.1.3</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.antlr</groupId>
+          <artifactId>org.antlr.stringtemplate</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.antlr</groupId>
+      <artifactId>com.springsource.org.antlr</artifactId>
+      <version>3.1.3</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.antlr</groupId>
+          <artifactId>com.springsource.org.antlr.stringtemplate</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.maven</groupId>
+          <artifactId>maven-project</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+
+    <dependency>
+      <groupId>org.antlr</groupId>
+      <artifactId>com.springsource.antlr</artifactId>
+      <version>2.7.6</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.eclipse.jdt.core.compiler</groupId>
+      <artifactId>ecj</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.janino</groupId>
+      <artifactId>com.springsource.org.codehaus.janino</artifactId>
+      <version>2.5.15</version>
+    </dependency>
+
+    <!-- XML -->
+    <dependency>
+      <groupId>javax.xml.stream</groupId>
+      <artifactId>com.springsource.javax.xml.stream</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xml</groupId>
+      <artifactId>com.springsource.org.apache.xml.resolver</artifactId>
+      <version>1.2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xerces</groupId>
+      <artifactId>com.springsource.org.apache.xerces</artifactId>
+      <version>2.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlcommons</groupId>
+      <artifactId>com.springsource.org.apache.xmlcommons</artifactId>
+      <version>1.3.4</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml</groupId>
+      <artifactId>com.springsource.com.sun.xml.bind</artifactId>
+      <version>2.1.7</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>com.springsource.javax.xml.bind</artifactId>
+      <version>2.1.7</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml</groupId>
+      <artifactId>com.springsource.com.sun.xml.bind.jaxb1</artifactId>
+      <version>2.1.7</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.msv</groupId>
+      <artifactId>com.springsource.com.sun.msv.datatype</artifactId>
+      <version>0.0.0.20060615</version>
+    </dependency>
+    <dependency>
+      <groupId>org.relaxng</groupId>
+      <artifactId>com.springsource.org.relaxng.datatype</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.iso-relax</groupId>
+      <artifactId>com.springsource.org.iso_relax.verifier</artifactId>
+      <version>0.0.0.20041111</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml</groupId>
+      <artifactId>com.springsource.com.sun.tools.xjc</artifactId>
+      <version>2.1.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.dom4j</groupId>
+      <artifactId>com.springsource.org.dom4j</artifactId>
+      <version>1.6.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.xmlpull</groupId>
+      <artifactId>com.springsource.org.xmlpull</artifactId>
+      <version>1.1.4.c</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml</groupId>
+      <artifactId>com.springsource.com.sun.xml.fastinfoset</artifactId>
+      <version>1.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jvnet.staxex</groupId>
+      <artifactId>com.springsource.org.jvnet.staxex</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.log4j</groupId>
+      <artifactId>com.springsource.org.apache.log4j</artifactId>
+      <version>1.2.15</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.logging</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>com.springsource.slf4j.api</artifactId>
+      <version>${slf4j.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>com.springsource.slf4j.log4j</artifactId>
+      <version>${slf4j.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>com.springsource.slf4j.jcl</artifactId>
+      <version>${slf4j.version}</version>
+    </dependency>
+
+    <!--dependency>
+       <groupId>org.slf4j</groupId>
+       <artifactId>com.springsource.slf4j.juli</artifactId>
+       <version>1.5.10</version>
+    </dependency-->
+
+
+    <!-- Apache Commons -->
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.lang</artifactId>
+      <version>2.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.io</artifactId>
+      <version>1.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.digester</artifactId>
+      <version>1.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.beanutils</artifactId>
+      <version>1.8.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>com.springsource.org.apache.commons.collections</artifactId>
+      <version>3.2.1</version>
+    </dependency>
+
+    <!-- Misc -->
+    <dependency>
+      <groupId>com.opensymphony.quartz</groupId>
+      <artifactId>com.springsource.org.quartz</artifactId>
+      <version>1.6.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.poi</groupId>
+      <artifactId>com.springsource.org.apache.poi</artifactId>
+      <version>3.0.2.FINAL</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.jms</groupId>
+      <artifactId>com.springsource.javax.jms</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.freemarker</groupId>
+      <artifactId>com.springsource.freemarker</artifactId>
+      <version>2.3.15</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.javassist</groupId>
+      <artifactId>com.springsource.javassist</artifactId>
+      <version>3.9.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>com.springsource.javax.activation</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.aopalliance</groupId>
+      <artifactId>com.springsource.org.aopalliance</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>com.springsource.org.aspectj.runtime</artifactId>
+      <version>1.6.8.RELEASE</version>
+    </dependency>
+    <dependency>
+      <groupId>org.aspectj</groupId>
+      <artifactId>com.springsource.org.aspectj.weaver</artifactId>
+      <version>1.6.8.RELEASE</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jgroups</groupId>
+      <artifactId>com.springsource.org.jgroups</artifactId>
+      <version>2.5.1</version>
+    </dependency>
+    <dependency>
+      <groupId>edu.oswego.cs.concurrent</groupId>
+      <artifactId>com.springsource.edu.oswego.cs.dl.util.concurrent</artifactId>
+      <version>1.3.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.cache</groupId>
+      <artifactId>com.springsource.org.jboss.cache</artifactId>
+      <version>3.2.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>com.springsource.org.apache.tools.ant</artifactId>
+      <version>1.7.1</version>
+    </dependency>
+    <!--dependency>  <groupId>com.opensymphony.oscache</groupId>  <artifactId>com.springsource.com.opensymphony.oscache</artifactId>  <version>2.4.1</version> </dependency-->
+    <dependency>
+      <groupId>com.mchange.c3p0</groupId>
+      <artifactId>com.springsource.com.mchange.v2.c3p0</artifactId>
+      <version>0.9.1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.logicalcobwebs</groupId>
+      <artifactId>com.springsource.org.logicalcobwebs.proxool</artifactId>
+      <version>0.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.logicalcobwebs</groupId>
+      <artifactId>com.springsource.org.logicalcobwebs.cglib.core</artifactId>
+      <version>0.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.cglib</groupId>
+      <artifactId>com.springsource.net.sf.cglib</artifactId>
+      <version>2.2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.beanshell</groupId>
+      <artifactId>com.springsource.bsh</artifactId>
+      <version>2.0.0.b4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>com.springsource.org.bouncycastle.jce</artifactId>
+      <version>1.39.0</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.jdbm</groupId>
+      <artifactId>com.springsource.jdbm</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>com.sleepycat.je</groupId>
+      <artifactId>com.springsource.com.sleepycat.je</artifactId>
+      <version>3.3.87</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.bsf</groupId>
+      <artifactId>com.springsource.org.apache.bsf</artifactId>
+      <version>2.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>com.springsource.javax.servlet</artifactId>
+      <version>2.5.0</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.ehcache</groupId>
+      <artifactId>com.springsource.net.sf.ehcache</artifactId>
+      <version>1.6.2</version>
+    </dependency>
+
+
+    <!-- Persistence -->
+    <dependency>
+      <groupId>javax.persistence</groupId>
+      <artifactId>com.springsource.javax.persistence</artifactId>
+      <version>1.99.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.transaction</groupId>
+      <artifactId>com.springsource.javax.transaction</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>com.springsource.org.hibernate</artifactId>
+      <version>3.3.2.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>com.springsource.org.hibernate.ejb</artifactId>
+      <version>3.4.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>com.springsource.org.hibernate.annotations</artifactId>
+      <version>3.4.0.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>com.springsource.org.hibernate.annotations.common</artifactId>
+      <version>3.3.0.ga</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>com.springsource.org.hibernate.cache</artifactId>
+      <version>3.3.2.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.util</groupId>
+      <artifactId>com.springsource.org.jboss.util</artifactId>
+      <version>2.2.13.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>com.springsource.org.jboss.logging</artifactId>
+      <version>2.0.5.GA</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>com.springsource.org.h2</artifactId>
+      <version>1.0.71</version>
+    </dependency>
+
+    <!-- Test Scoped -->
+    <!-- Equinox OSGi platform -->
+    <dependency>
+      <groupId>org.eclipse.equinox</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+      <version>${equinox.ver}</version>
+      <type>jar</type>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.eclipse.equinox</groupId>
+      <artifactId>org.eclipse.osgi.services</artifactId>
+      <version>${equinox.ver}</version>
+      <type>jar</type>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.junit</groupId>
+      <artifactId>com.springsource.org.junit</artifactId>
+      <version>4.8.1</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>org.springframework.test</artifactId>
+      <version>${spring.maven.artifact.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>org.springframework.osgi.test</artifactId>
+      <version>${spring.osgi.version}</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.junit</groupId>
+          <artifactId>com.springsource.junit</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>org.springframework.osgi.extensions.annotation</artifactId>
+      <version>${spring.osgi.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>org.springframework.osgi.extender</artifactId>
+      <version>${spring.osgi.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.objectweb.asm</groupId>
+      <artifactId>com.springsource.org.objectweb.asm</artifactId>
+      <version>2.2.3</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>



More information about the jboss-svn-commits mailing list