novomind
I'm new here

ResolutionAgent.getOriginalResolution() liefert nicht das richtige Ergebnis

Jump to solution

Hallo,

für das Erstellen einer URL zu einem Medium verwende ich UrlCreator.getUrl(). Wenn das Ziel ein Bild ist, muss zwingend eine Resolution übergeben werden, damit die richtige Variante des Bildes herausgegeben werden kann (bei anderen Dateien ist das ja egal). Ich möchte das Bild in der Resolution "ORIGINAL" haben. Dazu habe ich folgenden Code ausgeführt:

ResolutionAgent resolutionAgent = context.requestSpecialist(ResolutionAgent.TYPE);

resolution = resolutionAgent.getOriginalResolution();

Das Ergebnis dieser Abfrage ist aber "null". Die Original-Resolution ist aber definitiv vorhanden, denn über Project.getResolutions() kommt man ja an alle definierten Resolutions ran und da ist eine namens "ORIGINAL" dabei. Über einen Vergleich der UIDs bekommt man so auch die Original-Resolution raus. Ich würde es aber lieber über den obigen Weg lösen. Mache ich etwas falsch oder ist das ein Bug?

Viele Grüße!

1 Solution

Accepted Solutions

Ich habe nochmal nachgeschaut. Die Aufrufkette der Methode gibt ein null als Rückgabewert nicht her. Ist keine Originalauflösung definiert, wird hier eine Exception geworfen. Da muss irgendetwas anderes nicht stimmen, das man mit den vorhandenen Informationen leider nicht bestimmen kann.

Gruß

Stefan

View solution in original post

0 Kudos
7 Replies
StefanSchulz
I'm new here

In welchem Kontext befindest du dich? Die Implementierung von getOriginalResolution() gibt niemals null zurück.

Gruß

Stefan

0 Kudos

Der Kontext ist ein GenerationContext.

0 Kudos

Ich habe nochmal nachgeschaut. Die Aufrufkette der Methode gibt ein null als Rückgabewert nicht her. Ist keine Originalauflösung definiert, wird hier eine Exception geworfen. Da muss irgendetwas anderes nicht stimmen, das man mit den vorhandenen Informationen leider nicht bestimmen kann.

Gruß

Stefan

0 Kudos

Es wird während der Ausführung keine Exception geworfen. Die Originalauflösung ist definitiv vorhanden, ich bekomme sie, indem ich folgenden Code ausführe:

for (Resolution resolution : project.getResolutions()) {

  if (resolution.getUid().equals("ORIGINAL")) {

    return resolution;

  }

}

Die Variable resolution wird mit null initialisiert. Handelt es sich bei dem Download um ein Bild, wird dieser Variable die Originalauflösung zugewiesen. Mit dem Aufruf aus dem ersten Post ist sie weiterhin null, nach dem Aufruf aus diesem Post verweist sie jedoch auf die Originalauflösung.

0 Kudos

Missverständnis? Smiley Happy

Meine Aussage bzgl. Exception bezog sich darauf, dass diese geworfen wird, wenn keine Originalauflösung vorhanden ist. Ansonsten wird immer eine Auflösung, niemals aber null zurückgegeben. Eventuell ist im weiteren Verlauf des Codes etwas verkehrt? Eventuell ein Tippfehler?

Hat sich erledigt. Wir haben zum Testen das Agent-Objekt gemockt. Wahrscheinlich wird dort etwas nicht richtig gehandhabt. Da vorm Bauen die Tests ausgeführt werden, fiel das aber natürlich auf. Ich hab das Ganze nun einmal wie im ersten Post beschrieben getestet und die Tests übersprungen. Funktioniert genauso wie es soll Smiley Happy.

Hallo,

beantwortete Fragen lassen sich durch ein Markieren der richtigen Antwort über den entsprechenden Button schließen. Dadurch wird auch anderen Benutzern der Community ein schnelles Auffinden der Lösung ermöglicht, falls sie dasselbe Problem haben.

Für diesen Thread habe ich Stefans letzte Antwort, als hilfreich, und seine zweite Antwort, als richtig markiert, um ihn zu schließen.

Viele Grüße

Michaela

0 Kudos