[jboss-svn-commits] JBL Code SVN: r33142 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src: main/java/org/drools/grid/services/local and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri May 28 11:25:20 EDT 2010
Author: salaboy21
Date: 2010-05-28 11:25:19 -0400 (Fri, 28 May 2010)
New Revision: 33142
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
Removed:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/EnvironmentProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironmentTopology.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/directory/
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalEnvironmentProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaEnvironmentProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvironmentSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/TopologyPrioritySelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
Log:
changing the semantic to GridTopology and GridResource
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java (from rev 33122, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/directory/DirectoryInstance.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -0,0 +1,14 @@
+package org.drools.grid.services;
+
+/**
+ * @author salaboy
+ */
+public class DirectoryInstance extends GridResource{
+
+ public DirectoryInstance(String name, GenericProvider provider) {
+ super(name, provider);
+ }
+
+
+
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/EnvironmentProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/EnvironmentProvider.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/EnvironmentProvider.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -1,15 +0,0 @@
-package org.drools.grid.services;
-
-import java.util.Map;
-import org.drools.grid.GenericNodeConnector;
-
-/**
- * @author salaboy
- */
-public interface EnvironmentProvider {
-
- public GenericNodeConnector getNodeConnector();
- public void setParameter(String name, Object value);
- public Object getParameter(String name);
- public Map<String, Object> getParameters();
-}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -1,88 +1,31 @@
+/*
+ * 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.services;
-import org.drools.grid.GenericNodeConnector;
-
-import java.util.HashMap;
-import java.util.Map;
-
/**
+ *
* @author salaboy
*/
-public class ExecutionEnvironment {
- private String name;
- private EnvironmentProvider provider;
- public enum ProviderStatus{RUNNING, STOPPED, FAILURE};
- private ProviderStatus status;
-
- private Map<String, Object> info;
+public class ExecutionEnvironment extends GridResource {
- public ExecutionEnvironment(String name, EnvironmentProvider provider) {
- this.name = name;
- this.provider = provider;
- this.info = new HashMap<String, Object>();
+ public ExecutionEnvironment(String name, GenericProvider provider) {
+ super(name, provider);
}
-
- private void queryForInfo(){
- //Information about the provider (Mem, CPU, KErnel, etc)
- this.info.put("info", null);
-
- }
-
- public boolean checkConnection(){
-
-
- return false;
- }
-
- public ProviderStatus getStatus(){
- if(checkConnection()){
- return ProviderStatus.RUNNING;
-
- }
- return null;
- }
-
-// public long ping() throws IOException{
-// String ip = provider.getParameter("providerAddress").toString();
-// InetAddress in = InetAddress.getByName(ip);
-// long startTime = System.currentTimeMillis();
-// long timeOfResponse;
-// if(in.isReachable(5000)){
-// timeOfResponse = System.currentTimeMillis();
-// System.out.println("Responde OK");
-// return timeOfResponse - startTime;
-// }
-// else{
-// System.out.println("No responde: Time out");
-// return 0;
-// }
-//
-// }
-
- public GenericNodeConnector getConnector(){
- return provider.getNodeConnector();
- }
-
- public Map<String, Object> getInfo(){
- return this.info;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public EnvironmentProvider getProvider() {
- return provider;
- }
-
- public void setProvider(EnvironmentProvider provider) {
- this.provider = provider;
- }
-
-
-}
\ No newline at end of file
+
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironmentTopology.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironmentTopology.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironmentTopology.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -1,91 +0,0 @@
-package org.drools.grid.services;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.drools.grid.ExecutionNode;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.services.directory.DirectoryInstance;
-import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
-import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
-
-/**
- * @author salaboy
- * ExecutionEnvironmentTopology describes the current topology of the grid
- * This topology description will be persistent, in case of failure
- * the topology can be restored.
- * This class will represent the configured topology related with a business case
- * and it will require that each execution environment is already started and running.
- */
-public class ExecutionEnvironmentTopology {
-
-
- private String name;
- private Map<String, ExecutionEnvironment> environments = new HashMap<String, ExecutionEnvironment>();
- private Map<String, DirectoryInstance> directories = new HashMap<String, DirectoryInstance>();
- private Map<String, GenericConnection> connections = new HashMap<String, GenericConnection>();
-
- public ExecutionEnvironmentTopology(String name) {
- this.name = name;
-
- }
-
- public void registerExecutionEnvironment(String name, EnvironmentProvider provider) {
-
- ExecutionEnvironment executionEnvironment = new ExecutionEnvironment(name, provider);
- GenericNodeConnector connector = executionEnvironment.getConnector();
- GenericConnection connection = connector.getConnection();
- connection.addNodeConnector(connector);
- connections.put(name, connection);
- environments.put(name, executionEnvironment);
-
- }
-//
-// public void registerDirectoryInstance(String name, DirectoryProvider provider){
-// // return new DirectoryInstance(name, provider);
-// // return null;
-// }
-
- public static ExecutionEnvironment lookup(String name) {
- //black magic
- return null;
- }
-
- public static DirectoryInstance lookupDirectoryInstance(String name) {
-
- return new DirectoryInstance();
- }
-
-// public Map<String, GenericConnection> getConnections() {
-// return this.connections;
-// }
-
- public ExecutionEnvironment getExecutionEnvironment(String name) {
- return this.environments.get(name);
- }
-
- public ExecutionEnvironment getBestExecutionEnvironment(ExecutionEnvironmentSelectionStrategy strategy) {
- return strategy.getBestExecutionEnvironment(environments);
- }
-
- public Map<String, ExecutionEnvironment> getExecutionEnvironments() {
- return this.environments;
- }
-
- public ExecutionNode getExecutionNode() {
- return null;
-
- }
- //@TODO: need to add strategy to get the execution node here!!!
- public ExecutionNode getExecutionNode(ExecutionEnvironment ee) {
- GenericConnection connection = connections.get(ee.getName());
- return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
- }
-
- public String getName() {
- return name;
- }
-
-
-
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java (from rev 33132, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/EnvironmentProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -0,0 +1,26 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.grid.GenericNodeConnector;
+
+/**
+ * @author salaboy
+ */
+public abstract class GenericProvider {
+ private Map<String, Object> paramters = new HashMap<String, Object>();
+
+ public abstract GenericNodeConnector getNodeConnector();
+
+ public void setParameter(String name, Object value){
+ this.paramters.put(name, value);
+ }
+ public Object getParameter(String name){
+ return this.paramters.get(name);
+ }
+ public Map<String, Object> getParameters(){
+ return this.paramters;
+ }
+
+ public abstract GridResource getGridResource(String name);
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java (from rev 33139, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -0,0 +1,94 @@
+package org.drools.grid.services;
+
+import org.drools.grid.GenericNodeConnector;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author salaboy
+ */
+public abstract class GridResource {
+
+
+ private String name;
+ private GenericProvider provider;
+ public enum ProviderStatus{RUNNING, STOPPED, FAILURE};
+ private ProviderStatus status;
+ private Map<String, Object> info;
+
+
+
+ public GridResource(String name, GenericProvider provider) {
+ this.name = name;
+ this.provider = provider;
+ this.info = new HashMap<String, Object>();
+ }
+
+
+ private void queryForInfo(){
+ //Information about the provider (Mem, CPU, KErnel, etc)
+ this.info.put("info", null);
+
+ }
+
+ public boolean checkConnection(){
+
+
+ return false;
+ }
+
+ public ProviderStatus getStatus(){
+ if(checkConnection()){
+ return ProviderStatus.RUNNING;
+
+ }
+ return null;
+ }
+
+// public long ping() throws IOException{
+// String ip = provider.getParameter("providerAddress").toString();
+// InetAddress in = InetAddress.getByName(ip);
+// long startTime = System.currentTimeMillis();
+// long timeOfResponse;
+// if(in.isReachable(5000)){
+// timeOfResponse = System.currentTimeMillis();
+// System.out.println("Responde OK");
+// return timeOfResponse - startTime;
+// }
+// else{
+// System.out.println("No responde: Time out");
+// return 0;
+// }
+//
+// }
+
+ public GenericNodeConnector getConnector(){
+ return provider.getNodeConnector();
+ }
+
+ public Map<String, Object> getInfo(){
+ return this.info;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public GenericProvider getProvider() {
+ return provider;
+ }
+
+ public void setProvider(GenericProvider provider) {
+ this.provider = provider;
+ }
+
+
+
+
+
+}
\ No newline at end of file
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java (from rev 33139, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironmentTopology.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -0,0 +1,83 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
+import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
+
+/**
+ * @author salaboy
+ * ExecutionEnvironmentTopology describes the current topology of the grid
+ * This topology description will be persistent, in case of failure
+ * the topology can be restored.
+ * This class will represent the configured topology related with a business case
+ * and it will require that each execution environment is already started and running.
+ */
+public class GridTopology {
+
+
+ private String name;
+ private Map<String, GridResource> resources = new HashMap<String, GridResource>();
+ private Map<String, GenericConnection> connections = new HashMap<String, GenericConnection>();
+
+ public GridTopology(String name) {
+ this.name = name;
+
+ }
+
+ public void registerGridResource(String name, GenericProvider provider) {
+
+ GridResource resource = provider.getGridResource(name);
+ GenericNodeConnector connector = resource.getConnector();
+ GenericConnection connection = connector.getConnection();
+ connection.addNodeConnector(connector);
+ connections.put(name, connection);
+ resources.put(name, resource);
+
+ }
+
+
+
+ public static GridResource lookup(String name) {
+ //black magic
+ return null;
+ }
+
+
+
+// public Map<String, GenericConnection> getConnections() {
+// return this.connections;
+// }
+
+ public GridResource getExecutionEnvironment(String name) {
+ return this.resources.get(name);
+ }
+
+ public GridResource getBestExecutionEnvironment(ExecutionEnvironmentSelectionStrategy strategy) {
+ return strategy.getBestExecutionEnvironment(resources);
+ }
+
+ public Map<String, GridResource> getExecutionEnvironments() {
+ return this.resources;
+ }
+
+ public ExecutionNode getExecutionNode() {
+ return null;
+
+ }
+ //@TODO: need to add strategy to get the execution node here!!!
+ public ExecutionNode getExecutionNode(GridResource ee) {
+ GenericConnection connection = connections.get(ee.getName());
+ return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
+ }
+
+ public String getName() {
+ return name;
+ }
+
+
+
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalEnvironmentProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalEnvironmentProvider.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalEnvironmentProvider.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -21,13 +21,15 @@
import java.util.Map;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.EnvironmentProvider;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GridResource;
/**
*
* @author salaboy
*/
-public class LocalEnvironmentProvider implements EnvironmentProvider{
+public class LocalEnvironmentProvider extends GenericProvider{
private Map<String, Object> parameters = new HashMap<String, Object>();
private transient GenericNodeConnector connector;
@@ -40,26 +42,20 @@
init();
}
+ private void init() {
+ connector = new LocalNodeConnector();
+ }
public GenericNodeConnector getNodeConnector() {
return this.connector;
}
- public void setParameter(String name, Object value) {
- this.parameters.put(name, value);
+ @Override
+ public GridResource getGridResource(String name) {
+ return new ExecutionEnvironment(name, this);
}
- public Object getParameter(String name) {
- return this.parameters.get(name);
- }
-
- public Map<String, Object> getParameters() {
- return this.parameters;
- }
-
- private void init() {
- connector = new LocalNodeConnector();
- }
-
+
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaEnvironmentProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaEnvironmentProvider.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaEnvironmentProvider.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -6,12 +6,14 @@
import org.drools.SystemEventListenerFactory;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.remote.mina.MinaNodeConnector;
-import org.drools.grid.services.EnvironmentProvider;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GridResource;
/**
* @author salaboy
*/
-public class MinaEnvironmentProvider implements EnvironmentProvider {
+public class MinaEnvironmentProvider extends GenericProvider {
private Map<String, Object> parameters = new HashMap<String, Object>();
private transient GenericNodeConnector connector;
@@ -28,22 +30,14 @@
SystemEventListenerFactory.getSystemEventListener());
}
-
-
+
- public void setParameter(String name, Object value) {
- parameters.put(name, value);
- }
-
- public Object getParameter(String name) {
- return parameters.get(name);
- }
-
- public Map<String, Object> getParameters() {
- return parameters;
- }
-
public GenericNodeConnector getNodeConnector(){
return this.connector;
}
+
+ @Override
+ public GridResource getGridResource(String name) {
+ return new ExecutionEnvironment(name, this);
+ }
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvironmentSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvironmentSelectionStrategy.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvironmentSelectionStrategy.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -18,14 +18,14 @@
package org.drools.grid.services.strategies;
import java.util.Map;
-import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GridResource;
/**
*
* @author salaboy
*/
public interface ExecutionEnvironmentSelectionStrategy {
- public ExecutionEnvironment getBestExecutionEnvironment();
- public void setEnvironments(Map<String, ExecutionEnvironment> environments);
- public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> environments);
+ public GridResource getBestExecutionEnvironment();
+ public void setEnvironments(Map<String, GridResource> environments);
+ public GridResource getBestExecutionEnvironment(Map<String, GridResource> environments);
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -18,7 +18,7 @@
package org.drools.grid.services.strategies;
import java.util.Map;
-import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GridResource;
/**
*
@@ -28,20 +28,20 @@
*/
public class LowPingFirstEnvironmentSelectionStrategy implements ExecutionEnvironmentSelectionStrategy {
- private Map<String, ExecutionEnvironment> environments;
+ private Map<String, GridResource> environments;
public LowPingFirstEnvironmentSelectionStrategy() {
}
- public LowPingFirstEnvironmentSelectionStrategy(Map<String, ExecutionEnvironment> environments) {
+ public LowPingFirstEnvironmentSelectionStrategy(Map<String, GridResource> environments) {
this.environments = environments;
}
- public ExecutionEnvironment getBestExecutionEnvironment() {
- ExecutionEnvironment selectedEnv = null;
- for(ExecutionEnvironment env : this.environments.values()){
+ public GridResource getBestExecutionEnvironment() {
+ GridResource selectedEnv = null;
+ for(GridResource env : this.environments.values()){
if(selectedEnv != null){
// try {
// int oldping = Integer.parseInt(selectedEnv.getInfo().get("ping").toString());
@@ -60,11 +60,11 @@
return selectedEnv;
}
- public void setEnvironments(Map<String, ExecutionEnvironment> environments) {
+ public void setEnvironments(Map<String, GridResource> environments) {
this.environments = environments;
}
- public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> environments) {
+ public GridResource getBestExecutionEnvironment(Map<String, GridResource> environments) {
setEnvironments(environments);
return getBestExecutionEnvironment();
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -18,7 +18,7 @@
package org.drools.grid.services.strategies;
import java.util.Map;
-import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GridResource;
/**
*
@@ -26,11 +26,11 @@
*/
public class RandomEnvironmentSelectionStrategy implements ExecutionEnvironmentSelectionStrategy{
- private Map<String, ExecutionEnvironment> environments;
- public ExecutionEnvironment getBestExecutionEnvironment() {
+ private Map<String, GridResource> environments;
+ public GridResource getBestExecutionEnvironment() {
int elementToGet = (new Double(Math.random() * 100).intValue() % environments.size());
int counter = 0;
- ExecutionEnvironment selectedEnv = null;
+ GridResource selectedEnv = null;
for(String key : environments.keySet()){
if(counter == elementToGet){
selectedEnv = environments.get(key);
@@ -40,11 +40,11 @@
return selectedEnv;
}
- public void setEnvironments(Map<String, ExecutionEnvironment> environments) {
+ public void setEnvironments(Map<String, GridResource> environments) {
this.environments = environments;
}
- public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> environments) {
+ public GridResource getBestExecutionEnvironment(Map<String, GridResource> environments) {
setEnvironments(environments);
return getBestExecutionEnvironment();
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/TopologyPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/TopologyPrioritySelectionStrategy.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/TopologyPrioritySelectionStrategy.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -22,8 +22,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.drools.grid.services.EnvironmentProvider;
-import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GridResource;
import org.drools.grid.services.local.LocalEnvironmentProvider;
import org.drools.grid.services.remote.MinaEnvironmentProvider;
@@ -33,22 +33,22 @@
*/
public class TopologyPrioritySelectionStrategy implements ExecutionEnvironmentSelectionStrategy {
- private Map<String, ExecutionEnvironment> environments;
+ private Map<String, GridResource> environments;
- public ExecutionEnvironment getBestExecutionEnvironment() {
- List<EnvironmentProvider> providers = new ArrayList<EnvironmentProvider>();
- for(ExecutionEnvironment ee : environments.values()){
+ public GridResource getBestExecutionEnvironment() {
+ List<GenericProvider> providers = new ArrayList<GenericProvider>();
+ for(GridResource ee : environments.values()){
providers.add(ee.getProvider());
}
- List<ExecutionEnvironment> ees = new ArrayList<ExecutionEnvironment>();
- for(ExecutionEnvironment ee : environments.values()){
+ List<GridResource> ees = new ArrayList<GridResource>();
+ for(GridResource ee : environments.values()){
ees.add(ee);
}
- Collections.sort(ees, new Comparator<ExecutionEnvironment>() {
+ Collections.sort(ees, new Comparator<GridResource>() {
- private Map<Class<? extends EnvironmentProvider> , Integer> priorities
- = new HashMap<Class<? extends EnvironmentProvider>, Integer>() {
+ private Map<Class<? extends GenericProvider> , Integer> priorities
+ = new HashMap<Class<? extends GenericProvider>, Integer>() {
{
put(LocalEnvironmentProvider.class, 1);
// put("RioEnvironmentProvider", 2);
@@ -57,13 +57,13 @@
}
};
- public int compare(ExecutionEnvironment o1, ExecutionEnvironment o2) {
+ public int compare(GridResource o1, GridResource o2) {
return priorities.get(o1.getProvider().getClass())
.compareTo(priorities.get(o2.getProvider().getClass()));
}
});
- for(ExecutionEnvironment ee : environments.values()){
+ for(GridResource ee : environments.values()){
if(ee == ees.get(0)){
return ee;
}
@@ -72,11 +72,11 @@
return null;
}
- public void setEnvironments(Map<String, ExecutionEnvironment> environments) {
+ public void setEnvironments(Map<String, GridResource> environments) {
this.environments = environments;
}
- public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> environments) {
+ public GridResource getBestExecutionEnvironment(Map<String, GridResource> environments) {
this.environments = environments;
return getBestExecutionEnvironment();
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -7,8 +7,8 @@
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.ExecutionEnvironmentTopology;
+import org.drools.grid.services.GridResource;
+import org.drools.grid.services.GridTopology;
import org.drools.grid.services.remote.MinaEnvironmentProvider;
import org.drools.grid.ExecutionNode;
import org.junit.Test;
@@ -40,7 +40,7 @@
private MinaAcceptor server1;
private MinaAcceptor server2;
- private ExecutionEnvironmentTopology eet;
+ private GridTopology eet;
@Before
public void setUp() throws IOException {
@@ -104,7 +104,7 @@
//The Execution Environment Topology will contain the Runtime state, persistent in time to be able to restore the
//topology in case of failure or restarting
- eet = new ExecutionEnvironmentTopology("MyCompanyTopology");
+ eet = new GridTopology("MyCompanyTopology");
//Specific paramters for this specific provider
Map<String, Object> parameters = new HashMap<String, Object>();
@@ -114,11 +114,11 @@
//Create the provider
MinaEnvironmentProvider provider = new MinaEnvironmentProvider(parameters);
//Register the provider into the topology
- eet.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
+ eet.registerGridResource("MyMinaExecutionEnv1", provider);
//Then we can get the registered Execution Environments by Name
- ExecutionEnvironment ee = eet.getExecutionEnvironment("MyMinaExecutionEnv1");
+ GridResource ee = eet.getExecutionEnvironment("MyMinaExecutionEnv1");
Assert.assertNotNull(ee);
// Give me an ExecutionNode in the selected environment
@@ -181,7 +181,7 @@
//topology in case of failure or restarting
- eet = new ExecutionEnvironmentTopology("MyCompanyTopology");
+ eet = new GridTopology("MyCompanyTopology");
//Specific paramters for this specific provider
Map<String, Object> parameters1 = new HashMap<String, Object>();
@@ -191,7 +191,7 @@
//Create the provider
MinaEnvironmentProvider provider1 = new MinaEnvironmentProvider(parameters1);
//Register the provider into the topology
- eet.registerExecutionEnvironment("MyMinaExecutionEnv1", provider1);
+ eet.registerGridResource("MyMinaExecutionEnv1", provider1);
//Specific paramters for this specific provider
Map<String, Object> parameters2 = new HashMap<String, Object>();
@@ -201,10 +201,10 @@
//Create the provider
MinaEnvironmentProvider provider2 = new MinaEnvironmentProvider(parameters2);
//Register the provider into the topology
- eet.registerExecutionEnvironment("MyMinaExecutionEnv2", provider2);
+ eet.registerGridResource("MyMinaExecutionEnv2", provider2);
//Then we can get the registered Execution Environments by Name
- ExecutionEnvironment ee = eet.getBestExecutionEnvironment(new RandomEnvironmentSelectionStrategy());
+ GridResource ee = eet.getBestExecutionEnvironment(new RandomEnvironmentSelectionStrategy());
Assert.assertNotNull(ee);
System.out.println("Selected Environment = " + ee.getName());
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -0,0 +1,70 @@
+/*
+ * 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;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GridTopology;
+import org.drools.grid.services.local.LocalEnvironmentProvider;
+import org.drools.grid.services.remote.MinaEnvironmentProvider;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RegisterDirectoryTest {
+
+ public RegisterDirectoryTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+
+ @Test
+ public void hello() {
+ GridTopology eet = new GridTopology("MyBusinessUnit");
+
+ GenericProvider localProvider = new LocalEnvironmentProvider(null);
+
+ eet.registerGridResource("MyLocalEnv", localProvider);
+
+
+
+ }
+
+}
\ No newline at end of file
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-05-28 14:50:01 UTC (rev 33141)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-05-28 15:25:19 UTC (rev 33142)
@@ -21,7 +21,7 @@
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.junit.Assert;
-import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GridResource;
import org.drools.grid.services.local.LocalEnvironmentProvider;
import java.util.HashMap;
import java.util.Map;
@@ -38,8 +38,8 @@
import org.drools.grid.internal.NodeData;
import org.drools.grid.remote.mina.MinaAcceptor;
import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.services.EnvironmentProvider;
-import org.drools.grid.services.ExecutionEnvironmentTopology;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GridTopology;
import org.drools.grid.services.remote.MinaEnvironmentProvider;
import org.drools.grid.services.strategies.TopologyPrioritySelectionStrategy;
import org.drools.io.ResourceFactory;
@@ -93,19 +93,19 @@
@Test
public void mixedTopologyMinaAndLocal() {
- ExecutionEnvironmentTopology eet = new ExecutionEnvironmentTopology("MyBusinessUnit");
+ GridTopology eet = new GridTopology("MyBusinessUnit");
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("providerName", "Mina1");
parameters.put("providerAddress", "127.0.0.1");
parameters.put("providerPort", 9123);
- EnvironmentProvider minaProvider = new MinaEnvironmentProvider(parameters);
- EnvironmentProvider localProvider = new LocalEnvironmentProvider(null);
+ GenericProvider minaProvider = new MinaEnvironmentProvider(parameters);
+ GenericProvider localProvider = new LocalEnvironmentProvider(null);
- eet.registerExecutionEnvironment("MyMinaEnv", minaProvider);
+ eet.registerGridResource("MyMinaEnv", minaProvider);
- eet.registerExecutionEnvironment("MyLocalEnv", localProvider);
+ eet.registerGridResource("MyLocalEnv", localProvider);
- ExecutionEnvironment ee = eet.getBestExecutionEnvironment(new TopologyPrioritySelectionStrategy());
+ GridResource ee = eet.getBestExecutionEnvironment(new TopologyPrioritySelectionStrategy());
Assert.assertNotNull(ee);
System.out.println("EE Name = "+ee.getName());
More information about the jboss-svn-commits
mailing list