Package de.kappich.pat.testumg.util
Class DafApplication<T>
- java.lang.Object
-
- de.kappich.pat.testumg.util.DafApplication<T>
-
public class DafApplication<T> extends java.lang.Object
Diese Klasse ermöglicht es, eine beliebige Datenverteiler-Applikation in einer Datenverteiler-Testumgebung zu instantiieren und zu testen.In der Regel werden Instanzen dieser Klasse mit
SingleDavStarter.createStandardApplication(StandardApplication, List)
oder (falls die Applikation nicht StandardApplication implementiert) mitSingleDavStarter.createApplication(Function, List)
erzeugt.Wenn mehr Kontrolle über die Aufrufparameter etc. benötigt wird, kann von dieser Klasse abgeleitet werden, dann muss im Konstruktor eine Referenz auf die Testumgebung übergeben werden.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DafApplication(DafApplicationEnvironment dafApplicationEnvironment, java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String user)
Konstruktor, bei dem die benötigten Informationen übergeben werden.protected
DafApplication(DafApplicationEnvironment dafApplicationEnvironment, java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String debugLevel, java.lang.String user)
Deprecated.debugLevel-Parameter ist überflüssig
-
Method Summary
Modifier and Type Method Description void
addArguments(java.lang.String... arguments)
Fügt zusätzliche Aufrufargumente hinzu, muss vor dem Starten der Applikation aufgerufen werden.protected void
addCustomArgs(com.google.common.collect.ImmutableList.Builder<java.lang.String> builder)
Kann überschrieben werden, un Aufrufargumente hinzuzufügen, die die Applikation immer benötigtde.bsvrz.dav.daf.main.config.ClientApplication
getClientApplication()
Gibt das Objekt zurück, das Datenverteilerseitig die gestartete Applikation repräsentiert.FakeParamApp
getFakeParamApp()
Gibt dieFakeParamApp
der Testumgebung zurückT
getInstance()
Gibt die Instanz der Applikationsklasse zurückde.bsvrz.dav.daf.main.ClientDavInterface
getManagementConnection()
java.util.List<java.lang.String>
getParameters()
java.nio.file.Path
getRootDir()
Gibt das Wurzelverzeichnis der Testumgebung zurück.protected void
sendTerminationSignal()
Sorgt dafür, dass die Applikation terminiert.T
start()
Startet die Applikationvoid
startAndWait()
Startet die Applikation und wartet, bis sie am Datenverteiler angemeldet ist.void
startAndWaitUntilReady()
Startet die Applikation und wartet, bis sie die Fertigmeldung verschickt hat.void
terminate()
Terminiert die Applikationjava.lang.String
toString()
de.bsvrz.dav.daf.main.config.ClientApplication
waitUntilReady()
Wartet, bis die Applikation die Fertigmeldung verschickt hat.
-
-
-
Constructor Detail
-
DafApplication
protected DafApplication(DafApplicationEnvironment dafApplicationEnvironment, java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String user)
Konstruktor, bei dem die benötigten Informationen übergeben werden. Die Applikation wird nicht automatisch gestartet.- Parameters:
dafApplicationEnvironment
- Testumgebungcreator
- Lambda-Ausdruck, der eine Instanz der Applikationsklasse erzeugt und dabei die Aufrufargumente übergibtargs
- Zusätzliche Aufrufargumente (Testspezifisch)user
- Benutzer, unter der die Applikation gestartet wird- See Also:
SingleDavStarter.createApplication(Function, List)
,SingleDavStarter.createApplication(Function, List)
,SingleDavStarter.createStandardApplication(StandardApplication, List)
-
DafApplication
@Deprecated protected DafApplication(DafApplicationEnvironment dafApplicationEnvironment, java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String debugLevel, java.lang.String user)
Deprecated.debugLevel-Parameter ist überflüssigKonstruktor, bei dem die benötigten Informationen übergeben werden. Die Applikation wird nicht automatisch gestartet.- Parameters:
dafApplicationEnvironment
- Testumgebungcreator
- Lambda-Ausdruck, der eine Instanz der Applikationsklasse erzeugt und dabei die Aufrufargumente übergibtargs
- Zusätzliche Aufrufargumente (Testspezifisch)user
- Benutzer, unter der die Applikation gestartet wirddebugLevel
- Wird ignoriert- See Also:
SingleDavStarter.createApplication(Function, List)
,SingleDavStarter.createApplication(Function, List)
,SingleDavStarter.createStandardApplication(StandardApplication, List)
-
-
Method Detail
-
start
public T start()
Startet die Applikation- Returns:
- Instanz der Applikationsklasse (z. B. Main-Klasse der Applikation)
-
getClientApplication
public de.bsvrz.dav.daf.main.config.ClientApplication getClientApplication()
Gibt das Objekt zurück, das Datenverteilerseitig die gestartete Applikation repräsentiert. Sollte die Applikation nicht sofort ermittelbar sein, wartet diese Methode, bis Sie gefunden wurde.Die Applikation wird über einen eindeutigen Inkarnationsnamen identifiziert
- Returns:
- Applikationsobjekt
-
waitUntilReady
public de.bsvrz.dav.daf.main.config.ClientApplication waitUntilReady()
Wartet, bis die Applikation die Fertigmeldung verschickt hat.- Returns:
- Applikationsobjekt
-
startAndWait
public void startAndWait()
Startet die Applikation und wartet, bis sie am Datenverteiler angemeldet ist.
-
startAndWaitUntilReady
public void startAndWaitUntilReady()
Startet die Applikation und wartet, bis sie die Fertigmeldung verschickt hat.
-
getInstance
public T getInstance()
Gibt die Instanz der Applikationsklasse zurück- Returns:
- Instanz
-
terminate
public final void terminate()
Terminiert die Applikation
-
sendTerminationSignal
protected void sendTerminationSignal()
Sorgt dafür, dass die Applikation terminiert. In der Standard-Implementierung wird der Datenverteiler aufgefordert, die Verbindung zu terminieren. Falls ein anderes Verhalten gewünscht ist, kann die Methode überschrieben werden.
-
getRootDir
public final java.nio.file.Path getRootDir()
Gibt das Wurzelverzeichnis der Testumgebung zurück. Hier können allgemeien daten abgelegt werden- Returns:
- Wurzelverzeichnis
-
addArguments
public void addArguments(java.lang.String... arguments)
Fügt zusätzliche Aufrufargumente hinzu, muss vor dem Starten der Applikation aufgerufen werden.- Parameters:
arguments
-
-
addCustomArgs
protected void addCustomArgs(com.google.common.collect.ImmutableList.Builder<java.lang.String> builder)
Kann überschrieben werden, un Aufrufargumente hinzuzufügen, die die Applikation immer benötigt- Parameters:
builder
- List-Builder, an den zusätzliche Argumente angehängt werden können
-
getFakeParamApp
public FakeParamApp getFakeParamApp()
Gibt dieFakeParamApp
der Testumgebung zurück- Returns:
- FakeParamApp
-
getManagementConnection
public de.bsvrz.dav.daf.main.ClientDavInterface getManagementConnection()
-
getParameters
public java.util.List<java.lang.String> getParameters()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-