[jboss-svn-commits] JBL Code SVN: r32423 - labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 5 15:21:44 EDT 2010


Author: salaboy21
Date: 2010-04-05 15:21:44 -0400 (Mon, 05 Apr 2010)
New Revision: 32423

Modified:
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java
Log:
JBRULES-2446: Drools Services API
	- drools-grid-core adding ID field to ExecutionNode to maintain coherence with ServiceManager

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java	2010-04-05 18:50:44 UTC (rev 32422)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java	2010-04-05 19:21:44 UTC (rev 32423)
@@ -14,10 +14,10 @@
  *  limitations under the License.
  *  under the License.
  */
-
 package org.drools.grid;
 
 import java.util.Map;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -26,31 +26,46 @@
  */
 public class ExecutionNode {
 
- private final Map<Class<?>, Object> services
-    = new ConcurrentHashMap<Class<?>, Object>();
+    private String id;
+    private final Map<Class<?>, Object> services = new ConcurrentHashMap<Class<?>, Object>();
 
+    public ExecutionNode() {
+        this.id = UUID.randomUUID().toString();
+    }
 
-  public <T> T get(Class<T> interfaceClass) {
-    synchronized (interfaceClass) {
-      Object service = services.get(interfaceClass);
-      if (service == null) {
-        try {
-          Class<?> implementingClass = Class.forName(interfaceClass.getCanonicalName()+"Impl");
+    public ExecutionNode(String id) {
+        this.id = id;
+    }
 
-          service = implementingClass.newInstance();
-          services.put(interfaceClass, service);
+    public <T> T get(Class<T> interfaceClass) {
+        synchronized (interfaceClass) {
+            Object service = services.get(interfaceClass);
+            if (service == null) {
+                try {
+                    Class<?> implementingClass = Class.forName(interfaceClass.getCanonicalName() + "Impl");
+
+                    service = implementingClass.newInstance();
+                    services.put(interfaceClass, service);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            }
+            return interfaceClass.cast(service);
         }
-        catch (Exception e) {
-          throw new RuntimeException(e);
+    }
+
+    public <T> void set(Class<T> interfaceClass, T provider) {
+        synchronized (interfaceClass) {
+            services.put(interfaceClass, provider);
         }
-      }
-      return interfaceClass.cast(service);
     }
-  }
-  public <T> void set(Class<T> interfaceClass, T provider) {
-    synchronized (interfaceClass) {
-      services.put(interfaceClass, provider);
+
+    public String getId() {
+        return id;
     }
-  }
 
-}
\ No newline at end of file
+    public void setId(String id) {
+        this.id = id;
+    }
+    
+}



More information about the jboss-svn-commits mailing list