[jboss-svn-commits] JBL Code SVN: r33987 - in labs/jbossrules/trunk: drools-grid/drools-grid-core/src/main/java/org/drools/grid and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jul 17 01:43:46 EDT 2010


Author: mark.proctor at jboss.com
Date: 2010-07-17 01:43:45 -0400 (Sat, 17 Jul 2010)
New Revision: 33987

Added:
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/AcceptorService.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ContextManagerImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java
Removed:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/grid/
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/vsm/
Log:
-deleted vsm, as no longer used
-moved grid stuff out of drools-api for now, until ready to merge and sure it's got correct interface/impl separation

Copied: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/AcceptorService.java (from rev 33982, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/grid/AcceptorService.java)
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/AcceptorService.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/AcceptorService.java	2010-07-17 05:43:45 UTC (rev 33987)
@@ -0,0 +1,9 @@
+package org.drools.grid;
+
+import java.io.IOException;
+
+public interface AcceptorService {
+    void start() throws IOException;
+
+    void stop();
+}

Copied: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ContextManagerImpl.java (from rev 33982, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/grid/ContextManagerImpl.java)
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ContextManagerImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ContextManagerImpl.java	2010-07-17 05:43:45 UTC (rev 33987)
@@ -0,0 +1,37 @@
+/**
+ * 
+ */
+package org.drools.grid;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.command.Context;
+import org.drools.command.ContextManager;
+
+public class ContextManagerImpl
+    implements
+    ContextManager {
+    private Map<String, Context> contexts;
+    private Context              defaultContext;
+
+    public ContextManagerImpl() {
+        this.contexts = new HashMap<String, Context>();
+    }
+
+    public synchronized void addContext(Context context) {
+        if ( this.contexts.isEmpty() ) {
+            this.defaultContext = context;
+        }
+        this.contexts.put( context.getName(),
+                           context );
+    }
+
+    public synchronized Context getContext(String identifier) {
+        return this.contexts.get( identifier );
+    }
+
+    public Context getDefaultContext() {
+        return this.defaultContext;
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java (from rev 33982, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/grid/ExecutionNode.java)
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/ExecutionNode.java	2010-07-17 05:43:45 UTC (rev 33987)
@@ -0,0 +1,71 @@
+/*
+ *  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;
+
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ *
+ * @author salaboy
+ */
+public class ExecutionNode {
+
+    private String id;
+    private final Map<Class<?>, Object> services = new ConcurrentHashMap<Class<?>, Object>();
+
+    public ExecutionNode() {
+        this.id = UUID.randomUUID().toString();
+    }
+
+    public ExecutionNode(String id) {
+        this.id = id;
+    }
+
+    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);
+        }
+    }
+
+    public <T> void set(Class<T> interfaceClass, T provider) {
+        synchronized (interfaceClass) {
+            services.put(interfaceClass, provider);
+        }
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+    
+}



More information about the jboss-svn-commits mailing list