Jetzt verfügbar:  Berichte für DRACOONMehr Infos

Dracoon Java SDK

Kommentare

10 Kommentare

  • Avatar
    Michael Netter

    Hallo Herr Herbert,

    ein solcher Fehler ist uns bisher nicht bekannt.

    Können Sie ein Quellcodebeispiel schicken, mit dem sich der Fehler reproduzieren lässt?

    Viele Grüße

    Michael Netter

     

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Sebastian Herbert

    Hallo Herr Netter,

    anbei der Beispielcode. Getestet habe ich es auf Java 1.6 und Java 1.8. Wichtig ist vielleicht ich habe die Abhängigkeiten der Dracoon SDK als Jar Datei im Projekt importiert nicht über Maven. Maven steht und auf Domino leider nicht zur Verfügung.

    Der Token ist mittlerweile wahrscheinlich abgelaufen, aber das sollte egal sein?

    import com.dracoon.sdk.DracoonAuth;
    import com.dracoon.sdk.DracoonClient;
    import com.dracoon.sdk.Log;
    import com.dracoon.sdk.error.DracoonApiException;
    import com.dracoon.sdk.error.DracoonException;
    import com.dracoon.sdk.model.Classification;
    import com.dracoon.sdk.model.CopyNodesRequest;
    import com.dracoon.sdk.model.CreateDownloadShareRequest;
    import com.dracoon.sdk.model.CreateFolderRequest;
    import com.dracoon.sdk.model.CreateRoomRequest;
    import com.dracoon.sdk.model.CreateUploadShareRequest;
    import com.dracoon.sdk.model.CustomerAccount;
    import com.dracoon.sdk.model.DeleteNodesRequest;
    import com.dracoon.sdk.model.DownloadShare;
    import com.dracoon.sdk.model.FileDownloadCallback;
    import com.dracoon.sdk.model.FileUploadCallback;
    import com.dracoon.sdk.model.FileUploadRequest;
    import com.dracoon.sdk.model.MoveNodesRequest;
    import com.dracoon.sdk.model.Node;
    import com.dracoon.sdk.model.NodeList;
    import com.dracoon.sdk.model.UpdateFileRequest;
    import com.dracoon.sdk.model.UpdateFolderRequest;
    import com.dracoon.sdk.model.UpdateRoomRequest;
    import com.dracoon.sdk.model.UploadShare;
    import com.dracoon.sdk.model.UserAccount;

    import java.io.File;
    import java.net.URL;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;

    public class Demo {

     


    public static void main(String[] args) throws Exception {

    DracoonAuth auth = new DracoonAuth("llV1IpXMTcR8OEyV0QRKzJIkefdleSpS");

    DracoonClient client = new DracoonClient.Builder(new URL("https://treeconsult-dev.dracoon.com"))
    .auth(auth)
    .build();

    }


    }

     

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Michael Netter

    Hallo Herr Herbert,

    wenn Sie das SDK nicht über Maven einbinden, müssen Sie die benötigten Bibliotheken ebenfalls als JAR-Files hinzufügen.

    Hier finden Sie eine Liste der benötigten Bibliotheken:

    https://github.com/dracoon/dracoon-java-sdk#jar-import

    Viele Grüße

    Michael Netter

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Sebastian Herbert

    Hallo Herr Netter,

    die benötigten Bibliotheken hatte ich wie oben erwähnt ebenfalls als Jar Datei eingebunden. Ich hatte mir über die Links auf Git jeweils die neusten Versionen heruntergeladen. 

    Daran kann es nicht liegen.

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Michael Netter

    Hallo Herr Herbert,

    Ihr Beispielcode funktioniert bei mir unter Eclipse einwandfrei. Können Sie testweise Ihren Beispielcode unter Eclipse ausführen?

    Eine weitere Auffälligkeit ist, dass in Ihrem Stacktrace kotlin.TypeCastException vorkommt. Nutzt das Programm Kotlin? Der gleiche Fehler findet sich übrigens bei Stackoverflow: https://stackoverflow.com/q/51563273

     

    Viele Grüße

    Michael Netter

     

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Sebastian Herbert

    Hallo Herr Netter,

    unter Eclipse läuft der Beispiel Code nur wenn ich die Koltin JARs aus ihrem Link importiere. Mein Programm nutzt allerdings kein Koltin. Es besteht aktuell zum Testen nur aus den 3 Zeilen die ich ihnen oben gesendet habe. Kann es sein das eine ihrer Abhängigkeiten Koltin nutzt? Ich kann mir nicht erklären woher das sonst kommen soll. 

    Ich würde es allerdings bevorzugen ohne diese zusätzlichen JAR Dateien aus zukommen. 

    Eine andere Frage können wir die Dracoon SDK mit Usernname Passwort Authentifizierung nutzen?  Haben Sie dafür ein Beispiel?

    Vielen Dank.

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Michael Netter

    Hallo Herr Herbert,

    Kotlin wird bei uns nicht verwendet.

    Unsere Empfehlung ist, das SDK über Maven einzubinden. Mit Eclipse/IntelliJ funktioniert der Beispielcode hier ohne Kotlin JARs (siehe Beispiel unten). 

    Das SDK ist OAuth2-only, eine Verwendung von Benutzername und Passwort ist nicht vorgesehen. Mittelfristig werden wir sog. Developer-Tokens/API-Tokens anbieten, die zur Authentifizierung genutzt werden können. Um OAuth2 zu nutzen, finden Sie hier einen Beispielcode: https://github.com/dracoon/dracoon-java-sdk/blob/master/example/src/main/java/com/dracoon/sdk/example/OAuthExamples.java

     Viele Grüße

    Michael Netter 

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.dracoon</groupId>
    <artifactId>dracoon-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>

    <dependency>
    <groupId>com.dracoon</groupId>
    <artifactId>dracoon-sdk</artifactId>
    <version>1.0.0-beta1</version>
    </dependency>

    </dependencies>
    </project>

     

    Demo.java

    import com.dracoon.sdk.DracoonAuth;
    import com.dracoon.sdk.DracoonClient;
    import com.dracoon.sdk.model.Node;
    import com.dracoon.sdk.model.NodeList;

    public class Demo {

    public static void main(String[] args) throws Exception {

    DracoonAuth auth = new DracoonAuth("xxxxxxxx-7852-41d9-89f5-7efc9c53d9ce");

    DracoonClient client = new DracoonClient.Builder(new URL("https://dracoon.team")).auth(auth).build();
    NodeList nodeList = client.nodes().getNodes(0);

    for (Node node : nodeList.getItems()) {
    System.out.println(node.getId() + ": " + node.getParentPath() + node.getName());
    }
    }

    }
    0
    Aktionen für Kommentare Permalink
  • Avatar
    Sebastian Herbert

    Wie gesagt können wir in der Domino Entwicklung leider kein Maven nutzen. 

    Wir müssen nochmal schauen ob wir mit der Java API dann überhaupt weiter machen können und ob das zu unserem Design passt. Wie verfolgen normalerweise einen etwas anderen Ansatz. Das Thema hat sich aber erstmal erledigt. Vielen Dank für ihre Hilfe.

     

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Florian Scheuer

    Hallo Herr Herbert,

    Sie sind natürlich nicht darauf angewiesen, unser Java-SDK zu nutzen – Sie könnten auch mit einem anderen Rest-Client gegen das API implementieren.

    Viele Grüße
    Florian

    0
    Aktionen für Kommentare Permalink
  • Avatar
    Bernd Hort

    Ich hatte das gleiche Problem und habe es relativ elegant gelöst.

    Einfach ein Maven-Projekt aufsetzen und das SDK als Dependency eintragen. In der pom.xml das folgende Plugin eintragen:

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <executions>
            <execution>
              <id>copy-dependencies</id>
              <phase>prepare-package</phase>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                <outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

    Anschließend mit mvn package ein Build erzeugen. Im Ordner target/classes/lib werden alle benötigten jar-Dateien in den richtigen Versionen gesammelt.

    0
    Aktionen für Kommentare Permalink

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.