[jboss-svn-commits] JBL Code SVN: r33116 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid-local and 38 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 27 09:28:57 EDT 2010
Author: salaboy21
Date: 2010-05-27 09:28:51 -0400 (Thu, 27 May 2010)
New Revision: 33116
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/resources/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/ExecutionNodeBase.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/LocalExecutionNodeTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/resources/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/ProcessInstanceRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkItemManagerRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkItemManagerCommand.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/StartProcessRemoteCommand.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/test/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/test/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/test/java/org/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/ClientGenericMessageReceiverImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoWriter.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/resources/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/GenericEventTransport.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskFactoryService.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskClientMessageHandlerImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerMessageHandlerImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/eventmessaging/EventMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddAttachmentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddCommentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddTaskMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteAttachmentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteCommentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingEventMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetContentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetTaskMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingSetContentMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskOperationMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskSummaryMessageResponseHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml
Log:
moving everything and refactoring apis
Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local
___________________________________________________________________
Name: svn:ignore
+ target
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/pom.xml (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>drools-grid</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.SNAPSHOT</version>
+ </parent>
+
+ <artifactId>drools-grid-local</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <name>Drools :: Grid :: Local Impl</name>
+
+ <dependencies>
+
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-api</artifactId>
+ <type>jar</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <type>jar</type>
+ </dependency>
+
+
+
+ <!-- Test deps -->
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-persistence-jpa</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <scope>test</scope>
+ <type>jar</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.btm</groupId>
+ <artifactId>btm</artifactId>
+ <version>1.3.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.btm</groupId>
+ <artifactId>btm</artifactId>
+ <version>1.3.3</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- Persistence Provider: Hibernate -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.1.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.0.SP1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- DB H2 -->
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.2.128</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- logging -->
+
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.10</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+</project>
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/ExecutionNodeBase.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/test/java/org/drools/grid/ExecutionNodeBaseTest.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/ExecutionNodeBase.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/ExecutionNodeBase.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid;
+
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+/**
+ *
+ * @author salaboy
+ */
+
+public abstract class ExecutionNodeBase {
+
+ protected ExecutionNode node;
+
+
+
+ public ExecutionNodeBase() {
+
+ }
+
+
+ @Test
+ public void fireAllRules(){
+
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+
+ KnowledgeBuilder kbuilder =
+ node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase =
+ node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ Assert.assertNotNull(ksession);
+
+ int fired = ksession.fireAllRules();
+ Assert.assertEquals( 2, fired );
+
+
+ }
+ @Test
+ public void testExecute() throws Exception {
+
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ ExecutionResults results = ksession.execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2,
+ (int) (Integer) results.getValue( "fired" ) );
+ }
+ @Test
+ public void testNamedService() throws Exception {
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ node.get(DirectoryLookupFactoryService.class).register( "ksession1",
+ ksession );
+
+ ExecutionResults results = node.get(DirectoryLookupFactoryService.class).lookup( "ksession1" ).execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2,
+ (int) (Integer) results.getValue( "fired" ) );
+ }
+ @Test
+ public void testVsmPipeline() throws Exception {
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ node.get(DirectoryLookupFactoryService.class).register( "ksession1",
+ ksession );
+
+ ExecutionResults results = node.get(DirectoryLookupFactoryService.class).lookup( "ksession1" ).execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2, (int ) ( Integer) results.getValue( "fired" ) );
+ }
+
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/LocalExecutionNodeTest.java (from rev 32892, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/test/java/org/drools/grid/LocalExecutionNodeTest.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/LocalExecutionNodeTest.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/test/java/org/drools/grid/LocalExecutionNodeTest.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid;
+
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import junit.framework.Assert;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.base.MapGlobalResolver;
+import org.drools.builder.JPAKnowledgeFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.grid.local.LocalConnection;
+import org.drools.io.ResourceFactory;
+import org.drools.persistence.jpa.grid.JPAKnowledgeProviderLocalClient;
+import org.drools.runtime.Environment;
+import org.drools.runtime.EnvironmentName;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ * @author salaboy
+ */
+public class LocalExecutionNodeTest extends ExecutionNodeBase{
+
+ private static EntityManagerFactory entityManagerFactory;
+ private static PoolingDataSource dataSource;
+ private GenericConnection connection;
+ public LocalExecutionNodeTest() {
+ }
+
+ @BeforeClass
+ public static void initializeEntityManager() {
+ System.out.println("Initializing Entity Manager");
+ entityManagerFactory = Persistence.createEntityManagerFactory("org.drools.persistence.jpa");
+ }
+
+ @BeforeClass
+ public static void initializeDataSource() {
+ System.out.println("Initializing Datasource");
+ dataSource = new PoolingDataSource();
+ dataSource.setUniqueName( "jdbc/testDS1" );
+ dataSource.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+ dataSource.setMaxPoolSize( 3 );
+ dataSource.setAllowLocalTransactions( true );
+ dataSource.getDriverProperties().put( "user",
+ "sa" );
+ dataSource.getDriverProperties().put( "password",
+ "sasa" );
+ dataSource.getDriverProperties().put( "URL",
+ "jdbc:h2:mem:mydb" );
+ dataSource.init();
+ }
+
+ @Before
+ public void configureNode() {
+
+ connection = new LocalConnection();
+ node = connection.getExecutionNode();
+ node.set(JPAKnowledgeFactoryService.class, new JPAKnowledgeProviderLocalClient());
+ }
+
+ private Environment newEnvironment() {
+ Environment environment = KnowledgeBaseFactory.newEnvironment();
+ environment.set(EnvironmentName.ENTITY_MANAGER_FACTORY, entityManagerFactory);
+ environment.set(EnvironmentName.GLOBALS, new MapGlobalResolver());
+ environment.set(EnvironmentName.TRANSACTION_MANAGER, TransactionManagerServices.getTransactionManager());
+
+ return environment;
+ }
+
+ @Test
+ public void persistenceTest(){
+ Environment env = newEnvironment();
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+
+ KnowledgeBuilder kbuilder =
+ node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase =
+ node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+
+ StatefulKnowledgeSession ksession = node
+ .get(JPAKnowledgeFactoryService.class)
+ .newStatefulKnowledgeSession(kbase, null, env);
+
+ Assert.assertNotNull(ksession);
+
+ }
+
+
+
+}
\ No newline at end of file
Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api
___________________________________________________________________
Name: svn:ignore
+ target
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/pom.xml (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>drools-grid</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.SNAPSHOT</version>
+ </parent>
+
+ <artifactId>drools-grid-remote-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <name>Drools :: Grid :: Remote API</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- Drools Runtime -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-api</artifactId>
+ </dependency>
+
+
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+</project>
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+package org.drools.grid.remote;
+
+import java.rmi.RemoteException;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.runtime.CommandExecutor;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.grid.internal.commands.LookupCommand;
+import org.drools.grid.internal.commands.RegisterCommand;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DirectoryLookupProviderRemoteClient implements DirectoryLookupFactoryService {
+
+
+ private GenericNodeConnector client;
+ private GenericConnection connection;
+ private MessageSession messageSession;
+
+ public DirectoryLookupProviderRemoteClient(GenericNodeConnector client, GenericConnection connection) {
+ this.client = client;
+ this.messageSession = new MessageSession();
+ this.connection = connection;
+ }
+
+ public void register(String identifier,
+ CommandExecutor executor) {
+ try {
+ String commandId = "client.lookup" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ int type;
+ if (executor instanceof StatefulKnowledgeSession) {
+ type = 0;
+ } else {
+ throw new IllegalArgumentException("Type is not supported for registration");
+ }
+ Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new RegisterCommand(identifier, ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type), null, null, null, null));
+
+
+ //System.out.println("Registering " + identifier + " - - " + client.getId());
+ connection.getDirectoryNode(null).register(identifier, client.getId());
+ try {
+ Object object = client.write(msg).getPayload();
+ if (!(object instanceof FinishedCommand)) {
+ throw new RuntimeException("Response was not correctly ended");
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to execute message", e);
+ }
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ }
+
+ public CommandExecutor lookup(String identifier) {
+
+ try {
+ String commandId = "client.lookup" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new LookupCommand(identifier, commandId), null, null, null, kresultsId));
+ //System.out.println("Looking up the session with identifier = " + identifier);
+ client = connection.getDirectoryNode(null).lookup(identifier);
+ try {
+ Object object = client.write(msg).getPayload();
+ if (object == null) {
+ throw new RuntimeException("Response was not correctly received");
+ }
+ String value = (String) ((ExecutionResults) object).getValue(commandId);
+ String type = String.valueOf(value.charAt(0));
+ String instanceId = value.substring(2);
+ CommandExecutor executor = null;
+ switch (Integer.parseInt(type)) {
+ case 0: {
+ executor = new StatefulKnowledgeSessionRemoteClient(instanceId, client, messageSession);
+ break;
+ }
+ default: {
+ }
+ }
+ return executor;
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to execute message", e);
+ }
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return null;
+ }
+
+ public Map<String, Map<String, String>> getDirectoryMap() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,98 @@
+package org.drools.grid.remote;
+
+import java.util.Properties;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseConfiguration;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.command.FinishedCommand;
+import org.drools.command.NewKnowledgeBaseCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+public class KnowledgeBaseProviderRemoteClient
+ implements
+ KnowledgeBaseFactoryService {
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ public KnowledgeBaseProviderRemoteClient(GenericNodeConnector client) {
+ this.client = client;
+ this.messageSession = new MessageSession();
+ }
+
+ public Environment newEnvironment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase() {
+ return newKnowledgeBase( ( KnowledgeBaseConfiguration ) null );
+ }
+
+ public KnowledgeBase newKnowledgeBase(KnowledgeBaseConfiguration conf) {
+
+
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new NewKnowledgeBaseCommand( null ) ) );
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ return new KnowledgeBaseRemoteClient( localId,
+ client, messageSession );
+
+ }
+
+ public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
+ ClassLoader classLoader) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeSessionConfiguration newKnowledgeSessionConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeSessionConfiguration newKnowledgeSessionConfiguration(Properties properties) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase(String kbaseId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase(String kbaseId,
+ KnowledgeBaseConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,178 @@
+package org.drools.grid.remote;
+
+import java.util.Collection;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeBaseAddKnowledgePackagesCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.NewStatefulKnowledgeSessionCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.definition.KnowledgePackage;
+import org.drools.definition.process.Process;
+import org.drools.definition.rule.Rule;
+import org.drools.definition.type.FactType;
+import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
+import org.drools.grid.internal.CollectionClient;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+public class KnowledgeBaseRemoteClient
+ implements
+ KnowledgeBase {
+
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ private String instanceId;
+
+ public KnowledgeBaseRemoteClient(String instanceId,
+ GenericNodeConnector client, MessageSession messageSession) {
+ this.instanceId = instanceId;
+ this.client = client;
+ this.messageSession = messageSession;
+ }
+
+ public void addKnowledgePackages(Collection<KnowledgePackage> kpackages) {
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ String kuilderInstanceId = ((CollectionClient<KnowledgePackage>) kpackages).getParentInstanceId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBaseAddKnowledgePackagesCommand(),
+ kuilderInstanceId,
+ instanceId,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public FactType getFactType(String packageName,
+ String typeName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgePackage getKnowledgePackage(String packageName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<KnowledgePackage> getKnowledgePackages() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Process getProcess(String processId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Rule getRule(String packageName,
+ String ruleName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public StatefulKnowledgeSession newStatefulKnowledgeSession() {
+ return newStatefulKnowledgeSession( null,
+ null );
+ }
+
+ public StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeSessionConfiguration conf,
+ Environment environment) {
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new KnowledgeContextResolveFromContextCommand( new NewStatefulKnowledgeSessionCommand( null ),
+ null,
+ instanceId,
+ null,
+ kresultsId ) ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ return new StatefulKnowledgeSessionRemoteClient( localId,
+ client, messageSession );
+ }
+
+ public StatelessKnowledgeSession newStatelessKnowledgeSession(KnowledgeSessionConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public StatelessKnowledgeSession newStatelessKnowledgeSession() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeKnowledgePackage(String packageName) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeProcess(String processId) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeRule(String packageName,
+ String ruleName) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(KnowledgeBaseEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<KnowledgeBaseEventListener> getKnowledgeBaseEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(KnowledgeBaseEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeFunction(String packageName, String ruleName) {
+ // TODO Auto-generated method stub
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,91 @@
+/**
+ *
+ */
+package org.drools.grid.remote;
+
+import java.util.Properties;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.command.FinishedCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.command.builder.NewKnowledgeBuilderCommand;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+public class KnowledgeBuilderProviderRemoteClient
+ implements
+ KnowledgeBuilderFactoryService {
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ public KnowledgeBuilderProviderRemoteClient(GenericNodeConnector client) {
+
+ this.messageSession = new MessageSession();
+ this.client = client;
+
+ }
+
+ public DecisionTableConfiguration newDecisionTableConfiguration() {
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder() {
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new NewKnowledgeBuilderCommand( null ) ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ return new KnowledgeBuilderRemoteClient( localId,
+ client, messageSession );
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
+ KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
+ ClassLoader classLoader) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/KnowledgeBuilderRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBuilderRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,142 @@
+package org.drools.grid.remote;
+
+import java.util.Collection;
+
+import org.drools.KnowledgeBase;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.ResourceConfiguration;
+import org.drools.builder.ResourceType;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.builder.KnowledgeBuilderAddCommand;
+import org.drools.command.builder.KnowledgeBuilderGetErrorsCommand;
+import org.drools.command.builder.KnowledgeBuilderHasErrorsCommand;
+import org.drools.definition.KnowledgePackage;
+import org.drools.io.Resource;
+import org.drools.runtime.ExecutionResults;
+import org.drools.grid.internal.CollectionClient;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+public class KnowledgeBuilderRemoteClient
+ implements
+ KnowledgeBuilder {
+
+ private String instanceId;
+ private final GenericNodeConnector client;
+ private final MessageSession messageSession;
+
+ public KnowledgeBuilderRemoteClient(String instanceId,
+ GenericNodeConnector client, MessageSession messageSession) {
+ this.instanceId = instanceId;
+ this.client = client;
+ this.messageSession = messageSession;
+ }
+
+ public void add(Resource resource,
+ ResourceType resourceType) {
+ add( resource,
+ resourceType,
+ null );
+ }
+
+ public void add(Resource resource,
+ ResourceType resourceType,
+ ResourceConfiguration configuration) {
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderAddCommand( resource,
+ resourceType,
+ configuration ),
+ instanceId,
+ null,
+ null,
+ null ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ }
+
+ public KnowledgeBuilderErrors getErrors() {
+ String commandId = "kbuilder.getErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderGetErrorsCommand( commandId ),
+ instanceId,
+ null,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (KnowledgeBuilderErrors) ((ExecutionResults) object).getValue( commandId );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ }
+
+ public Collection<KnowledgePackage> getKnowledgePackages() {
+ return new CollectionClient<KnowledgePackage>( this.instanceId );
+ }
+
+ public boolean hasErrors() {
+ String commandId = "kbuilder.hasErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.getNextId(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderHasErrorsCommand( commandId ),
+ instanceId,
+ null,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (Boolean) ((ExecutionResults) object).getValue( commandId );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+
+
+ }
+
+ public KnowledgeBase newKnowledgeBase() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/ProcessInstanceRemoteClient.java (from rev 32892, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/ProcessInstanceRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/ProcessInstanceRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/ProcessInstanceRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid.remote;
+
+import java.io.Serializable;
+import org.drools.runtime.process.ProcessInstance;
+
+/**
+ *
+ * @author salaboy
+ */
+public class ProcessInstanceRemoteClient implements ProcessInstance, Serializable {
+
+ private String processId;
+ private long id;
+ private String processName;
+ private int state;
+ private String[] eventTypes;
+ public ProcessInstanceRemoteClient() {
+ }
+
+ public ProcessInstanceRemoteClient(long id, String processId, String processName, int state) {
+ this.processId = processId;
+ this.id = id;
+ this.processName = processName;
+ this.state = state;
+ }
+
+
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public String getProcessName() {
+ return processName;
+ }
+
+ public int getState() {
+ return state;
+ }
+
+ public void signalEvent(String type, Object event) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public String[] getEventTypes() {
+ return eventTypes;
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/RemoteConnection.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+package org.drools.grid.remote;
+
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
+import org.drools.grid.strategies.NodeSelectionStrategy;
+
+import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteConnection implements GenericConnection {
+ //Cached Services
+
+ private List<GenericNodeConnector> nodeConnectors;
+ //Cached Directories
+ private List<DirectoryNodeService> directories;
+
+ public RemoteConnection() {
+ this.nodeConnectors = new ArrayList<GenericNodeConnector>();
+ this.directories = new ArrayList<DirectoryNodeService>();
+ }
+
+ public void addNodeConnector(GenericNodeConnector service) {
+ //register the service to all the DirectoryServices
+ for (DirectoryNodeService directory : directories) {
+ directory.addService(service);
+ }
+ this.nodeConnectors.add(service);
+
+ }
+
+ public void addDirectoryNode(DirectoryNodeService directory) {
+ this.directories.add(directory);
+
+ }
+
+ // In real scenarios this method will be in charge of populating
+ // all the ExecutionNodeService and DirectoryServices
+ public void connect() {
+ }
+
+ public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) {
+ ExecutionNode node = null;
+ GenericNodeConnector currentNode = null;
+ try {
+
+ //if the strategy is null use the default one
+ if (strategy == null) {
+ currentNode = getBestNode(new StaticIncrementalSelectionStrategy(this));
+ } else {
+ strategy.setConnection(this);
+ currentNode = getBestNode(strategy);
+ }
+ if (currentNode.connect()) {
+ node = new ExecutionNode();
+ node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(currentNode));
+ node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(currentNode));
+ node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(currentNode, this));
+
+ }else{
+ Logger.getLogger(RemoteConnection.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+ }
+
+ } catch (RemoteException ex) {
+ Logger.getLogger(RemoteConnection.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return node;
+ }
+
+ public GenericNodeConnector getBestNode(NodeSelectionStrategy nodeSelectionStrategy) {
+ return nodeSelectionStrategy.getBestNode();
+ }
+
+ public List<DirectoryNodeService> getDirectories() {
+ return directories;
+ }
+
+ public void setDirectories(List<DirectoryNodeService> directories) {
+ this.directories = directories;
+ }
+
+ public List<GenericNodeConnector> getNodeConnectors() {
+ return nodeConnectors;
+ }
+
+ public void setServices(List<GenericNodeConnector> services) {
+ this.nodeConnectors = services;
+ }
+
+ public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) {
+ return directories.get(0);
+ }
+
+ public ExecutionNode getExecutionNode() {
+ return getExecutionNode(null);
+ }
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,432 @@
+package org.drools.grid.remote;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.drools.KnowledgeBase;
+import org.drools.command.Command;
+import org.drools.command.ExecuteCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.grid.internal.commands.RegisterRemoteWorkItemHandlerCommand;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.event.rule.AgendaEventListener;
+import org.drools.event.rule.WorkingMemoryEventListener;
+import org.drools.runtime.Calendars;
+import org.drools.runtime.Environment;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.ExitPoint;
+import org.drools.runtime.Globals;
+import org.drools.runtime.ObjectFilter;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.runtime.rule.Agenda;
+import org.drools.runtime.rule.AgendaFilter;
+import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.QueryResults;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.time.SessionClock;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+import org.drools.grid.remote.internal.commands.GetWorkItemManagerCommand;
+import org.drools.grid.remote.internal.commands.StartProcessRemoteCommand;
+
+
+/*
+ * @author: salaboy
+ */
+
+public class StatefulKnowledgeSessionRemoteClient
+ implements
+ StatefulKnowledgeSession {
+
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ private String instanceId;
+
+ public StatefulKnowledgeSessionRemoteClient(String instanceId,
+ GenericNodeConnector client, MessageSession messageSession) {
+ this.instanceId = instanceId;
+ this.client = client;
+ this.messageSession = messageSession;
+
+ }
+
+ public String getInstanceId() {
+ return this.instanceId;
+ }
+
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public int getId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int fireAllRules() {
+ String commandId = "ksession.fireAllRules" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new FireAllRulesCommand( commandId ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (Integer) ((ExecutionResults) object).getValue( commandId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public int fireAllRules(int max) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int fireAllRules(AgendaFilter agendaFilter) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void fireUntilHalt() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireUntilHalt(AgendaFilter agendaFilter) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ExecutionResults execute(Command command) {
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new ExecuteCommand( commandId,
+ command ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (ExecutionResults) ((ExecutionResults) object).getValue( commandId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public Environment getEnvironment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getGlobal(String identifier) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Globals getGlobals() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase getKnowledgeBase() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends SessionClock> T getSessionClock() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void registerExitPoint(String name,
+ ExitPoint exitPoint) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setGlobal(String identifier,
+ Object object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void unregisterExitPoint(String name) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Agenda getAgenda() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public QueryResults getQueryResults(String query) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public QueryResults getQueryResults(String query,
+ Object[] arguments) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection< ? extends WorkingMemoryEntryPoint> getWorkingMemoryEntryPoints() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void halt() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public FactHandle getFactHandle(Object object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends FactHandle> Collection<T> getFactHandles() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends FactHandle> Collection<T> getFactHandles(ObjectFilter filter) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getObject(FactHandle factHandle) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<Object> getObjects() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<Object> getObjects(ObjectFilter filter) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public FactHandle insert(Object object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void retract(FactHandle handle) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void update(FactHandle handle,
+ Object object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void abortProcessInstance(long id) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ProcessInstance getProcessInstance(long id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<ProcessInstance> getProcessInstances() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public WorkItemManager getWorkItemManager() {
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ true,
+ new KnowledgeContextResolveFromContextCommand( new GetWorkItemManagerCommand(),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ Object payload = client.write( msg ).getPayload();
+ WorkItemManager workItemManager = (WorkItemManager) ((ExecutionResults) payload).getValue( "workItemManager" );
+ ((WorkItemManagerRemoteClient)workItemManager).setClient(client);
+ ((WorkItemManagerRemoteClient)workItemManager).setMessageSession(messageSession);
+ ((WorkItemManagerRemoteClient)workItemManager).setInstanceId(instanceId);
+ return workItemManager;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message", e );
+ }
+ }
+
+ public void registerWorkItemHandler(String name, String workItemHandler){
+
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new RegisterRemoteWorkItemHandlerCommand(name, workItemHandler ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ client.write( msg );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+
+ }
+
+ public void signalEvent(String type,
+ Object event) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ProcessInstance startProcess(String processId) {
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new StartProcessRemoteCommand( processId ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (ProcessInstance) ((ExecutionResults) object).getValue( processId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ }
+
+ public ProcessInstance startProcess(String processId,
+ Map<String, Object> parameters) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void addEventListener(WorkingMemoryEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(AgendaEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<AgendaEventListener> getAgendaEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(WorkingMemoryEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeEventListener(AgendaEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(ProcessEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<ProcessEventListener> getProcessEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(ProcessEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public String getEntryPointId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getFactCount() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void signalEvent(String type,
+ Object event,
+ long processInstanceId) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Calendars getCalendars() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkItemManagerRemoteClient.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/WorkItemManagerRemoteClient.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkItemManagerRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkItemManagerRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,66 @@
+package org.drools.grid.remote;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.process.CompleteWorkItemCommand;
+import org.drools.runtime.process.WorkItemHandler;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+
+/**
+ *
+ * @author Lucas Amador
+ * @author salaboy
+ */
+public class WorkItemManagerRemoteClient implements WorkItemManager, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ private String instanceId;
+
+ public void abortWorkItem(long id) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void completeWorkItem(long id, Map<String, Object> results) {
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ true,
+ new KnowledgeContextResolveFromContextCommand( new CompleteWorkItemCommand(id, results),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ client.write( msg );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message", e );
+ }
+ }
+
+ public void registerWorkItemHandler(String workItemName, WorkItemHandler handler) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void setClient(GenericNodeConnector client) {
+ this.client = client;
+ }
+
+ public void setMessageSession(MessageSession messageSession) {
+ this.messageSession = messageSession;
+ }
+
+
+
+ public void setInstanceId(String instanceId) {
+ this.instanceId = instanceId;
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkItemManagerCommand.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/commands/GetWorkItemManagerCommand.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkItemManagerCommand.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkItemManagerCommand.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,29 @@
+package org.drools.grid.remote.internal.commands;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.runtime.impl.ExecutionResultImpl;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.grid.remote.WorkItemManagerRemoteClient;
+
+/**
+ *
+ * @author Lucas Amador
+ *
+ */
+public class GetWorkItemManagerCommand implements GenericCommand<WorkItemManager> {
+
+ private static final long serialVersionUID = 1L;
+
+ public WorkItemManager execute(Context context) {
+ WorkItemManager workItemManager = ((KnowledgeCommandContext) context).getWorkItemManager();
+ ((ExecutionResultImpl)((KnowledgeCommandContext) context ).getExecutionResults()).getResults().put("workItemManager", getRemoteClient(workItemManager) );
+ return workItemManager;
+ }
+
+ private WorkItemManager getRemoteClient(WorkItemManager workItemManager) {
+ return new WorkItemManagerRemoteClient();
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/StartProcessRemoteCommand.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/commands/StartProcessRemoteCommand.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/StartProcessRemoteCommand.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/StartProcessRemoteCommand.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid.remote.internal.commands;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.impl.ExecutionResultImpl;
+import org.drools.runtime.process.ProcessInstance;
+import org.drools.grid.remote.ProcessInstanceRemoteClient;
+
+/**
+ *
+ * @author salaboy
+ */
+public class StartProcessRemoteCommand implements GenericCommand<ExecutionResults>{
+ private String processId;
+ private Map<String, Object> parameters = new HashMap<String, Object>();
+ private List<Object> data = null;
+
+ public StartProcessRemoteCommand() {
+ }
+
+
+ public StartProcessRemoteCommand(String processId) {
+ this.processId = processId;
+ }
+
+ public List<Object> getData() {
+ return data;
+ }
+
+ public void setData(List<Object> data) {
+ this.data = data;
+ }
+
+ public Map<String, Object> getParameters() {
+ return parameters;
+ }
+
+ public void setParameters(Map<String, Object> parameters) {
+ this.parameters = parameters;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+
+ public ExecutionResults execute(Context context) {
+ StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+
+ if (data != null) {
+ for (Object o: data) {
+ ksession.insert(o);
+ }
+ }
+ ProcessInstance processInstance = (ProcessInstance) ksession.startProcess(processId, parameters);
+
+ ((ExecutionResultImpl)((KnowledgeCommandContext) context ).getExecutionResults()).getResults().put( processId, getRemoteClient(processInstance) );
+
+ return ((ExecutionResultImpl)((KnowledgeCommandContext) context ).getExecutionResults());
+ }
+
+ public String toString() {
+ String result = "session.startProcess(" + processId + ", [";
+ if (parameters != null) {
+ int i = 0;
+ for (Map.Entry<String, Object> entry: parameters.entrySet()) {
+ if (i++ > 0) {
+ result += ", ";
+ }
+ result += entry.getKey() + "=" + entry.getValue();
+ }
+ }
+ result += "]);";
+ return result;
+ }
+
+ private ProcessInstance getRemoteClient(ProcessInstance processInstance) {
+ return new ProcessInstanceRemoteClient(processInstance.getId(), processInstance.getProcessId(),
+ processInstance.getProcessName(), processInstance.getState());
+ }
+}
Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina
___________________________________________________________________
Name: svn:ignore
+ target
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>drools-grid</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.SNAPSHOT</version>
+ </parent>
+ <artifactId>drools-grid-remote-mina</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <name>Drools :: Grid :: Remote Impl :: Mina</name>
+
+ <dependencies>
+
+ <!-- Drools Runtime -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-api</artifactId>
+ </dependency>
+
+
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-remote-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ </dependency>
+
+ <!-- Apache Mina for default Service Remote Implementation -->
+ <dependency>
+ <groupId>org.apache.mina</groupId>
+ <artifactId>mina-core</artifactId>
+ <version>2.0.0-M6</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.8</version>
+ </dependency>
+
+ <!-- Test deps -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+</project>
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/ClientGenericMessageReceiverImpl.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/mina/ClientGenericMessageReceiverImpl.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/ClientGenericMessageReceiverImpl.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/ClientGenericMessageReceiverImpl.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,73 @@
+/**
+ *
+ */
+package org.drools.grid.remote.mina;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.drools.SystemEventListener;
+import org.drools.grid.internal.commands.Command;
+
+
+
+
+import org.drools.grid.internal.ClientGenericMessageReceiver;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.GenericMessageHandler;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+
+public class ClientGenericMessageReceiverImpl
+ implements
+ ClientGenericMessageReceiver {
+ protected Map<Integer, MessageResponseHandler> responseHandlers;
+
+ private GenericMessageHandler handler;
+
+ private final SystemEventListener systemEventListener;
+
+ public ClientGenericMessageReceiverImpl(GenericMessageHandler handler,
+ SystemEventListener systemEventListener) {
+ this.handler = handler;
+ this.responseHandlers = new ConcurrentHashMap<Integer, MessageResponseHandler>();;
+ this.systemEventListener = systemEventListener;
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.vsm.mina.ClientGenericMessageReceiver#addResponseHandler(int, org.drools.vsm.MessageResponseHandler)
+ */
+ public void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ this.responseHandlers.put( id,
+ responseHandler );
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.vsm.mina.ClientGenericMessageReceiver#messageReceived(org.drools.vsm.mina.MinaIoWriter, org.drools.vsm.Message)
+ */
+ public void messageReceived(GenericIoWriter writer,
+ Message msg) throws Exception {
+
+ systemEventListener.debug( "Message receieved : " + msg );
+
+ MessageResponseHandler responseHandler = (MessageResponseHandler) responseHandlers.remove( msg.getResponseId() );
+
+ if ( responseHandler != null ) {
+ Object payload = msg.getPayload();
+ if (payload instanceof Command && ((Command)msg.getPayload()).getArguments().size() > 0 &&
+ ((Command)msg.getPayload()).getArguments().get(0) instanceof RuntimeException)
+ payload = ((Command)msg.getPayload()).getArguments().get(0);
+ if (( payload != null && payload instanceof RuntimeException )) {
+ responseHandler.setError( (RuntimeException) payload );
+ } else {
+ responseHandler.receive( msg );
+ }
+ } else if ( handler != null ) {
+ this.handler.messageReceived( writer,
+ msg );
+ } else {
+ throw new RuntimeException( "Unable to process Message" );
+ }
+ }
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java (from rev 32892, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,45 @@
+package org.drools.grid.remote.mina;
+
+import java.io.IOException;
+import java.net.SocketAddress;
+
+import org.apache.mina.core.service.IoAcceptor;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.transport.socket.SocketAcceptor;
+import org.drools.grid.AcceptorService;
+
+public class MinaAcceptor
+ implements
+ AcceptorService {
+ protected SocketAcceptor acceptor;
+ protected SocketAddress address;
+
+ public MinaAcceptor(SocketAcceptor acceptor,
+ SocketAddress address) {
+ this.acceptor = acceptor;
+ this.address = address;
+ }
+
+ public synchronized void start() throws IOException {
+ acceptor.getFilterChain().addLast( "logger",
+ new LoggingFilter() );
+ acceptor.getFilterChain().addLast( "codec",
+ new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
+ acceptor.getSessionConfig().setReadBufferSize( 2048 );
+ acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE,
+ 10 );
+ acceptor.bind( address );
+ }
+
+ public synchronized void stop() {
+ acceptor.dispose();
+ }
+
+ public synchronized IoAcceptor getIoAcceptor() {
+ return acceptor;
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoHandler.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/mina/MinaIoHandler.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoHandler.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,60 @@
+package org.drools.grid.remote.mina;
+
+
+import org.apache.mina.core.service.IoHandlerAdapter;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.core.session.IoSession;
+import org.drools.SystemEventListener;
+import org.drools.grid.internal.ClientGenericMessageReceiver;
+import org.drools.grid.internal.GenericMessageHandler;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+
+public class MinaIoHandler extends IoHandlerAdapter {
+ /**
+ * Listener used for logging
+ */
+ private final SystemEventListener systemEventListener;
+
+ private ClientGenericMessageReceiver clientMessageReceiver;
+
+ public MinaIoHandler(SystemEventListener systemEventListener) {
+ this( systemEventListener,
+ null );
+
+ }
+
+ public MinaIoHandler(SystemEventListener systemEventListener,
+ GenericMessageHandler handler) {
+ this.systemEventListener = systemEventListener;
+ this.clientMessageReceiver = new ClientGenericMessageReceiverImpl( handler,
+ systemEventListener );
+
+ }
+
+ public void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ this.clientMessageReceiver.addResponseHandler( id,
+ responseHandler );
+ }
+
+ public void exceptionCaught(IoSession session,
+ Throwable cause) throws Exception {
+ systemEventListener.exception( "Uncaught exception on Server",
+ cause );
+ }
+
+ public void messageReceived(IoSession session,
+ Object object) throws Exception {
+ Message msg = (Message) object;
+ clientMessageReceiver.messageReceived( new MinaIoWriter( session ),
+ msg );
+ }
+
+ @Override
+ public void sessionIdle(IoSession session,
+ IdleStatus status) throws Exception {
+ this.systemEventListener.debug( "Server IDLE " + session.getIdleCount( status ) );
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoWriter.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/mina/MinaIoWriter.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoWriter.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaIoWriter.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,23 @@
+package org.drools.grid.remote.mina;
+
+import org.apache.mina.core.session.IoSession;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+
+public class MinaIoWriter
+ implements
+ GenericIoWriter {
+
+ private IoSession session;
+
+ public MinaIoWriter(IoSession session) {
+ this.session = session;
+ }
+
+ public void write(Message message,
+ MessageResponseHandler responseHandler) {
+ this.session.write( message );
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,142 @@
+package org.drools.grid.remote.mina;
+
+import java.net.SocketAddress;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+
+public class MinaNodeConnector
+ implements
+ GenericNodeConnector,
+ GenericIoWriter {
+
+
+ protected IoSession session;
+
+ protected final String name;
+ protected AtomicInteger counter;
+ protected SocketConnector connector;
+ protected SocketAddress address;
+ protected SystemEventListener eventListener;
+
+ public MinaNodeConnector(String name,
+ SocketConnector connector,
+ SocketAddress address,
+ SystemEventListener eventListener) {
+ if ( name == null ) {
+ throw new IllegalArgumentException( "Name can not be null" );
+ }
+ this.name = name;
+ this.counter = new AtomicInteger();
+ this.address = address;
+ this.connector = connector;
+ this.eventListener = eventListener;
+
+ }
+
+ public MinaNodeConnector(String name,
+ SocketAddress address,
+ SystemEventListener eventListener) {
+
+ SocketConnector minaconnector = new NioSocketConnector();
+ minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+ if ( name == null ) {
+ throw new IllegalArgumentException( "Name can not be null" );
+ }
+ this.name = name;
+ this.counter = new AtomicInteger();
+ this.address = address;
+ this.connector = minaconnector;
+ this.eventListener = eventListener;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.drools.vsm.mina.Messenger#connect()
+ */
+ public boolean connect() {
+ if ( session != null && session.isConnected() ) {
+ throw new IllegalStateException( "Already connected. Disconnect first." );
+ }
+
+ try {
+ this.connector.getFilterChain().addLast( "codec",
+ new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
+
+ ConnectFuture future1 = this.connector.connect( this.address );
+ future1.await( 2000 );
+ if ( !future1.isConnected() ) {
+ eventListener.info( "unable to connect : " + address + " : " + future1.getException() );
+ return false;
+ }
+ eventListener.info( "connected : " + address );
+ this.session = future1.getSession();
+ return true;
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.drools.vsm.mina.Messenger#disconnect()
+ */
+ public void disconnect() {
+ if ( session != null && session.isConnected() ) {
+ session.close();
+ session.getCloseFuture().join();
+ }
+ }
+
+ private void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ ((MinaIoHandler) this.connector.getHandler()).addResponseHandler( id,
+ responseHandler );
+ }
+
+ public void write(Message msg,
+ MessageResponseHandler responseHandler) {
+ if ( responseHandler != null ) {
+ addResponseHandler( msg.getResponseId(),
+ responseHandler );
+ }
+ this.session.write( msg );
+ }
+
+ public Message write(Message msg) {
+ BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+ if ( responseHandler != null ) {
+ addResponseHandler( msg.getResponseId(),
+ responseHandler );
+ }
+ this.session.write( msg );
+
+ Message returnMessage = responseHandler.getMessage();
+ if ( responseHandler.getError() != null ) {
+ throw responseHandler.getError();
+ }
+
+ return returnMessage;
+ }
+
+ public String getId() {
+ return String.valueOf(session.getId());
+ }
+
+ public void setSession(Object object) {
+ this.session = (IoSession) object;
+ }
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,215 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid;
+
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.junit.Assert;
+import org.junit.Test;
+/**
+ *
+ * @author salaboy
+ */
+
+public abstract class ExecutionNodeBase {
+
+ protected ExecutionNode node;
+
+ public ExecutionNodeBase() {
+
+ }
+
+
+ @Test
+ public void fireAllRules(){
+
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+
+ KnowledgeBuilder kbuilder =
+ node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase =
+ node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ Assert.assertNotNull(ksession);
+
+ int fired = ksession.fireAllRules();
+ Assert.assertEquals( 2, fired );
+
+
+ }
+ @Test
+ public void testExecute() throws Exception {
+
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ ExecutionResults results = ksession.execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2,
+ (int) (Integer) results.getValue( "fired" ) );
+ }
+ @Test
+ public void testNamedService() throws Exception {
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ node.get(DirectoryLookupFactoryService.class).register( "ksession1",
+ ksession );
+
+ ExecutionResults results = node.get(DirectoryLookupFactoryService.class).lookup( "ksession1" ).execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2,
+ (int) (Integer) results.getValue( "fired" ) );
+ }
+ @Test
+ public void testVsmPipeline() throws Exception {
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+ KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ node.get(DirectoryLookupFactoryService.class).register( "ksession1",
+ ksession );
+
+ ExecutionResults results = node.get(DirectoryLookupFactoryService.class).lookup( "ksession1" ).execute( new FireAllRulesCommand( "fired" ) );
+
+ Assert.assertEquals( 2, (int ) ( Integer) results.getValue( "fired" ) );
+ }
+
+
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java (from rev 33093, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-core/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+
+package org.drools.grid;
+
+import org.drools.grid.remote.RemoteConnection;
+import java.rmi.RemoteException;
+import java.util.Iterator;
+import org.drools.grid.remote.mina.MinaNodeConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import java.io.IOException;
+import org.drools.grid.remote.mina.MinaAcceptor;
+import org.drools.grid.internal.GenericMessageHandlerImpl;
+import org.drools.grid.remote.mina.MinaIoHandler;
+import org.drools.SystemEventListenerFactory;
+import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+import org.apache.mina.transport.socket.SocketAcceptor;
+import org.drools.grid.internal.NodeData;
+import java.net.SocketAddress;
+import java.net.InetSocketAddress;
+import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteExecutionNodeTest extends ExecutionNodeBase{
+ private MinaAcceptor server;
+ private GenericConnection connection;
+
+ public RemoteExecutionNodeTest() {
+ }
+
+
+
+ @Before
+ public void configureNode() throws IOException {
+ System.out.println("Starting the Configuration!");
+ connection = new RemoteConnection();
+
+ StaticIncrementalSelectionStrategy.counter = 0;
+ SocketAddress address = new InetSocketAddress( "127.0.0.1",
+ 9123 );
+
+ NodeData nodeData = new NodeData();
+ // setup Server
+ SocketAcceptor acceptor = new NioSocketAcceptor();
+ acceptor.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener(),
+ new GenericMessageHandlerImpl( nodeData,
+ SystemEventListenerFactory.getSystemEventListener() ) ) );
+ this.server = new MinaAcceptor( acceptor,
+ address );
+ this.server.start();
+ System.out.println("Server Started!");
+ connection.addDirectoryNode(new DirectoryNodeLocalImpl());
+
+ // setup Client
+ NioSocketConnector clientConnector = new NioSocketConnector();
+ clientConnector.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener() ) );
+ GenericNodeConnector minaClient = new MinaNodeConnector( "client 1",
+ clientConnector,
+ address,
+ SystemEventListenerFactory.getSystemEventListener() );
+ connection.addNodeConnector(minaClient);
+
+ node = connection.getExecutionNode(null);
+ Assert.assertNotNull(node);
+
+ }
+
+ @After
+ public void tearDown() throws RemoteException {
+ System.out.println("Stopping the server and all the clients!");
+ for(Iterator<GenericNodeConnector> iterator = connection.getNodeConnectors().iterator(); iterator.hasNext();){
+ iterator.next().disconnect();
+ }
+
+ this.server.stop();
+
+ }
+
+
+
+}
\ No newline at end of file
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -12,30 +12,56 @@
<artifactId>drools-grid-services</artifactId>
<dependencies>
+
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-api</artifactId>
+ <type>jar</type>
</dependency>
+
<dependency>
<groupId>org.drools</groupId>
- <artifactId>drools-api</artifactId>
+ <artifactId>drools-grid-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
<type>jar</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-local</artifactId>
<version>5.1.0.SNAPSHOT</version>
+ <type>jar</type>
</dependency>
+
<dependency>
<groupId>org.drools</groupId>
- <artifactId>drools-grid-core</artifactId>
+ <artifactId>drools-grid-remote-api</artifactId>
<version>5.1.0.SNAPSHOT</version>
<type>jar</type>
</dependency>
- <dependency>
+
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-remote-mina</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <type>jar</type>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.0-M6</version>
-
- </dependency>
+
+ </dependency>
+ <!-- Test deps -->
+
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/pom.xml 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -3,46 +3,43 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>drools</artifactId>
+ <artifactId>drools-grid</artifactId>
<groupId>org.drools</groupId>
<version>5.1.0.SNAPSHOT</version>
</parent>
<artifactId>drools-grid-task</artifactId>
- <version>5.1.0.SNAPSHOT</version>
+
<name>Drools :: Grid :: Task</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.6</version>
+ <version>4.8.1</version>
<scope>test</scope>
</dependency>
<!-- Drools Runtime -->
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-api</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
</dependency>
- <!-- Apache Mina for default Service Remote Implementation -->
+
<dependency>
- <groupId>org.apache.mina</groupId>
- <artifactId>mina-core</artifactId>
- <version>2.0.0-M6</version>
- </dependency>
-
- <dependency>
<groupId>org.drools</groupId>
<artifactId>drools-process-task</artifactId>
<version>5.1.0.SNAPSHOT</version>
@@ -51,13 +48,21 @@
<dependency>
<groupId>org.drools</groupId>
- <artifactId>drools-grid-core</artifactId>
+ <artifactId>drools-grid-api</artifactId>
<version>5.1.0.SNAPSHOT</version>
-
+
</dependency>
+ <!-- Apache Mina for default Service Remote Implementation -->
<dependency>
+ <groupId>org.apache.mina</groupId>
+ <artifactId>mina-core</artifactId>
+ <version>2.0.0-M6</version>
+ </dependency>
+
+
+ <dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
@@ -84,6 +89,12 @@
<artifactId>h2</artifactId>
<version>1.2.128</version>
</dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-remote-mina</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <type>jar</type>
+ </dependency>
</dependencies>
</project>
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -24,10 +24,10 @@
import org.drools.runtime.process.WorkItem;
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
-import org.drools.grid.generic.GenericNodeConnector;
-import org.drools.grid.generic.Message;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.remote.mina.MinaNodeConnector;
-import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.task.AccessType;
import org.drools.task.Content;
import org.drools.task.Group;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/GenericEventTransport.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/GenericEventTransport.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/GenericEventTransport.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -7,8 +7,8 @@
import org.drools.eventmessaging.EventTriggerTransport;
import org.drools.eventmessaging.Payload;
-import org.drools.grid.generic.GenericIoWriter;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.CommandName;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskFactoryService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskFactoryService.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskFactoryService.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,7 +1,7 @@
package org.drools.grid.task;
import org.drools.Service;
-import org.drools.grid.generic.GenericNodeConnector;
+import org.drools.grid.GenericNodeConnector;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceImpl.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceImpl.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -8,8 +8,8 @@
import java.util.logging.Logger;
import org.drools.eventmessaging.EventKey;
-import org.drools.grid.generic.GenericNodeConnector;
-import org.drools.grid.generic.Message;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
import org.drools.task.Attachment;
import org.drools.task.Comment;
import org.drools.task.Content;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceProviderRemoteClient.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/HumanTaskServiceProviderRemoteClient.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -17,7 +17,7 @@
package org.drools.grid.task;
-import org.drools.grid.generic.GenericNodeConnector;
+import org.drools.grid.GenericNodeConnector;
/**
*
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskClientMessageHandlerImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskClientMessageHandlerImpl.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskClientMessageHandlerImpl.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -7,10 +7,10 @@
import org.drools.SystemEventListener;
import org.drools.eventmessaging.Payload;
-import org.drools.grid.generic.GenericIoWriter;
-import org.drools.grid.generic.GenericMessageHandler;
-import org.drools.grid.generic.Message;
-import org.drools.grid.generic.MessageResponseHandler;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.GenericMessageHandler;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
import org.drools.task.Content;
import org.drools.task.Task;
import org.drools.task.query.TaskSummary;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerMessageHandlerImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerMessageHandlerImpl.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerMessageHandlerImpl.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -11,9 +11,9 @@
import org.apache.mina.core.session.IoSession;
import org.drools.SystemEventListener;
import org.drools.eventmessaging.EventKey;
-import org.drools.grid.generic.GenericIoWriter;
-import org.drools.grid.generic.GenericMessageHandler;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.GenericMessageHandler;
+import org.drools.grid.internal.Message;
import org.drools.task.Attachment;
import org.drools.task.Comment;
import org.drools.task.Content;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/eventmessaging/EventMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/eventmessaging/EventMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/eventmessaging/EventMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,7 +1,7 @@
package org.drools.grid.task.eventmessaging;
import org.drools.eventmessaging.Payload;
-import org.drools.grid.generic.MessageResponseHandler;
+import org.drools.grid.internal.MessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddAttachmentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddAttachmentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddAttachmentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingAddAttachmentResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.AddAttachmentMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddCommentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddCommentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddCommentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingAddCommentResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.AddCommentMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddTaskMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddTaskMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingAddTaskMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.AddTaskMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteAttachmentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteAttachmentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteAttachmentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.responsehandlers.BlockingDeleteAttachmentResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.DeleteAttachmentMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteCommentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteCommentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingDeleteCommentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.responsehandlers.BlockingDeleteCommentResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.DeleteCommentMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingEventMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingEventMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingEventMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,7 +1,7 @@
package org.drools.grid.task.responseHandlers;
import org.drools.eventmessaging.Payload;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingEventResponseHandler;
import org.drools.grid.task.eventmessaging.EventMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetContentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetContentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetContentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.Content;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetTaskMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetTaskMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingGetTaskMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.Task;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingSetContentMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingSetContentMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingSetContentMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.Command;
import org.drools.task.service.responsehandlers.BlockingSetContentResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.SetDocumentMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskOperationMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskOperationMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskOperationMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,6 +1,6 @@
package org.drools.grid.task.responseHandlers;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
import org.drools.grid.task.TaskClientMessageHandlerImpl.TaskOperationMessageResponseHandler;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskSummaryMessageResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskSummaryMessageResponseHandler.java 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/responseHandlers/BlockingTaskSummaryMessageResponseHandler.java 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,7 +1,7 @@
package org.drools.grid.task.responseHandlers;
import java.util.List;
-import org.drools.grid.generic.Message;
+import org.drools.grid.internal.Message;
import org.drools.task.query.TaskSummary;
import org.drools.task.service.Command;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml 2010-05-27 13:22:31 UTC (rev 33115)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml 2010-05-27 13:28:51 UTC (rev 33116)
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>drools</artifactId>
<groupId>org.drools</groupId>
@@ -13,11 +11,13 @@
<packaging>pom</packaging>
<modules>
- <module>drools-grid-client-api</module>
+ <module>drools-grid-api</module>
+ <module>drools-grid-local</module>
+ <module>drools-grid-remote-api</module>
+ <module>drools-grid-remote-mina</module>
<module>drools-grid-services</module>
- <module>drools-grid-core</module>
+ <module>drools-grid-task</module>
+ </modules>
- </modules>
-
-</project>
+</project>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list