de.bsvrz.ars.ars.mgmt
Class ArchiveManager

java.lang.Object
  extended by de.bsvrz.sys.funclib.losb.DAVAppBase
      extended by de.bsvrz.ars.ars.mgmt.ArchiveManager
All Implemented Interfaces:
ApplicationCloseActionHandler

public class ArchiveManager
extends DAVAppBase

Zentrale Archiv-Verwaltung.

Author:
beck et al. projects GmbH, Thomas Schaefer, Alexander Schmidt

Nested Class Summary
 
Nested classes/interfaces inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
DAVAppBase.DisconnectHandler
 
Field Summary
private  TreeMap<SystemObject,Integer> _applicationToArchiveQueryCount
          Enthält die Anzahl aktiver Archivanfragen je Applikation.
private  Object _terminatedLock
           
private  ArchivConfig archivConfig
           
private  String archivePath
           
private  String backupProps
           
private  String checkPersDirMode
           
private  int cmdPortNum
           
private  DataIdentTree dataIdentTree
           
static long DATAINDEX_OFFSET
           
private static int DEFAULT_CMD_PORT
           
private  InQueuesMgr inQueuesMgr
           
static boolean ONLY_DATA
          Nur fuer Testzwecke; falls wahr, werden nur Datensaetze mit Daten archiviert.
private static String P_BACKUP
           
private static String P_CHECK_PERS_DIR
           
static String P_CHECK_PERS_DIR_ALL
           
static String P_CHECK_PERS_DIR_DIR
           
static String P_CHECK_PERS_DIR_HDR
           
private static String P_PERS_PATH
           
private static String P_PRINT_PARAMS
           
private static String P_PRINT_PARAMS_FILE
           
private static String P_REMOTE_CONTROL
           
static String P_REMOTE_CONTROL_DEFAULT
           
static String P_REMOTE_CONTROL_NORC
           
private  PersistenceManager persistenceMgr
           
private  boolean printParamsAndExit
           
private  File printParamsFile
           
private  boolean runningProperly
           
private  SimulationManager simulationMgr
           
private static long SYS_TIME_OFFSET
           
private  TaskScheduler taskScheduler
           
private  boolean terminated
           
 
Fields inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
applicationLabel, applicationName, argList, logger
 
Constructor Summary
ArchiveManager(String[] args)
           
 
Method Summary
static long archiveTime()
           
private  void cleanUp()
          Beendet alle Tasks, meldet App vom DAV ab.
 void connectToDavQuit()
           
 int decreaseArchiveQueryCountForApplication(SystemObject application)
           
private  boolean executeSpecialModeNoDAV()
           
private  boolean executeSpecialModeWithDAV()
           
 ArchivConfig getArchivConfig()
           
 DataIdentTree getDataIdentTree()
           
 InQueuesMgr getInQueuesMgr()
           
 List<String> getOriginalCommandLineArguments()
           
 PersistenceManager getPersMgr()
           
 SimulationManager getSimulationMgr()
           
 TaskScheduler getTaskScheduler()
           
 int increaseArchiveQueryCountForApplication(SystemObject application)
           
static void main(String[] args)
          Startpunkt des Archivsystems.
private  void parseArguments(ArgumentList argLst)
           
 void quit()
          Faehrt das ArS herunter und beendet die VM.
 void quitError(String msg)
          Faehrt das ArS mit einer Fehlermeldung herunter und beendet die VM.
 void quitErrorNoExit(String msg)
          Faehrt das ArS mit einer Fehlermeldung herunter.
 void quitNoExit()
          Faehrt das ArS herunter ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig).
protected  void reconnectHandler()
           
 void run()
           
static void setSystemTimeOffset(long offsetSeconds)
          Verstellt die Systemzeit um offset Sekunden.
 boolean wasTerminated()
           
 
Methods inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
close, connectToDav, disconnectFromDav, getAsp, getAsp, getAtg, getAtg, getConfigAuth, getDataModel, getDavCon, getDD, getObj, getObj, setDisconnectHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYS_TIME_OFFSET

private static long SYS_TIME_OFFSET

DATAINDEX_OFFSET

public static long DATAINDEX_OFFSET

ONLY_DATA

public static boolean ONLY_DATA
Nur fuer Testzwecke; falls wahr, werden nur Datensaetze mit Daten archiviert. Es gibt dann keine Datensaetze folgender Art: "keine Quelle", "keine Daten", "pot. Datenluecke". Manche Testverfahren werden einfacher, wenn ausschliesslich Datensaetze archiviert werden, die auch gesendet wurden.


DEFAULT_CMD_PORT

private static final int DEFAULT_CMD_PORT
See Also:
Constant Field Values

P_PRINT_PARAMS

private static final String P_PRINT_PARAMS
See Also:
Constant Field Values

P_PRINT_PARAMS_FILE

private static final String P_PRINT_PARAMS_FILE
See Also:
Constant Field Values

P_PERS_PATH

private static final String P_PERS_PATH
See Also:
Constant Field Values

P_CHECK_PERS_DIR

private static final String P_CHECK_PERS_DIR
See Also:
Constant Field Values

P_REMOTE_CONTROL

private static final String P_REMOTE_CONTROL
See Also:
Constant Field Values

P_BACKUP

private static final String P_BACKUP
See Also:
Constant Field Values

P_CHECK_PERS_DIR_DIR

public static final String P_CHECK_PERS_DIR_DIR
See Also:
Constant Field Values

P_CHECK_PERS_DIR_HDR

public static final String P_CHECK_PERS_DIR_HDR
See Also:
Constant Field Values

P_CHECK_PERS_DIR_ALL

public static final String P_CHECK_PERS_DIR_ALL
See Also:
Constant Field Values

P_REMOTE_CONTROL_NORC

public static final String P_REMOTE_CONTROL_NORC
See Also:
Constant Field Values

P_REMOTE_CONTROL_DEFAULT

public static final String P_REMOTE_CONTROL_DEFAULT
See Also:
Constant Field Values

persistenceMgr

private PersistenceManager persistenceMgr

dataIdentTree

private DataIdentTree dataIdentTree

inQueuesMgr

private InQueuesMgr inQueuesMgr

archivConfig

private ArchivConfig archivConfig

taskScheduler

private TaskScheduler taskScheduler

simulationMgr

private SimulationManager simulationMgr

printParamsAndExit

private boolean printParamsAndExit

printParamsFile

private File printParamsFile

checkPersDirMode

private String checkPersDirMode

archivePath

private String archivePath

backupProps

private String backupProps

cmdPortNum

private int cmdPortNum

terminated

private boolean terminated

runningProperly

private boolean runningProperly

_terminatedLock

private Object _terminatedLock

_applicationToArchiveQueryCount

private TreeMap<SystemObject,Integer> _applicationToArchiveQueryCount
Enthält die Anzahl aktiver Archivanfragen je Applikation. Es sind nur für die Applikationen Einträge in der Map enthalten für die mindestens eine aktive Archivanfrage in der Verarbeitung ist.

Constructor Detail

ArchiveManager

public ArchiveManager(String[] args)
               throws Exception
Throws:
Exception
Method Detail

wasTerminated

public boolean wasTerminated()

archiveTime

public static long archiveTime()
Returns:
aktuelle Systemzeit (die zu Testzwecken mit einem Offset versehen werden kann)

setSystemTimeOffset

public static void setSystemTimeOffset(long offsetSeconds)
Verstellt die Systemzeit um offset Sekunden. NUR FUER TESTZWECKE!!!

Parameters:
offsetSeconds - Spanne in Sekunden

parseArguments

private void parseArguments(ArgumentList argLst)
                     throws Exception
Throws:
Exception

run

public void run()
         throws Exception
Throws:
Exception

connectToDavQuit

public void connectToDavQuit()

reconnectHandler

protected void reconnectHandler()
Overrides:
reconnectHandler in class DAVAppBase

executeSpecialModeNoDAV

private boolean executeSpecialModeNoDAV()

executeSpecialModeWithDAV

private boolean executeSpecialModeWithDAV()

cleanUp

private void cleanUp()
Beendet alle Tasks, meldet App vom DAV ab.


quit

public void quit()
Faehrt das ArS herunter und beendet die VM.


quitNoExit

public void quitNoExit()
Faehrt das ArS herunter ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig).


quitError

public void quitError(String msg)
Faehrt das ArS mit einer Fehlermeldung herunter und beendet die VM.


quitErrorNoExit

public void quitErrorNoExit(String msg)
Faehrt das ArS mit einer Fehlermeldung herunter.


main

public static void main(String[] args)
Startpunkt des Archivsystems.

Parameters:
args - Kommandozeilenparameter

getArchivConfig

public ArchivConfig getArchivConfig()

getDataIdentTree

public DataIdentTree getDataIdentTree()

getInQueuesMgr

public InQueuesMgr getInQueuesMgr()

getPersMgr

public PersistenceManager getPersMgr()

getTaskScheduler

public TaskScheduler getTaskScheduler()

getSimulationMgr

public SimulationManager getSimulationMgr()
Returns:
Liefert den SimulationsManager.

getOriginalCommandLineArguments

public List<String> getOriginalCommandLineArguments()
Returns:
Liefert die original Command Line Argumente als unmodifiableList von String Objekten.

increaseArchiveQueryCountForApplication

public int increaseArchiveQueryCountForApplication(SystemObject application)

decreaseArchiveQueryCountForApplication

public int decreaseArchiveQueryCountForApplication(SystemObject application)