- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
java.lang.ClassCastException: Cannot cast de.espirit.or.impl.SessionImpl to de.espirit.or.Session
Hallo!
Ich sehe gerade den Wald vor lauter Bรคumen nicht. Ich versuche mittels eines kleinen Beanshell-Scriptes die History einer Seite auszulesen um den letzten freigebenden Redakteur auszulesen.
Hier mal der Anfang des Scriptes:
//!Beanshell
import de.espirit.firstspirit.access.store.IDProvider;
import de.espirit.firstspirit.storage.Revision;
import de.espirit.firstspirit.storage.RevisionFilter;
import de.espirit.firstspirit.storage.HistoryProvider;
import java.text.SimpleDateFormat;
import de.espirit.or.web.SessionManager;
import de.espirit.or.schema.Entity;
import de.espirit.or.schema.KeyValue;
import java.util.*;
import de.espirit.firstspirit.common.gui.CMSDialog;
import de.espirit.firstspirit.access.store.mediastore.Media;
import de.espirit.firstspirit.access.UserService;
import de.espirit.firstspirit.access.store.*;
import de.espirit.firstspirit.access.store.contentstore.Content2;
import de.espirit.firstspirit.access.store.contentstore.ContentStoreRoot;
import de.espirit.firstspirit.access.store.templatestore.Schema;
import de.espirit.or.Session;
import de.espirit.or.query.Equal;
import de.espirit.or.query.Or;
import de.espirit.or.query.Select;
Calendar firstRelease = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
UserService us = p.getProject().getUserService();
ContentStoreRoot cs = us.getStore(Store.Type.CONTENTSTORE, true);
Content2 contentSource = cs.getContent2ByName("autor");
Schema schemaTable = contentSource.getSchema();
Session orSession = schemaTable.getSession(true);
Select select = orSession.createSelect("Autor");
In der vorletzten Zeile passiert dann der Fehler, wenn ich mir die Vorschau einer Seite angucke. Aber auch beim Deployment taucht der Fehler auf.
Called from method: __execute
Target exception: java.lang.ClassCastException: Cannot cast de.espirit.or.impl.SessionImpl to de.espirit.or.Session
Wieso das und wie kann ich das umgehen? In FS4.2 ging das noch und in FS5 scheinbar nicht mehr? Wo ist mein Fehler?
Danke im Voraus!
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kannst du ein paar mehr Details zu deiner Umgebung geben?
Es sieht danach aus, als wรผrde der Klassenpfad das Paket "de.espirit.or" doppelt enthalten. Ist das im Web-Umfeld? Zumindest der Import von "de.espirit.or.web.SessionManager" deutet darauf hin..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Was fรผr Infos brauchst Du denn genau? Wir setzen FS 5.1.209.63675 ein.
Ich finde leider nix doppelt oder so. Aber sicherlich kรถnnte das wirklich sein. Nur wo noch gucken?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Spannende Info: wenn ich das Script so anpasse:
p = context.getStoreElement();
us = context.getUserService();
//UserService us = p.getProject().getUserService();
Dann lรคuft das Script รผber das Kontextmenรผ an einer Strukturseite aufgerufen, problemlos durch!
Rufe ich es unverรคndert wie im ersten Posting geschrieben in einem Template auf
$CMS_RENDER(script:"get_last_editor",p:#global.node)$
dann scheitert es.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hat niemand eine Idee? Bitte um Hilfe!!!!!!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcus,
dass ein Script aus dem Kontextmenรผ problemlos funktioniert und in der Seite selbst nicht kann dem Context-Objekt geschuldet sein.
Der Kontextmenรผ-Context (http://www.e-spirit.com/odfs51/dev/de/espirit/firstspirit/client/plugin/contextmenu/ContextMenuConte...) ist nicht der gleiche Context wie der bei der Generierung (http://www.e-spirit.com/odfs51/access/de/espirit/firstspirit/access/GenerationScriptContext.htmlhttp://www.e-spirit.com/odfs51/access/de/espirit/firstspirit/access/GenerationContext.html).
Du kannst mit context.getClass().getName() den Namen des aktuellen Context-Objektes erfahren.
Gruร Marian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marcus,
ist dieses Posting noch aktuell? Benรถtigst du noch weitere Hilfe oder haben dir die Antworten bereits geholfen? In diesem Fall wรคre es super, wenn du die "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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nein, ist leider noch aktuell. Ich hatte das Problem erstmal auf Eis gelegt. Bin aber gerade heute wieder damit angefangen das anzusehen.
Also bitte noch um weitere Hilfe...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hast du die Mรถglichkeit, das auf einer aktuelleren FirstSpirit-Version zu testen?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Haben nun 5.1.410.67084 im Einsatz. Auch dort das gleiche Problem.

