[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