Class DVDV2ManagerFactory

java.lang.Object
de.dvdv2.manager.DVDV2ManagerFactory

public abstract class DVDV2ManagerFactory extends Object
Dies ist die Einstiegsklasse der DVDV-Bibliothek und dient der Erzeugung von DVDVManager-Objekten. Hinweise zur Benutzung:
  • Constructor Details

    • DVDV2ManagerFactory

      protected DVDV2ManagerFactory()
  • Method Details

    • getDefaultInstance

      public static DVDV2ManagerFactory getDefaultInstance() throws DVDVConfigurationException
      Returns:
      Eine neue Instanz dieser Klasse
      Throws:
      DVDVConfigurationException
    • initialize

      public abstract void initialize(List<DVDV2ServerConnectionParams> connectionParamsList) throws DVDVConfigurationException
      Rufen Sie diese Methode vor dem ersten Aufruf der Methode createDVDV2Manager() einmal auf.

      Von den angegebenen DVDV2ServerConnectionParams-Objekten legt der Eintrag mit Index 0 den Standard-DVDV2-Server fest. Die DVDV-Bibliothek wird die mit den übrigen Einträgen angegebenen DVDV2-Server nur dann benutzen, wenn alle vorangegangenen ausgefallen sind (Failover).

      Zum Erzeugen dieser Instanzen siehe createDVDV2ServerConnectionParamsBuilderIam() bzw. createDVDV2ServerConnectionParamsBuilderStandalone() bzw. createDVDV2ServerConnectionParamsBuilderIntern()

      Parameters:
      connectionParamsList - nicht-leere Liste von Verbindungsspezifikationen zu DVDV2-Servern.
      Throws:
      DVDVConfigurationException
    • createDVDV2Manager

      public abstract DVDVManager createDVDV2Manager() throws DVDVConfigurationException
      Erzeugt einen DVDVManager, der die REST-Schnittstelle des DVDV2-Kernsystems ueber die angegebene URL anspricht. Stellen Sie sicher, dass Sie vorher die Methode initialize(java.util.List<de.dvdv2.manager.DVDV2ServerConnectionParams>) aufgerufen haben.
      Throws:
      DVDVConfigurationException
    • createDVDV2ServerConnectionParamsBuilderIntern

      public abstract DVDV2ServerConnectionParamsBuilderIntern<?> createDVDV2ServerConnectionParamsBuilderIntern()
      Für die Nutzung der rechenzentrumsinternen Schnittstelle /dvdv2-backend/intern/* rufen Sie erst diese Methode auf, um ein Objekt vom Typ DVDV2ServerConnectionParamsBuilderIntern zu erzeugen, mit dem Sie dann wiederum ein Objekt vom Typ DVDV2ServerConnectionParams erzeugen das dann in initialize(java.util.List<de.dvdv2.manager.DVDV2ServerConnectionParams>) verwenden.

      Mit folgendem Code-Snippet erzeugen Sie einen DVDVManager, für einen DVDV2-Server, den Sie im Netzwerk über die rechenzentrumsinterne Schnittstelle erreichen können

           DVDV2ManagerFactory dvdv2ManagerFactory = DVDV2ManagerFactory.getDefaultInstance();
           DVDV2ServerConnectionParams connectionParams = dvdv2ManagerFactory.createDVDV2ServerConnectionParamsBuilderIntern()
                           .withBaseUrl(baseUrl)        // http(s)-URL zu einem DVDV2-Server
                           .withHttpClientBuilder(...)  // sollte wenigsten connectTimeout und readTimeout setzen
                           .build();
           dvdv2ManagerFactory.initialize(Collections.singletonList(connectionParams)); // einmalige Initialisierung
           DVDVManager dvdvManager = dvdv2ManagerFactory.createDVDV2Manager();
       
    • createDVDV2ServerConnectionParamsBuilderStandalone

      public abstract DVDV2ServerConnectionParamsBuilderStandalone<?> createDVDV2ServerConnectionParamsBuilderStandalone()
      Bei Authentifizierung ueber den Tokenausgabeendpunkt des Kernsystems ("Standalone-Authentifizierung") rufen Sie erst diese Methode auf, um ein Objekt vom Typ DVDV2ServerConnectionParamsBuilderStandalone zu erzeugen, mit dem Sie dann wiederum ein Objekt vom Typ DVDV2ServerConnectionParams erzeugen das dann in initialize(java.util.List<de.dvdv2.manager.DVDV2ServerConnectionParams>) verwenden.

      Mit folgendem Code-Snippet erzeugen Sie einen DVDVManager für Standalone-Authentifizierung:

           DVDV2ManagerFactory dvdv2ManagerFactory = DVDV2ManagerFactory.getDefaultInstance();
           Path clientKeystoreFile = Paths.get( "Ihr", "Pfad", "zum", "keystore.jks")
           char[] clientKeystorePassword = ...; // key alias in Ihr/Pfad/zum/keystore.jks
           char[] clientKeyPassword = ...;
           CertificateAndPrivateKey certificateAndPrivateKey = CertificateAndPrivateKeyImpl.createFromJksKeyStoreFile(
                clientKeystoreFile, clientKeystorePassword, "dvdv2-sdk-client", clientKeyPassword);
           DVDV2ServerConnectionParams connectionParams = factory.createDVDV2ServerConnectionParamsBuilderStandalone()
                           .withBaseUrl(baseUrl)        // http(s)-URL zu einem DVDV2-Server
                           .withCertificateAndPrivateKey(certificateAndPrivateKey)
                           .withHttpClientBuilder(...)  // sollte wenigsten connectTimeout und readTimeout setzen
                           .build();
           dvdv2ManagerFactory.initialize(Collections.singletonList(connectionParams)); // einmalige Initialisierung
           DVDVManager dvdvManager = dvdv2ManagerFactory.createDVDV2Manager();
       
    • createDVDV2ServerConnectionParamsBuilderIam

      public abstract DVDV2ServerConnectionParamsBuilderIam<?> createDVDV2ServerConnectionParamsBuilderIam()
      Im Falle von IAM/Keycloak-basierter Authentifizierung rufen Sie erst diese Methode auf, um ein Objekt vom Typ DVDV2ServerConnectionParamsBuilderIam zu erzeugen, mit dem Sie dann wiederum ein Objekt vom Typ DVDV2ServerConnectionParams erzeugen das dann in initialize(java.util.List<de.dvdv2.manager.DVDV2ServerConnectionParams>) verwenden.

      Die IAM/Keycloak-basierte Authentifizierung nutzt dann die angegebene "client id" und die folgenden Parameter:

      • client assertion type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer"
      • grant type: "client_credentials"

      Mit folgendem Code-Snippet erzeugen Sie einen DVDVManager im Falle eines authentifizierungspflichtigen DVDV2-Servers:

           DVDV2ManagerFactory dvdv2ManagerFactory = DVDV2ManagerFactory.getDefaultInstance();
           Path clientKeystoreFile = Paths.get( "Ihr", "Pfad", "zum", "keystore.jks")
           char[] clientKeystorePassword = ...; // key alias in Ihr/Pfad/zum/keystore.jks
           char[] clientKeyPassword = ...;
           CertificateAndPrivateKey certificateAndPrivateKey = CertificateAndPrivateKeyImpl.createFromJksKeyStoreFile(
                 clientKeystoreFile, clientKeystorePassword, "dvdv2-sdk-client", clientKeyPassword);
           DVDV2ServerConnectionParams connectionParams = factory.createDVDV2ServerConnectionParamsBuilderIam()
                     .withBaseUrl(baseUrl)        // http(s)-URL zu einem authentifizierungspflichtigen DVDV2-Server
                     .withIamBaseUrl(iamBaseUrl)  // URL zu Ihrem IAM/Keycloak-Server
                     .withClientId(clientId)      // in Ihrem IAM/Keycloak adminstriert
                     .withCertificateAndPrivateKey(certificateAndPrivateKey)
                     .withHttpClientBuilder(...)  // sollte wenigsten connectTimeout und readTimeout setzen
                     .build();
           dvdv2ManagerFactory.initialize(Collections.singletonList(connectionParams)); // einmalige Initialisierung
           DVDVManager dvdvManager = dvdv2ManagerFactory.createDVDV2Manager();