Skip to main content

Zugriff auf BaseContext aus dem Ausgabekanal

Comments

7 comments

  • Zendesk API User
    Author: StefanSchulz - 9/24/2013 6:46

    Hi,

    Ronny Rößler schrieb:

    der nicht BaseContext ist, sondern etwas anderes.

    was ist denn dieses "etwas anderes"?

    Gruß

    Stefan

    0
  • Zendesk API User
    Author: novomind - 9/24/2013 7:57

    Hallo,

    das wissen wir leider nicht, da die Fehlermeldung, wie gesagt, keine weiteren Informationen liefert. Mittlerweile haben wir aber herausgefunden, dass es offensichtlich nicht an der #global.context Variable liegt. Als wir den oben beschriebenen (nicht empfohlenen) Weg ausprobiert haben, gab es dieselben Fehlermeldungen. Deswegen hier noch zwei weitere Infos:

    1. Die aufgerufene Methode ist in der Java-Klasse überladen. es gibt sie einmal mit PageRef und einmal mit TargetReference als Parameter. Letztere ruft erstere mit dem Parameter targetRef.getPageRef() auf. Ist das problematisch?
    2. Auf jede der o. g. Fehlermeldungen folgt eine "Replacing null value with empty default!"-Warnung.

    Viele Grüße

    0
  • Zendesk API User
    Author: StefanSchulz - 9/24/2013 8:09

    Hi,

    meine Rückfrage war wohl nicht klar formuliert. Ich hätte gerne den Klassennamen gewusst, eine komplette Angabe der Fehlermeldung wäre natürlich noch besser.

    zu 1.) Ich kann hier kein Problem erkennen. PageRef und TargetReference stehen in keinerlei Vererbungsbeziehung.

    zu 2.) Diese Meldung sagt aus, das ein im Ausdruck referenziertes Objekt (bzw. der Rückgabewert eines Methodenaufruf's) null lieferte.

    Gruß

    Stefan

    0
  • Zendesk API User
    Author: novomind - 9/24/2013 8:14

    Die Fehlermeldung sieht in etwa so aus:

    ERROR 23.09.2013 18:40:36.444{g-sec=110056,g-node=110051} (de.espirit.firstspirit.generate.SiteProduction): some.package.SomeClass
    WARN  23.09.2013 18:40:36.444{g-sec=110056,g-node=110051} (de.espirit.firstspirit.generate.SiteProduction): Replacing null value with empty default!

    Viele Grüße

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 9/24/2013 8:16

    wir wollen mittels "class" aus dem Ausgabekanal heraus die Methode einer Java-Klasse aufrufen. Die Methode benötigt den BaseContext, um auf die Masterlanguage und die Projekteinstellungen zugreifen zu können. Zu diesem Zweck haben wir den Kontext mittels #global.context übergeben

    #global.context ist der aktuelle Variablenkontext der Generierung, das ist nicht vom Typ BaseContext.

    #global wäre in eurem Fall der korrekte Übergabewert für den Parameter.

    [EDIT]

    Kann es sein das die "Fehlermeldung" aus eurem Code kommt?

    0
  • Zendesk API User
    Author: novomind - 9/24/2013 9:46

    Hallo,

    das Thema hat sich erledigt, wir hatten währned der Entwicklung auf einen anderen Branch gewechslet und die kompilierten Module des alten Branches installiert. Die Fehlermeldung besagte also wohl, dass die Klasse nicht vorhanden ist. Wir würden uns da trotzdem eine aussagekräftigere Fehlermeldung wünschen, so dass der Fehler leichter zu erkennen ist.

    Der Tipp, #global statt #global.context zu nehmen war trotzdem sehr hilfreich, da wir hier vermutlich auf Schwireigkeiten gestoßen wären. Vielen Dank!

    Viele Grüße

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 9/24/2013 11:30

    Die Fehlermeldung besagte also wohl, dass die Klasse nicht vorhanden ist. Wir würden uns da trotzdem eine aussagekräftigere Fehlermeldung wünschen, so dass der Fehler leichter zu erkennen ist.

    Hier wäre ein Einschalten des erweiterten Loggins hilfreich gewesen:

       $CMS_SET(#global.debugMode, true)$

    Damit wäre die "java.lang.ClassNotFoundException" angezeigt worden.

    0

Please sign in to leave a comment.