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) mit SingleDavStarter.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 protectedDafApplication(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.protectedDafApplication(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 voidaddArguments(java.lang.String... arguments)Fügt zusätzliche Aufrufargumente hinzu, muss vor dem Starten der Applikation aufgerufen werden.protected voidaddCustomArgs(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.ClientApplicationgetClientApplication()Gibt das Objekt zurück, das Datenverteilerseitig die gestartete Applikation repräsentiert.FakeParamAppgetFakeParamApp()Gibt dieFakeParamAppder Testumgebung zurückTgetInstance()Gibt die Instanz der Applikationsklasse zurückde.bsvrz.dav.daf.main.ClientDavInterfacegetManagementConnection()java.util.List<java.lang.String>getParameters()java.nio.file.PathgetRootDir()Gibt das Wurzelverzeichnis der Testumgebung zurück.protected voidsendTerminationSignal()Sorgt dafür, dass die Applikation terminiert.Tstart()Startet die ApplikationvoidstartAndWait()Startet die Applikation und wartet, bis sie am Datenverteiler angemeldet ist.voidstartAndWaitUntilReady()Startet die Applikation und wartet, bis sie die Fertigmeldung verschickt hat.voidterminate()Terminiert die Applikationjava.lang.StringtoString()de.bsvrz.dav.daf.main.config.ClientApplicationwaitUntilReady()Wartet, bis die Applikation die Fertigmeldung verschickt hat.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
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 Details
-
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
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
Gibt dieFakeParamAppder 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:
toStringin classjava.lang.Object
-