MarcusDau
Occasional Collector

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!

0 Kudos
11 Replies
Peter_Jodeleit
Crownpeak employee

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..

Peter
0 Kudos

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?

0 Kudos

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.

0 Kudos
MarcusDau
Occasional Collector

Hat niemand eine Idee? Bitte um Hilfe!!!!!!!

0 Kudos

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

0 Kudos

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

0 Kudos

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...

0 Kudos

Hast du die Möglichkeit, das auf einer aktuelleren FirstSpirit-Version zu testen?

Peter
0 Kudos

Haben nun 5.1.410.67084 im Einsatz. Auch dort das gleiche Problem.

0 Kudos