Aller au contenu principal

[Beanshell] Counter zählt falsch

Commentaires

8 commentaires

  • Zendesk API User
    Author: marro - 9/28/2015 10:51

    Hallo Fabian,

    zunächst würde mich einmal interessieren, wie das Skript aufgerufen wird. Wo kommen die folderMap und die pageMap initial her?

    Dann ist mir noch folgender Fehler in Deinem Skript aufgefallen:

    //hier muss getNextSibling() verwendet werden, da über getFirstChild() das LANG-Attribut angesprochen wird

    currentPage = currentFolder.getFirstChild().getNextSibling();

    getFirstChild() liefert Dir bereits das erste Kind (Page oder PageFolder). Über getNextSibling() würdest Du Dir somit das zweite Kind holen und das erste überspringen. Vermutlich hat Dich die Ausagbe von getFirstChild() in die Irre geführt. Die toString-Methode auf dem Element, die ja bei Ausgabe automatisch aufgerufen wird, gibt das LANG-Attribut aus. Nichtsdestotrotz ist das Element aber vom Typ Page bzw. PageFolder.

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: Anonymous - 9/28/2015 10:59

    folderMap und pageMap kommen beim ersten Aufruf aus einem anderen Skript. Dort werden sie mit den Seiten und Ordnern des root Verzeichnises gefüllt und in als Property in den context geschrieben:
    context.setProperty("folderMap", folderMap)
    Zu Beginn des aktuellen Skripts hole ich sie dann mit folderMap = context.getProperty("folderMap").

    0
  • Zendesk API User
    Author: marro - 9/28/2015 12:16

    Hallo Fabian,

    mir ist immer noch nicht ganz klar, wie das Skript aufgerufen wird. Du schreibst, dass der erste Aufruf aus einem anderen Skript erfolgt, in dem zuvor auch die Seiten und Ordner des Root-Verzeichnisses (des PageStores vermute ich) in den Context geschrieben werden. Wie werden dann die weiteren Durchläufe gestartet? Könntest Du vielleicht die beiden Skripte komplett anhängen und dazu schreiben, wie Du sie aufrufst? Dann könnte ich versuchen, das bei mir nachzustellen. Meine Vermutung geht gerade in die Richtung, dass die Context-Variablen zwischen den Aufrufen verloren gehen.

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: marro - 9/28/2015 12:18

    Noch eine Frage: Wäre es nicht sinnvoller, dem Skript eine Methode zu spendieren, die rekursiv aufgerufen wird, wodurch der komplette PageStore-Baum mit nur einem einzigen Skriptaufruf abgehandelt wird?

    0
  • Zendesk API User
    Author: Anonymous - 9/28/2015 13:52

    Anbei die Skripte. S1 wird einaml über eine Seitenvorlage aufgerufen und ruft dann S2 auf. S2 wiederum ruft sich selbst auf. In Skript2 geht es momentan um den Bereich von Z.74 - Z.124. Die von die angesprochenen Fehler (LANG-Attribut) habe ich noch nicht angepasst. Die if-Abfrage zum weiteren sortieren überhalb von Z.74 habe ich noch nicht überarbeitet.

    0
  • Zendesk API User
    Author: Anonymous - 9/30/2015 15:25

    Mit einem Funktionsaufruf war's wirklich einfacher.

    0
  • Zendesk API User
    Author: MichaelaReydt - 10/26/2015 13:39

    Hallo Fabian,

    ist dieses Posting noch aktuell? Hast du die Skripte lediglich neu strukturiert und benötigst du noch weitere Hilfe oder konnte Donato dir mit seinen Antworten bereits weiterhelfen? In diesem Fall wäre es super, wenn du seine richtige Antwort entsprechend markierst.

    Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es toll, wenn du diese hier bereitstellst.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: Anonymous - 10/27/2015 7:25

    Ist nicht mehr aktuell, Neustrukturierung hat geholfen.

    0

Vous devez vous connecter pour laisser un commentaire.