eu.xtreemos.xosd.crondaemon
Class CronDaemon

java.lang.Object
  extended by eu.xtreemos.system.eventmachine.stage.AbstractStage
      extended by eu.xtreemos.system.eventmachine.stage.AbstractReceivingStage
          extended by eu.xtreemos.system.eventmachine.stage.Abstract2wayStage
              extended by eu.xtreemos.xosd.crondaemon.CronDaemon
All Implemented Interfaces:
eu.xtreemos.system.eventmachine.queue.IEventHandler, eu.xtreemos.system.eventmachine.stage.IStage

public class CronDaemon
extends eu.xtreemos.system.eventmachine.stage.Abstract2wayStage


Nested Class Summary
(package private)  class CronDaemon.ExecuteThread
           
(package private)  class CronDaemon.WaiterThread
           
 
Field Summary
private  java.util.ArrayList<CronDaemonEntry> entries
           
private  int executionCoutner
           
private  java.lang.Boolean isPaused
           
private  CronDaemon.WaiterThread waitThread
           
 
Fields inherited from class eu.xtreemos.system.eventmachine.stage.Abstract2wayStage
context, counter, curContext, sink
 
Fields inherited from class eu.xtreemos.system.eventmachine.stage.AbstractReceivingStage
queue
 
Fields inherited from class eu.xtreemos.system.eventmachine.stage.AbstractStage
handlerChain, handlerGroup, handlerThreads, name, running, serviceListeners
 
Constructor Summary
CronDaemon()
           
 
Method Summary
 void addEntry(CronDaemonEntry entry)
           
private  void executeTop()
           
 java.util.ArrayList<CommunicationAddress> getDaemons()
           
 java.lang.String getHandledEventType()
           
private  java.util.ArrayList<CronDaemonEntry> groupByTag(java.lang.String tag)
           
private  java.util.ArrayList<CronDaemonEntry> groupByTags(java.util.ArrayList<java.lang.String> tags)
           
private  java.util.ArrayList<CronDaemonEntry> groupByTags(java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object>> tags)
           
private  java.util.ArrayList<CronDaemonEntry> groupByTags(java.lang.String tag, java.lang.Object value)
           
private  java.util.ArrayList<CronDaemonEntry> groupByUUID(java.lang.String uuid)
           
private  java.util.ArrayList<CronDaemonEntry> groupByUUIDs(java.util.ArrayList<java.lang.String> uuids)
           
private  CronDaemonEntry handleEntry(CronDaemonEntry entry)
           
 void handleEvent(java.lang.Object event)
           
private  boolean insert(CronDaemonEntry entry)
           
 void killEntries()
           
 int numExecutions()
           
 void pause(java.lang.Long ms)
           
private  void remove(java.util.ArrayList<CronDaemonEntry> entries)
           
 void removeEntry(CronDaemonEntry entry)
           
 void removeTaggedByArr(java.util.ArrayList<java.lang.String> tags)
           
 void removeTaggedByHash(java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object>> tags)
           
 void removeTaggedByStr(java.lang.String tag)
           
 void removeUUID(java.lang.String uuid)
           
 void resume()
           
 void test1(java.lang.String s1, java.lang.String s2, java.lang.String s3)
           
private  void updateWaitTime()
           
 
Methods inherited from class eu.xtreemos.system.eventmachine.stage.Abstract2wayStage
getContext, removeContext, SendException, SendException, SendException, SendReply, SendReply, SendReply, setSink
 
Methods inherited from class eu.xtreemos.system.eventmachine.stage.AbstractReceivingStage
dequeue, getSource
 
Methods inherited from class eu.xtreemos.system.eventmachine.stage.AbstractStage
addHandler, addHandler, addServiceListener, getName, getShortName, getThreadCount, init, notifyServiceInitialised, notifyServiceStarted, notifyServiceStopped, processEvent, removeHandler, removeServiceListener, setThreadCount, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entries

private java.util.ArrayList<CronDaemonEntry> entries

waitThread

private CronDaemon.WaiterThread waitThread

executionCoutner

private int executionCoutner

isPaused

private java.lang.Boolean isPaused
Constructor Detail

CronDaemon

public CronDaemon()
Method Detail

getDaemons

public java.util.ArrayList<CommunicationAddress> getDaemons()

updateWaitTime

private void updateWaitTime()

handleEntry

private CronDaemonEntry handleEntry(CronDaemonEntry entry)

insert

private boolean insert(CronDaemonEntry entry)

addEntry

public void addEntry(CronDaemonEntry entry)

executeTop

private void executeTop()

numExecutions

public int numExecutions()

killEntries

public void killEntries()

pause

public void pause(java.lang.Long ms)

resume

public void resume()

removeEntry

public void removeEntry(CronDaemonEntry entry)

groupByTag

private java.util.ArrayList<CronDaemonEntry> groupByTag(java.lang.String tag)

groupByTags

private java.util.ArrayList<CronDaemonEntry> groupByTags(java.util.ArrayList<java.lang.String> tags)

groupByTags

private java.util.ArrayList<CronDaemonEntry> groupByTags(java.lang.String tag,
                                                         java.lang.Object value)

groupByTags

private java.util.ArrayList<CronDaemonEntry> groupByTags(java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object>> tags)

groupByUUID

private java.util.ArrayList<CronDaemonEntry> groupByUUID(java.lang.String uuid)

groupByUUIDs

private java.util.ArrayList<CronDaemonEntry> groupByUUIDs(java.util.ArrayList<java.lang.String> uuids)

remove

private void remove(java.util.ArrayList<CronDaemonEntry> entries)

removeUUID

public void removeUUID(java.lang.String uuid)

removeTaggedByStr

public void removeTaggedByStr(java.lang.String tag)

removeTaggedByArr

public void removeTaggedByArr(java.util.ArrayList<java.lang.String> tags)

removeTaggedByHash

public void removeTaggedByHash(java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object>> tags)

getHandledEventType

public java.lang.String getHandledEventType()
Specified by:
getHandledEventType in class eu.xtreemos.system.eventmachine.stage.AbstractReceivingStage

handleEvent

public void handleEvent(java.lang.Object event)
                 throws java.lang.Exception
Specified by:
handleEvent in interface eu.xtreemos.system.eventmachine.queue.IEventHandler
Specified by:
handleEvent in class eu.xtreemos.system.eventmachine.stage.AbstractReceivingStage
Throws:
java.lang.Exception

test1

public void test1(java.lang.String s1,
                  java.lang.String s2,
                  java.lang.String s3)