- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Innerhalb eines GomIncludeValueProvider den angemeldeten User abfragen
Moin,
ich habe einen GomIncludeValueProvider implementiert.
Der funktionier soweit auch ganz gut.
Nun wรผrde ich aber gerne innerhalb der Methode "public List<T> getValues(SpecialistsBroker broker)"
den angemeldeten User abfragen, um damit dann die zurรผckzugebende Liste einzuschrรคnken.
Wenn ich in dieser Methode folgende Zeile einfรผge
UserService service = broker.requireSpecialist(ServicesBroker.TYPE).getService(UserService.class);
bekomme ich im FirstSpirit-Client folgende Fehlermeldung:
"Fehler in der Vorlage 'xxx'. Der ausgewรคhlte Inhalt kann nicht angezeigt werden.
Grund: Der Service 'de.espirit.firstspirit.access.UserService' ist nicht gestartet."
Was mache ich falsch?
Gruร
Peter
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"UserService" ist nicht รผber den "ServicesBroker" erreichbar, die Fehlermeldung ist da tatsรคchlich verwirrend.
Den aktuellen Benutzer bekommst du so:
User user = broker.requireSpecialist(UserAget.TYPE).getUser();
Gruร, Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"UserService" ist nicht รผber den "ServicesBroker" erreichbar, die Fehlermeldung ist da tatsรคchlich verwirrend.
Den aktuellen Benutzer bekommst du so:
User user = broker.requireSpecialist(UserAget.TYPE).getUser();
Gruร, Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Peter,
besten Dank!
So passt es.
Gruร
Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
wir haben jetzt das Problem dass wir den User zwar erhalten - sobald wir diesen verwenden aber nicht wie erwartet
"de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$GenericOption" von einer CMS_INPUT_COMBOBOX bekommen.
Sobald man das User-Objekt verwendet bekommt man hier "de.espirit.firstspirit.access.editor.value.SimpleOption" und damit als value nur noch den String zurรผck..
Was lรคuft hier falsch bzw. was machen wir falsch? Ich habe einmal ein Test-Beispiel angehรคngt, dass das Ergebnis zeigen sollte..
Viele Grรผรe,
Torben
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das Beispiel liefert keine User-Instanzen, sondern eine innere Klasse "SampleBean".
Wahrscheinlich verstehe ich das Problem nicht...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay: Gemeint ist der Rรผckgabewert in einem Formular:
<CMS_INPUT_COMBOBOX name="st_registrationlist3" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="public">
<NAME>com.hamburgsud.firstspirit.pub.SampleValueProvider</NAME>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Auswahl" description="TEXT"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Hier liefert dann ein $CMS_VALUE(st_registrationlist3.class)$ im guten Fall "de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$GenericOption"
im schlechten Fall
"de.espirit.firstspirit.access.editor.value.SimpleOption"
๐
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Da das Verhalten der API hier eher unerwartet ist: Soll ich hierfรผr zur Klรคrung besser ein Ticket beim Helpdesk aufmachen?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bevor wir ein Ticket beim Helpdesk aufmachen, versuche ich es nochmal zu erklรคren.
Der SampleValueProvider wird im Formular wie folgt eingebunden:
<CMS_INPUT_COMBOBOX name="st_registrationlist3" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="public">
<NAME>com.hamburgsud.firstspirit.pub.SampleValueProvider</NAME>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Auswahl" description="TEXT"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Das klappt an sich auch.
Das Problem taucht erst in der Ausgabe auf ( im Beispiel durch $CMS_VALUE(st_registrationlist3.class)$ verdeutlicht).
Wenn aus der bereits angehรคngten Javaklasse die Zeile 31 statt 34 ausgefรผhrt wird
result.add(new SampleBean("BLUB"));
wird im Formular "BLUB" angezeigt und in der Ausgabe steht dann
de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$GenericOption
Wenn jedoch Zeile 34 statt 31 ausgefรผhrt (und somit auf den Usernamen zugegriffen) wird
result.add(new SampleBean(username));
wird im Formular korrekterweise der aktuelle Loginname angezeigt.
In der Ausgabe steht jedoch
de.espirit.firstspirit.access.editor.value.SimpleOption
Der Unterschied zwischen GenericOption und SimpleOption ist ganz einfach, dass man bei der GenericOption mittels getValue() das gewรผnschte "SampleBean" erhรคlt. Bei der SimpleOption erhรคlt man mittels getValue() lediglich einen String.
Es wรคre schรถn, wenn sich hierzu noch jemand melden kann.
Auch wenn es hier nicht gelรถst werden kann.
Gruร
Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke fรผr die zahlreichen Antworten!
Ticket wurde aufgemacht...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
folgenden Denkfehler wurde hier von unseren Entwicklern entdeckt:
fรผr die Auswahl im Client liefert der Provider lediglich ein Objekt, nรคmlich fรผr den aktuellen Benutzer (z.B. "Admin").
Bei der Generierung ist der Benutzer aber ein anderer (Systembenutzer). Der Provider liefert in seiner Auswahlmenge nur diesen Systembenutzer, "Admin" ist somit kein unterstรผtzter Wert der Menge und daher wird ein SimpleOption-Objekt erzeugt (weil nicht entscheidbar ist, warum "Admin" nicht in der Wertemenge enthalten ist).
Deshalb also die unterschiedlichen Ausgaben bei:
result.add(new SampleBean(username));
und
result.add(new SampleBean("BLUB"));
Gruร,
Walter.

