palio.services
Class InstanceAdministrator

java.lang.Object
  extended by palio.services.InstanceAdministrator

public class InstanceAdministrator
extends java.lang.Object

Klasa przetrzymująca informacje o zarządzaniu instancjami. Wprowadzona centralnie, aby na instancji nie były wykonawane jednocześnie procesy, które moga ze sobą kolidowac, np. dump i upload źródeł. W chwili obecnej zakładam, że wszystkie procesy chcą modyfikować bazę, więc tylko jeden proces ma prawo do wykonywania. Próba rozpoczęcia innego procesu administracyjnego nie powoduje wstrzymania wątku - natychmiast wyrzucany jest wyjątek o nie przyjęciu rozkazu.

Author:
Szymon Kuklewicz

Constructor Summary
InstanceAdministrator(Instance instance)
           
 
Method Summary
 void canStartProcess()
           
 java.lang.Thread createProcess(AdministrationProcess process)
           
static InstanceAdministrator getAdministrator(Instance instance)
           
 torn.omea.net.User getCaller()
           
 Instance getInstance()
           
 void startProcess(java.lang.Thread process, torn.omea.net.User caller)
           
 void stopProcess()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InstanceAdministrator

public InstanceAdministrator(Instance instance)
Method Detail

getAdministrator

public static InstanceAdministrator getAdministrator(Instance instance)

canStartProcess

public void canStartProcess()
                     throws palio.PalioException
Throws:
palio.PalioException

startProcess

public void startProcess(java.lang.Thread process,
                         torn.omea.net.User caller)
                  throws palio.PalioException
Throws:
palio.PalioException

stopProcess

public void stopProcess()
                 throws java.lang.IllegalStateException
Throws:
java.lang.IllegalStateException

getCaller

public torn.omea.net.User getCaller()

getInstance

public Instance getInstance()

createProcess

public java.lang.Thread createProcess(AdministrationProcess process)