[jboss-svn-commits] JBL Code SVN: r35790 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/time/impl and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 28 16:22:56 EDT 2010


Author: salaboy21
Date: 2010-10-28 16:22:54 -0400 (Thu, 28 Oct 2010)
New Revision: 35790

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java
Removed:
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java
Log:
JBRULES-2746: Drools Grid Impl2
            - refactor timerservice into schedulerservice and timerservice

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java (from rev 35787, labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -0,0 +1,45 @@
+/*
+ * 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.time;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface SchedulerService {
+
+    /**
+     * Schedule a job for later execution
+     * 
+     * @param job
+     * @param ctx
+     * @param trigger
+     * 
+     * @return
+     */
+    public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger);
+
+    /**
+     * Remove the job identified by the given job handle from the 
+     * scheduled queue
+     * 
+     * @param jobHandle the job identity handle
+     * 
+     * @return
+     */
+    public boolean removeJob(JobHandle jobHandle);
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -20,7 +20,7 @@
  * An interface for all timer service implementations used in a drools session.
  * 
  */
-public interface TimerService {
+public interface TimerService extends SchedulerService {
     
     /**
      * Returns the current time from the scheduler clock
@@ -30,28 +30,9 @@
      */
     public long getCurrentTime();
     
-    /**
-     * Schedule a job for later execution
-     * 
-     * @param job
-     * @param ctx
-     * @param trigger
-     * 
-     * @return
-     */
-	public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger);
+   
 	
 	/**
-	 * Remove the job identified by the given job handle from the 
-	 * scheduled queue
-	 * 
-	 * @param jobHandle the job identity handle
-	 * 
-	 * @return
-	 */
-	public boolean removeJob(JobHandle jobHandle);
-	
-	/**
 	 * Shuts the service down
 	 */
     public void shutdown();

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -16,6 +16,7 @@
 
 package org.drools.time.impl;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ScheduledFuture;
@@ -161,7 +162,7 @@
 
     public static class JDKJobHandle
         implements
-        JobHandle {
+        JobHandle{
 
         private static final long serialVersionUID = 510l;
         

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -17,4 +17,6 @@
     public Address addAddress(String transport);
 
     public void removeAddress(String transport);
+    
+   // public Object getData();
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -34,9 +34,11 @@
             
             String[] clazzName = serviceId.split(":");
             if(clazzName[0].equals("scheduler")){
+                ((GridServiceDescriptionImpl)gsd).setId("org.drools.time.SchedulerService");
                 gsd.setImplementedClass(Class.forName("org.drools.grid.timer.impl.SchedulerImpl"));
             }
              if(clazzName[0].equals("schedulerclient")){
+                ((GridServiceDescriptionImpl)gsd).setId("org.drools.time.SchedulerService");
                 gsd.setImplementedClass(Class.forName("org.drools.grid.timer.impl.SchedulerClient"));
             }
             

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -82,7 +82,19 @@
                      whitePagesGsd.getId(),
                      cmd );
     }
+    
+    public Object getData() {
+        InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) whitePagesGsd.getAddresses().get( "socket" )).getObject();
+        CommandImpl cmd = new CommandImpl( "GridServiceDescription.getData",
+                                           null );
+        Object data = (Object) sendMessage( this.conversationManager,
+                     sockets,
+                     whitePagesGsd.getId(),
+                     cmd );
+        return data;
+    }
 
+
     @Override
     public boolean equals(Object obj) {
         //@TODO: improve equals comparision
@@ -105,15 +117,9 @@
         return hash;
     }
 
-    public Class getServiceTypeClass() {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
 
-    public void setServiceTypeClass(Class clazz) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
     
     
+    
 
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,7 +1,6 @@
 package org.drools.grid.service.directory.impl;
 
 import java.io.Serializable;
-import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.util.Collections;
 import java.util.HashMap;
@@ -22,6 +21,8 @@
     
     private Map<String, Address> addresses = new HashMap<String, Address>();
     
+    //private Object               data;
+    
     public GridServiceDescriptionImpl() {
     	
     }
@@ -102,6 +103,10 @@
         }
         return result;
     }
+
+//    public Object getData() {
+//        return data;
+//    }
     
     
 

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -83,6 +83,17 @@
         return this.detached;
     }
 
+//     public Object getData() {
+//        EntityManager em = this.emf.createEntityManager();
+//        em.getTransaction().begin();
+//        this.detached = em.find( GridServiceDescriptionImpl.class, this.detached.getId() );
+//        Object data = this.detached.getData();
+//        em.getTransaction().commit();
+//        em.close();
+//        return data;
+//    }
+
+    
    @Override
     public boolean equals(Object obj) {
         //@TODO: improve equals comparision
@@ -100,12 +111,7 @@
         return hash;
     }
 
-    public Class getServiceTypeClass() {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public void setServiceTypeClass(Class clazz) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
+   
+  
      
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -19,7 +19,7 @@
         
         //GridServiceDescription gsd = new GridServiceDescriptionImpl( serviceDescriptionId );
         GridServiceDescription gsd = GridServiceDescriptionFactory.newGridServiceDescritpion( serviceDescriptionId );
-        this.directory.put( serviceDescriptionId, gsd ); 
+        this.directory.put(gsd.getId() , gsd ); 
         return gsd;
     }
 

Deleted: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,34 +0,0 @@
-/*
- * 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.timer;
-
-import org.drools.grid.timer.impl.ScheduledJob;
-
-
-
-
-/**
- *
- * @author salaboy
- */
-public interface Scheduler {
-    public String getId();
-    public void scheduleJob(ScheduledJob job);
-    public void removeJob(String jobId);
-    
-}

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -15,7 +15,7 @@
     implements
     GridPeerServiceConfiguration {
 
-    public CoreServicesSchedulerConfiguration() {
+    public CoreServicesSchedulerConfiguration() { 
         
     }
 

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -18,8 +18,9 @@
 package org.drools.grid.timer.impl;
 
 import org.drools.grid.timer.CoreServicesScheduler;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
 
+
 /**
  *
  * @author salaboy
@@ -27,15 +28,15 @@
 public class CoreServicesSchedulerImpl implements CoreServicesScheduler {
 
     
-    private Scheduler scheduler;
+    private SchedulerService scheduler;
     
     
-    public CoreServicesSchedulerImpl(Scheduler scheduler) {
+    public CoreServicesSchedulerImpl(SchedulerService scheduler) {
         this.scheduler = scheduler;
     }
 
     public void scheduleJob(ScheduledJob job) {
-        this.scheduler.scheduleJob(job);
+        this.scheduler.scheduleJob(job.getJob(), job.getJobContext(), job.getTrigger());
     }
 
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -31,13 +31,17 @@
 import org.drools.grid.io.impl.ConversationManagerImpl;
 import org.drools.grid.remote.mina.MinaConnector;
 import org.drools.grid.service.directory.Address;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.Job;
+import org.drools.time.JobContext;
+import org.drools.time.JobHandle;
+import org.drools.time.SchedulerService;
+import org.drools.time.Trigger;
 
 /**
  *
  * @author salaboy
  */
-public class SchedulerClient implements Scheduler,
+public class SchedulerClient implements SchedulerService,
     MessageReceiverHandlerFactoryService{
 
     private GridServiceDescription schedulerGsd;
@@ -62,24 +66,13 @@
     public void scheduleJob(ScheduledJob job, Serializable addr) {
         CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
                                            Arrays.asList( new Object[]{ job } ) ); 
+        
         sendMessage( this.conversationManager,
                      addr,
                      this.schedulerGsd.getId(),
                      cmd );     
     }
-    public void scheduleJob(ScheduledJob job) {
-        InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) schedulerGsd.getAddresses().get( "socket" )).getObject();
-        CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
-                                           Arrays.asList( new Object[]{ job } ) ); 
-        sendMessage( this.conversationManager,
-                     sockets,
-                     this.schedulerGsd.getId(),
-                     cmd );    
-    }
-
-    public void removeJob(String jobId) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
+   
     
     public static Object sendMessage(ConversationManager conversationManager,
                                      Serializable addr,
@@ -132,4 +125,18 @@
         return this.id;
     }
 
+    public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger) {
+        InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) schedulerGsd.getAddresses().get( "socket" )).getObject();
+        CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
+                                           Arrays.asList( new Object[]{ new ScheduledJob(new UuidJobHandle(), job, ctx, trigger, null) } ) ); 
+        return (UuidJobHandle) sendMessage( this.conversationManager,
+                     sockets,
+                     this.schedulerGsd.getId(),
+                     cmd );    
+    }
+
+    public boolean removeJob(JobHandle jobHandle) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -17,23 +17,23 @@
 
 package org.drools.grid.timer.impl;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.drools.grid.ServiceFactory;
 import org.drools.grid.Grid;
-import org.drools.grid.GridServiceDescription;
 import org.drools.grid.MessageReceiverHandlerFactoryService;
 import org.drools.grid.io.MessageReceiverHandler;
-import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.Job;
+import org.drools.time.JobContext;
+import org.drools.time.JobHandle;
+import org.drools.time.SchedulerService;
+
 import org.drools.time.TimerService;
+import org.drools.time.Trigger;
 import org.drools.time.impl.JDKTimerService;
 
 /**
  *
  * @author salaboy
  */
-public class SchedulerImpl implements Scheduler, MessageReceiverHandlerFactoryService{
+public class SchedulerImpl implements SchedulerService, MessageReceiverHandlerFactoryService{
     private TimerService timer =  new JDKTimerService();
     private String id;
     private Grid grid; 
@@ -43,26 +43,6 @@
         this.grid = grid;
     }
     
-    public void scheduleJob(ScheduledJob job) {
-        if(job.getConfiguration().getRedundancy() == 1){
-            timer.scheduleJob(job.getJob(), job.getJobContext(), job.getTrigger());
-        
-        }else if(job.getConfiguration().getRedundancy() > 1){
-           WhitePages wp = grid.get(WhitePages.class);
-           GridServiceDescription schedservice = wp.lookup(Scheduler.class.getName()); 
-           
-           Scheduler sched = ServiceFactory.newServiceInstance(Scheduler.class, schedservice);
-           sched.scheduleJob(job);
-           
-           
-        }
-        
-    }
-
-    public void removeJob(String jobId) {
-        
-    }
-
     public MessageReceiverHandler getMessageReceiverHandler() {
         return new SchedulerServer(this);
     }
@@ -74,6 +54,14 @@
     public Grid getGrid() {
         return grid;
     }
+
+    public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger) {
+        return timer.scheduleJob(job, ctx, trigger);
+    }
+
+    public boolean removeJob(JobHandle jobHandle) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
     
     
    

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -7,29 +7,29 @@
 import org.drools.grid.GridPeerServiceConfiguration;
 import org.drools.grid.impl.GridImpl;
 import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
 
 public class SchedulerLocalConfiguration
     implements
     GridPeerServiceConfiguration {
 
-    private Scheduler scheduler;
+    private SchedulerService scheduler;
     private String id;
 
     public SchedulerLocalConfiguration(String id) {
         this.id =  id;
     }
 
-    public void setScheduler(Scheduler scheduler) {
+    public void setScheduler(SchedulerService scheduler) {
         this.scheduler = scheduler;
     }
 
     public void configureService(Grid grid) {
         WhitePages wp = grid.get(WhitePages.class);
-        Scheduler sched = (this.scheduler != null) ? this.scheduler : new SchedulerImpl(this.id, grid);
-        ((GridImpl) grid).addService( Scheduler.class,
+        SchedulerService sched = (this.scheduler != null) ? this.scheduler : new SchedulerImpl(this.id, grid);
+        ((GridImpl) grid).addService( SchedulerService.class,
                                       sched );
-        wp.create("scheduler:"+sched.getId()+"@local/local");
+        wp.create("scheduler:"+id+"@local/local");
 
     }
 

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -9,8 +9,9 @@
 import org.drools.grid.GridPeerServiceConfiguration;
 import org.drools.grid.impl.GridImpl;
 import org.drools.grid.io.ConversationManager;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
 
+
 public class SchedulerRemoteConfiguration
     implements
     GridPeerServiceConfiguration {
@@ -25,11 +26,11 @@
     public void configureService(Grid grid) {
         CoreServicesWhitePagesImpl coreServices = (CoreServicesWhitePagesImpl) grid.get( CoreServicesWhitePages.class );
 
-        GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServices.lookup( Scheduler.class );
+        GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServices.lookup( SchedulerService.class );
 
-        Scheduler scheduler = new SchedulerClient(gsd.getId(), gsd, 
+        SchedulerService scheduler = new SchedulerClient(gsd.getId(), gsd, 
                                               cm );
-        ((GridImpl) grid).addService( Scheduler.class,
+        ((GridImpl) grid).addService( SchedulerService.class,
                                       scheduler );
         
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -24,17 +24,18 @@
 import org.drools.grid.io.Message;
 import org.drools.grid.io.MessageReceiverHandler;
 import org.drools.grid.io.impl.CommandImpl;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
 
+
 /**
  *
  * @author salaboy
  */
 public class SchedulerServer implements
     MessageReceiverHandler{
-    private Scheduler scheduler = null; 
+    private SchedulerService scheduler = null; 
 
-    public SchedulerServer(Scheduler scheduler) {
+    public SchedulerServer(SchedulerService scheduler) {
         this.scheduler = scheduler;
     }
     
@@ -54,10 +55,10 @@
                                                                          Conversation con,
                                                                          Message msg,
                                                                          CommandImpl cmd) {
-                                                         Scheduler scheduler = (Scheduler) object;
+                                                         SchedulerService scheduler = (SchedulerService) object;
                                                          final List list = cmd.getArguments();
-                                                         scheduler.scheduleJob((ScheduledJob)list.get(0));
-                                                         con.respond( true );
+                                                         scheduler.scheduleJob(((ScheduledJob)list.get(0)).getJob(),((ScheduledJob)list.get(0)).getJobContext(), ((ScheduledJob)list.get(0)).getTrigger());
+                                                         con.respond( ((ScheduledJob)list.get(0)).getJobHandle() );
                                                      }
                                                  } );
                                         }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -13,8 +13,7 @@
 import org.drools.grid.MessageReceiverHandlerFactoryService;
 import org.drools.grid.MultiplexSocketService;
 import org.drools.grid.service.directory.Address;
-import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
 
 public class SchedulerSocketConfiguration
 implements
@@ -30,22 +29,22 @@
     }
     
     public void configureService(Grid grid) {
-        Scheduler sched = grid.get( Scheduler.class );
+        SchedulerService sched = grid.get( SchedulerService.class );
 
         if ( port != -1 ) {
             CoreServicesWhitePagesImpl coreServicesWP = (CoreServicesWhitePagesImpl) grid.get( CoreServicesWhitePages.class );
 
-            GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServicesWP.lookup(Scheduler.class);
+            GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServicesWP.lookup(SchedulerService.class);
             if ( gsd == null ) {
-                gsd = new GridServiceDescriptionImpl( Scheduler.class );
+                gsd = new GridServiceDescriptionImpl( SchedulerService.class );
             }
 
             MultiplexSocketService mss = grid.get( MultiplexSocketService.class );
 
             
-            GridServiceDescription service = coreServicesWP.getServices().get( Scheduler.class.getName() );
+            GridServiceDescription service = coreServicesWP.getServices().get( SchedulerService.class.getName() );
             if( service == null){
-                coreServicesWP.getServices().put(Scheduler.class.getName(), gsd);
+                coreServicesWP.getServices().put(SchedulerService.class.getName(), gsd);
                 service = gsd;
             }
             Address address = null;
@@ -69,7 +68,7 @@
            
             
             mss.addService( this.port,
-                            Scheduler.class.getName(),
+                            SchedulerService.class.getName(),
                             ((MessageReceiverHandlerFactoryService) sched   ).getMessageReceiverHandler() );
         }
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -3,13 +3,14 @@
  */
 package org.drools.grid.timer.impl;
 
+import java.io.Serializable;
 import java.util.UUID;
 
 import org.drools.time.JobHandle;
 
 public class UuidJobHandle
     implements
-    JobHandle {
+    JobHandle, Serializable {
     private UUID uuid;
 
     public UuidJobHandle() {

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml	2010-10-28 20:22:54 UTC (rev 35790)
@@ -19,7 +19,6 @@
 
       <attributes>
           <id name="id" />        
-          
           <one-to-many name="addresses" mapped-by="gridServiceDescription" target-entity="org.drools.grid.service.directory.impl.AddressImpl" fetch="EAGER" >
               <map-key name="transport" /> 
               <cascade>

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -44,13 +44,13 @@
 import org.drools.grid.service.directory.impl.WhitePagesLocalConfiguration;
 import org.drools.grid.service.directory.impl.WhitePagesRemoteConfiguration;
 import org.drools.grid.service.directory.impl.WhitePagesSocketConfiguration;
-import org.drools.grid.timer.Scheduler;
 import org.drools.grid.timer.impl.CoreServicesSchedulerConfiguration;
 import org.drools.grid.timer.impl.ScheduledJobConfiguration;
 import org.drools.grid.timer.impl.SchedulerImpl;
 import org.drools.grid.timer.impl.SchedulerLocalConfiguration;
 import org.drools.grid.timer.impl.SchedulerRemoteConfiguration;
 import org.drools.grid.timer.impl.SchedulerSocketConfiguration;
+import org.drools.time.SchedulerService;
 
 public class DistributedSchedulerTest extends TestCase {
 
@@ -110,15 +110,15 @@
     public void testDistributedJobSchedullingLocal() {
 
         GridImpl grid = new GridImpl(new ConcurrentHashMap<String, Object>());
-        grid.addService(Scheduler.class, new SchedulerImpl("myLocalSched",grid));
+        grid.addService(SchedulerService.class, new SchedulerImpl("myLocalSched",grid));
 
-        Scheduler scheduler = grid.get(Scheduler.class);
+        SchedulerService scheduler = grid.get(SchedulerService.class);
 
         UuidJobHandle handle = new UuidJobHandle();
         ScheduledJob sj1 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
         ScheduledJob sj2 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
 
-        scheduler.scheduleJob(sj1);
+        scheduler.scheduleJob(new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)));
 
 
 
@@ -162,10 +162,10 @@
         ScheduledJob sj1 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
 
         //From grid2 I get the Scheduler (that it's a client)
-        Scheduler scheduler = grid2.get(Scheduler.class);
+        SchedulerService scheduler = grid2.get(SchedulerService.class);
 
         //Schedule remotely the Job
-        scheduler.scheduleJob(sj1);
+        scheduler.scheduleJob(new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)));
         
         
         //Close the peer connection
@@ -199,7 +199,7 @@
         
         CoreServicesWhitePages corewp = grid3.get(CoreServicesWhitePages.class);
         
-        GridServiceDescription gsd = corewp.lookup(Scheduler.class);
+        GridServiceDescription gsd = corewp.lookup(SchedulerService.class);
                 
         Assert.assertEquals(2, ((InetSocketAddress[])gsd.getAddresses().values().iterator().next().getObject()).length);
         

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java	2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java	2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,7 +1,6 @@
 package org.drools.io.mina;
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import junit.framework.Assert;
@@ -27,8 +26,8 @@
 import org.drools.grid.service.directory.impl.WhitePagesLocalConfiguration;
 import org.drools.grid.service.directory.impl.WhitePagesRemoteConfiguration;
 import org.drools.grid.service.directory.impl.WhitePagesSocketConfiguration;
-import org.drools.grid.timer.Scheduler;
 import org.drools.grid.timer.impl.SchedulerLocalConfiguration;
+import org.drools.time.SchedulerService;
 
 
 public class WhitePagesTest extends TestCase {
@@ -126,15 +125,16 @@
         
         
         WhitePages wplocal= grid1.get(WhitePages.class);
+        Assert.assertNotNull(wplocal);
+        GridServiceDescription schedulersgsd = wplocal.lookup(SchedulerService.class.getName());
+    
+        Assert.assertNotNull(schedulersgsd);
+  
         
-        GridServiceDescription schedulersgsd = wplocal.lookup(Scheduler.class.getName());
         
-        Assert.assertEquals(2, schedulersgsd.getAddresses().size());
         
         
         
-        
-        
     }
     
     



More information about the jboss-svn-commits mailing list