radtools.services.ror
Class RoRServerLinux

java.lang.Object
  extended by rcf.core.framework.component.DynamicComponent.Abstract
      extended by radtools.services.AbstractRADService
          extended by radtools.services.linux.AbstractLinuxHostedRADService
              extended by radtools.services.ror.RoRServerLinux
All Implemented Interfaces:
HostedRADService, LinuxHostedRADService, RADService, DynamicBound, DynamicComponent, ReflectedBindable<DynamicComponent>, ReflectedComponent, rcf.core.util.accessor.GUIAccessible

@Revision(value="$Revision: 1.8 $",
          date="$Date: 2006/12/13 07:05:45 $",
          tag="$Name:  $")
public class RoRServerLinux
extends AbstractLinuxHostedRADService

TODO: Javadoc

TODO: Unit tests, Code review, Javadoc review, Seal/Finalize TODO: equals, hashCode, toString

Version:
$Revision: 1.8 $
Author:
Greg Gibeling

Nested Class Summary
 class RoRServerLinux.ConfigDatabaseTask
          TODO: Javadoc
 class RoRServerLinux.ConfigEnvironmentTask
          TODO: Javadoc
protected  class RoRServerLinux.DatabaseSink
          TODO: Javadoc
protected  class RoRServerLinux.EnvironmentSink
          TODO: Javadoc
static class RoRServerLinux.RoRDatabase
          TODO: Javadoc
protected  class RoRServerLinux.State
          TODO: Javadoc
 
Nested classes/interfaces inherited from class radtools.services.AbstractRADService
AbstractRADService.AbstractRADServiceState, AbstractRADService.RefreshTask, AbstractRADService.StateProxy, AbstractRADService.UpdateTask
 
Nested classes/interfaces inherited from interface rcf.core.framework.component.DynamicComponent
DynamicComponent.Abstract, DynamicComponent.Default
 
Nested classes/interfaces inherited from interface rcf.core.framework.component.DynamicBound
DynamicBound.GUIType
 
Field Summary
protected  DefaultDynamicProperty<Integer> basePort
          TODO: Javadoc
protected  boolean colorLogs
          TODO: Javadoc
protected  String database
          TODO: Javadoc
protected  rcf.core.util.map.HashSetMap<RoRServerLinux.RoRDatabase,String> databases
          TODO: Javadoc
protected  StrongReference<EventSink<? super DynamicPropertyEvent>> databaseSink
          TODO: Javadoc
protected  StrongReference<EventSink<? super DynamicPropertyEvent>> environmentSink
          TODO: Javadoc
protected  rcf.core.util.collection.Collection<HostPort> memcacheDaemons
          TODO: Javadoc
protected  DefaultDynamicProperty<Integer> numDispatchers
          TODO: Javadoc
protected  String siteDir
          TODO: Javadoc
 
Fields inherited from class radtools.services.AbstractRADService
composition, dependency, management, proxy, state, window
 
Fields inherited from class rcf.core.framework.component.DynamicComponent.Abstract
component, operations, properties
 
Constructor Summary
RoRServerLinux(LinuxSystem _host, RADService _composition, int _numDispatchers, int _basePort, String _siteDir)
          TODO: Javadoc
 
Method Summary
private  void configDatabase()
          TODO: Javadoc
private  void configEnvironment()
          TODO: Javadoc
 boolean isConcrete()
          Determine if this RADService is a concrete service, or simply an arbitrary abstraction built for management purposes.
 DynamicProperty<RADService.State> radServiceState()
          Returns the dynamic property object for the state of this service.
 DynamicProperty<Integer> rorBasePort()
          TODO: Javadoc
 DynamicProperty<Integer> rorNumDispatchers()
          TODO: Javadoc
 String toString()
           
 
Methods inherited from class radtools.services.linux.AbstractLinuxHostedRADService
host
 
Methods inherited from class radtools.services.AbstractRADService
check, communication, composition, dependency, icon, management, radTools, refresh, update, window
 
Methods inherited from class rcf.core.framework.component.DynamicComponent.Abstract
bind, component, gui, interfaces, isInstance, o, operations, popupMenu, properties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface radtools.services.RADService
communication, composition, dependency, management, refresh, update, window
 
Methods inherited from interface rcf.core.framework.component.DynamicComponent
component, operations, properties
 
Methods inherited from interface rcf.core.framework.component.DynamicBound
gui
 
Methods inherited from interface rcf.core.util.accessor.GUIAccessible
icon, popupMenu
 
Methods inherited from interface rcf.core.framework.component.ReflectedComponent
interfaces, isInstance
 
Methods inherited from interface rcf.core.framework.component.ReflectedBindable
bind
 

Field Detail

databases

@StaticProperty(value="RoR.Databases",
                mode=Read)
protected final rcf.core.util.map.HashSetMap<RoRServerLinux.RoRDatabase,String> databases
TODO: Javadoc


colorLogs

@StaticProperty(value="RoR.ColorLogs")
protected boolean colorLogs
TODO: Javadoc


database

@StaticProperty(value="RoR.Database")
protected String database
TODO: Javadoc


memcacheDaemons

@StaticProperty(value="RoR.MemcacheDaemons",
                mode=Read)
protected final rcf.core.util.collection.Collection<HostPort> memcacheDaemons
TODO: Javadoc


numDispatchers

protected final DefaultDynamicProperty<Integer> numDispatchers
TODO: Javadoc


basePort

protected final DefaultDynamicProperty<Integer> basePort
TODO: Javadoc


siteDir

protected final String siteDir
TODO: Javadoc


environmentSink

protected final StrongReference<EventSink<? super DynamicPropertyEvent>> environmentSink
TODO: Javadoc


databaseSink

protected final StrongReference<EventSink<? super DynamicPropertyEvent>> databaseSink
TODO: Javadoc

Constructor Detail

RoRServerLinux

public RoRServerLinux(LinuxSystem _host,
                      RADService _composition,
                      int _numDispatchers,
                      int _basePort,
                      String _siteDir)
TODO: Javadoc

Parameters:
_host -
_composition -
_numDispatchers -
_basePort -
_siteDir -
Method Detail

configDatabase

private void configDatabase()
TODO: Javadoc


configEnvironment

private void configEnvironment()
TODO: Javadoc


isConcrete

public boolean isConcrete()
Description copied from interface: RADService
Determine if this RADService is a concrete service, or simply an arbitrary abstraction built for management purposes.

Returns:
true if this object represents a concrete service. false if this object represents an arbitrary abstraction, and does not correspond to a real service.

radServiceState

public DynamicProperty<RADService.State> radServiceState()
Description copied from interface: RADService
Returns the dynamic property object for the state of this service. The dynamic property can then be used to query the actual state, or to set it. There are few restrictions on state, except that it must be RADService.State.Unknown when RADService.management().parent().get().radServiceState().get() != RADService.State.Running.

Note that the ImmutableSingletonInterface.get() and SingletonInterface#set() methods on the dynamic property refer to the offline state of this service. The RADService.refresh() and RADService.update(boolean, RADService.State) methods can be used to synchronize this state with the state of the actual service. SingletonInterface#set() will schedule a call to RADService.update(boolean, RADService.State) so that the service state will be updated in the future.

Returns:
The dynamic property which represents the offline state of this service.

rorBasePort

@StaticPropertyMethod(value="RoR.BasePort")
public DynamicProperty<Integer> rorBasePort()
TODO: Javadoc

Returns:

rorNumDispatchers

@StaticPropertyMethod(value="RoR.NumDispatchers")
public DynamicProperty<Integer> rorNumDispatchers()
TODO: Javadoc

Returns:

toString

public String toString()
Overrides:
toString in class Object