[jboss-svn-commits] JBL Code SVN: r32363 - in labs/jbossrules/branches/salaboy_ServiceAPIs: drools-services/src/main/java/org/drools/services/local and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Apr 1 18:08:43 EDT 2010
Author: salaboy21
Date: 2010-04-01 18:08:42 -0400 (Thu, 01 Apr 2010)
New Revision: 32363
Added:
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryLookupProviderLocalClient.java
Modified:
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/LocalNodeConnector.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java
Log:
JBRULES-2446: Drools Services API
- drools-services local implementation of the DirectoryService
- drools-services-grid connect and disconnect methods for the grid env do nothing
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -20,4 +20,5 @@
public GenericServiceConnector lookup(String executorId) throws RemoteException;
public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException;
public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException;
+ public void addService(GenericServiceConnector service);
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/LocalNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/LocalNodeConnector.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/LocalNodeConnector.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -17,7 +17,9 @@
package org.drools.services;
import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.services.local.DirectoryLookupProviderLocalClient;
import org.drools.services.local.KnowledgeBaseProviderLocalClient;
import org.drools.services.local.KnowledgeBuilderProviderLocalClient;
/**
@@ -36,7 +38,7 @@
ExecutionNode node = new ExecutionNode();
node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient() );
node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient() );
-
+ node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
return node;
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -17,6 +17,7 @@
package org.drools.services;
+import org.drools.services.generic.GenericConnection;
import org.drools.services.generic.GenericServiceConnector;
/**
@@ -26,6 +27,6 @@
public interface NodeSelectionStrategy {
public GenericServiceConnector getBestNode();
+ public void setConnection(GenericConnection connection);
-
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -49,7 +49,10 @@
}
public void addService(GenericServiceConnector service) {
-
+ //register the service to all the DirectoryServices
+ for(DirectoryService directory : directories){
+ directory.addService(service);
+ }
this.services.add(service);
}
@@ -73,6 +76,7 @@
currentService = getBestService(
new StaticIncrementalSelectionStrategy(this));
} else{
+ strategy.setConnection(this);
currentService = getBestService(strategy);
}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryLookupProviderLocalClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryLookupProviderLocalClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryLookupProviderLocalClient.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -0,0 +1,52 @@
+/*
+ * 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.services.local;
+
+import java.rmi.RemoteException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.runtime.CommandExecutor;
+import org.drools.services.DirectoryService;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DirectoryLookupProviderLocalClient implements DirectoryLookupFactoryService {
+
+
+ private Map<String, CommandExecutor> services = new HashMap<String, CommandExecutor>();
+
+ public DirectoryLookupProviderLocalClient() {
+
+ }
+
+
+ public void register(String key, CommandExecutor executor) {
+ services.put(key, executor);
+ }
+
+ public CommandExecutor lookup(String key) {
+ return services.get(key);
+ }
+
+}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -61,5 +61,8 @@
public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException {
throw new UnsupportedOperationException("Not supported yet.");
}
+ public void addService(GenericServiceConnector service){
+ services.add(service);
+ }
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -53,7 +53,7 @@
public DirectoryLookupProviderRemoteClient(GenericServiceConnector client, GenericConnection connection) {
this.client = client;
this.messageSession = new MessageSession();
- connection = connection;
+ this.connection = connection;
}
public void register(String identifier,
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -35,4 +35,9 @@
return this.connection.getServices().get(0);
}
+ public void setConnection(GenericConnection connection) {
+ this.connection = connection;
+ }
+
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -43,4 +43,9 @@
return service;
}
+ public void setConnection(GenericConnection connection) {
+ this.connection = connection;
+ }
+
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -94,7 +94,9 @@
}
+ @Test
public void testExecute() throws Exception {
+
String str = "";
str += "package org.drools \n";
str += "global java.util.List list \n";
@@ -131,7 +133,7 @@
Assert.assertEquals( 2,
(int) (Integer) results.getValue( "fired" ) );
}
-
+ @Test
public void testNamedService() throws Exception {
String str = "";
str += "package org.drools \n";
@@ -174,7 +176,7 @@
Assert.assertEquals( 2,
(int) (Integer) results.getValue( "fired" ) );
}
-
+ @Test
public void testVsmPipeline() throws Exception {
String str = "";
str += "package org.drools \n";
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -17,7 +17,8 @@
package org.drools.service;
-import org.drools.services.NodeConnector;
+import java.rmi.RemoteException;
+import java.util.Iterator;
import org.drools.services.remote.mina.MinaServiceConnector;
import org.drools.services.generic.GenericServiceConnector;
import org.apache.mina.transport.socket.nio.NioSocketConnector;
@@ -31,7 +32,9 @@
import org.drools.services.generic.NodeData;
import java.net.SocketAddress;
import java.net.InetSocketAddress;
+import org.drools.services.DirectoryService;
import org.drools.services.local.DirectoryServiceLocalImpl;
+import org.drools.services.strategies.StaticIncrementalSelectionStrategy;
import org.junit.After;
import org.junit.Before;
@@ -41,7 +44,7 @@
*/
public class RemoteExecutionNodeTest extends ExecutionNodeBaseTest{
private MinaAcceptor server;
- private NodeConnector nodeConnection;
+
public RemoteExecutionNodeTest() {
}
@@ -49,6 +52,7 @@
@Before
public void configureNode() throws IOException {
+ StaticIncrementalSelectionStrategy.counter = 0;
SocketAddress address = new InetSocketAddress( "127.0.0.1",
9123 );
@@ -72,15 +76,19 @@
address,
SystemEventListenerFactory.getSystemEventListener() );
connection.addService(minaClient);
- //nodeConnection = new RemoteNodeConnector("client 1", minaClient);
- //node = nodeConnection.connect();
node = connection.getExecutionNode(null);
}
@After
- public void tearDown() {
- // connection.disconnect();
+ public void tearDown() throws RemoteException {
+
+ for(Iterator<GenericServiceConnector> iterator = connection.getServices().iterator(); iterator.hasNext();){
+ iterator.next().disconnect();
+ }
+
+ this.server.stop();
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -72,6 +72,7 @@
currentService = getBestService(
new StaticIncrementalSelectionStrategy(this));
} else{
+ strategy.setConnection(this);
currentService = getBestService(strategy);
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -8,6 +8,7 @@
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.drools.KnowledgeBase;
import org.drools.command.KnowledgeContextResolveFromContextCommand;
@@ -98,4 +99,9 @@
e );
}
}
+
+ @Override
+ public void addService(GenericServiceConnector service) {
+ ((List)nodeServices).add(service);
+ }
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java 2010-04-01 20:09:19 UTC (rev 32362)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java 2010-04-01 22:08:42 UTC (rev 32363)
@@ -87,12 +87,13 @@
@Override
public boolean connect() throws RemoteException {
- throw new UnsupportedOperationException("Not supported yet.");
+ //this is always connected if the lookup was successful
+ return true;
}
@Override
public void disconnect() throws RemoteException {
- throw new UnsupportedOperationException("Not supported yet.");
+ //we don't need to desconnect the grid
}
More information about the jboss-svn-commits
mailing list