[jboss-svn-commits] JBL Code SVN: r35279 - in labs/jbossrules/trunk/drools-grid: drools-grid-distributed-api/src/main/java/org/drools/grid/distributed and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Sep 24 14:26:01 EDT 2010
Author: salaboy21
Date: 2010-09-24 14:25:58 -0400 (Fri, 24 Sep 2010)
New Revision: 35279
Modified:
labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java
labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml
labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java
labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
Log:
JBRULES-2618: Drools Grid Services - Improve and clean tests
- implementing more clients and adding find kbase per location
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -87,7 +87,7 @@
if ( resourceId.equals( "local" ) ) {
return this.kbasesInstancesMap.get( kbaseId );
}
-
+
return KnowledgeBaseClientFactory.newKnowledgeBaseClient( resourceId );
}
@@ -129,4 +129,8 @@
return ServiceType.LOCAL;
}
+ public String lookupKBaseLocationId(String kbaseId) throws ConnectorException, RemoteException {
+ return this.kbasesMap.get( kbaseId );
+ }
+
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -50,6 +50,9 @@
public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException,
RemoteException;
+
+ public String lookupKBaseLocationId(String kbaseId) throws ConnectorException,
+ RemoteException;
public Map<String, String> getExecutorsMap() throws ConnectorException,
RemoteException;
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -25,16 +25,25 @@
*/
public class KnowledgeBaseClientFactory {
public static KnowledgeBase newKnowledgeBaseClient(String connectorString) {
-
+ KnowledgeBase client = null;
String[] connectorDetails = connectorString.split( ":" );
String connectorType = connectorDetails[0];
if ( connectorType.equals( "Remote" ) ) {
- // I need to use reflection to create this remote client, that contain a node conector that can be create using
- //the node connector factorynew KnowledgeBaseRemoteClient();
-
+ String provider = connectorDetails[1];
+ if(provider.equals("Mina")){
+ //@TODO use reflection to create a KnowledgeBaseRemoteClient
+ }
}
- return null;
+ if ( connectorType.equals( "Distributed" ) ) {
+ String provider = connectorDetails[1];
+ if(provider.equals("Rio")){
+ //@TODO use reflection to create a KnowledgeBaseGridClient
+ }
+ }
+
+
+ return client;
}
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -127,8 +127,32 @@
public KnowledgeBase newKnowledgeBase(String kbaseId,
KnowledgeBaseConfiguration conf) {
- // TODO Auto-generated method stub
- return null;
+
+ this.localId = kbaseId;
+
+
+ Message msg = new Message( this.messageSession.getSessionId(),
+ this.messageSession.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ this.localId,
+ new NewKnowledgeBaseCommand( conf ) ) );
+ try {
+ Object object = this.connector.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 KnowledgeBaseGridClient( this.localId,
+ this.connector,
+ this.messageSession,
+ this.connection );
}
public String getLocalId() {
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -200,7 +200,7 @@
public void setGlobal(String identifier,
Object object) {
- String commandId = "ksession.execute" + this.messageSession.getNextId();
+ String commandId = "ksession.setGlobal" + this.messageSession.getNextId();
String kresultsId = "kresults_" + this.messageSession.getSessionId();
Message msg = new Message( this.messageSession.getSessionId(),
@@ -214,14 +214,10 @@
kresultsId ) );
try {
- Object result = this.connector.write( msg ).getPayload();
- if ( result == null ) {
- throw new RuntimeException( "Response was not correctly received = null" );
- }
+ this.connector.write( msg ).getPayload();
+
- // if ( !(result instanceof FinishedCommand)) {
- // throw new RuntimeException( "Response was not correctly received" );
- // }
+
} catch ( Exception e ) {
throw new RuntimeException( "Unable to execute message",
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -205,7 +205,7 @@
public void setGlobal(String identifier,
Object object) {
- String commandId = "ksession.execute" + this.messageSession.getNextId();
+ String commandId = "ksession.setGlobal" + this.messageSession.getNextId();
String kresultsId = "kresults_" + this.messageSession.getSessionId();
Message msg = new Message( this.messageSession.getSessionId(),
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -277,4 +277,23 @@
RemoteException {
return ServiceType.REMOTE;
}
+
+ public String lookupKBaseLocationId(String kbaseId) throws ConnectorException, RemoteException {
+ this.connector.connect();
+ List<Object> args = new ArrayList<Object>( 1 );
+ args.add( kbaseId );
+ SimpleCommand cmd = new SimpleCommand( this.connector.getCounter().getAndIncrement(),
+ SimpleCommandName.RequestKBaseId,
+ args );
+ Message msg = new Message( this.connector.getSessionId(),
+ this.connector.getCounter().incrementAndGet(),
+ false,
+ cmd );
+ BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
+ write( msg,
+ handler );
+ SimpleCommand resultcmd = (SimpleCommand) handler.getMessage().getPayload();
+ String connectorString = (String) resultcmd.getArguments().get( 0 );
+ return connectorString;
+ }
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml 2010-09-24 18:25:58 UTC (rev 35279)
@@ -71,6 +71,14 @@
<type>jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-grid-distributed-rio</artifactId>
+ <version>5.2.0.SNAPSHOT</version>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+
<!-- RIO Test framework -->
<!--dependency>
<groupId>org.rioproject</groupId>
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -143,7 +143,7 @@
*
*/
public void unregisterExecutionEnvironment(String name) {
-
+
ExecutionEnvironment ee = this.executionEnvironments.get( name );
try {
@@ -470,15 +470,15 @@
*/
public void dispose() throws ConnectorException,
RemoteException {
-
+ System.out.println("I'm Disposing the topology!!!");
for ( String key : this.executionEnvironments.keySet() ) {
- unregisterExecutionEnvironment( key );
+ // unregisterExecutionEnvironment( key );
}
for ( String key : this.directoryInstances.keySet() ) {
- unregisterDirectoryInstance( key );
+ // unregisterDirectoryInstance( key );
}
for ( String key : this.taskServerInstances.keySet() ) {
- unregisterTaskServerInstance( key );
+ // unregisterTaskServerInstance( key );
}
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -10,13 +10,13 @@
public static GridTopology build(GridTopologyConfiguration gridConfiguration) {
GridTopology topology = new GridTopology( gridConfiguration.getName() );
- for ( DirectoryInstanceConfiguration directoryInstanceView : gridConfiguration.getDirectoryInstances() ) {
- topology.registerDirectoryInstance( directoryInstanceView.getName(),
- directoryInstanceView.getProvider() );
+ for ( DirectoryInstanceConfiguration directoryInstanceConfiguration : gridConfiguration.getDirectoryInstances() ) {
+ topology.registerDirectoryInstance( directoryInstanceConfiguration.getName(),
+ directoryInstanceConfiguration.getProvider() );
}
- for ( ExecutionEnvironmentConfiguration executionEnvironmentView : gridConfiguration.getExecutionEnvironments() ) {
- topology.registerExecutionEnvironment( executionEnvironmentView.getName(),
- executionEnvironmentView.getProvider() );
+ for ( ExecutionEnvironmentConfiguration executionEnvironmentConfiguration : gridConfiguration.getExecutionEnvironments() ) {
+ topology.registerExecutionEnvironment( executionEnvironmentConfiguration.getName(),
+ executionEnvironmentConfiguration.getProvider() );
}
for ( TaskServerInstanceConfiguration taskServerInstanceView : gridConfiguration.getTaskServers() ) {
topology.registerTaskServerInstance( taskServerInstanceView.getName(),
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java 2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java 2010-09-24 18:25:58 UTC (rev 35279)
@@ -63,7 +63,7 @@
}
public void setExecutionEnvironments(Map<String, ExecutionEnvironment> executionEnvironments) {
-
+
List<ExecutionEnvironment> eeList = new ArrayList<ExecutionEnvironment>();
for ( ExecutionEnvironment ee : executionEnvironments.values() ) {
eeList.add( ee );
More information about the jboss-svn-commits
mailing list