Hallo zusammen,
sitze gerade an einem merkwürdigen Problemchen, vielleicht hat jemand von euch eine Antwort darauf:
Folgendes Szenario:
FirstSpirit Version 5.1.416
In einer Page wird über eine CMS_INPUT_COMBOBOX mit CMS_INCLUDE_OPTIONS die Möglichkeit geschaffen dem Redakteur eine Entity aus einer Datenquelle auswählen zu lassen.
Nun soll diese über die FirstSpirit API ausgelesen werden. Dazu habe ich folgende BeanShell Ausgabe, die sich anders verhält, als das Java (FSM) Pendant.
Beanshell
bsh % e.getClass();
<class de.espirit.firstspirit.store.access.pagestore.PageImpl>
bsh % ((Option) e.getFormData().get(e.getProject().getMasterLanguage(), "pt_product_range").get()).getClass();
<class de.espirit.firstspirit.store.access.contentstore.ContentOptionFactory$ContentOption>
bsh % ((Option) e.getFormData().get(e.getProject().getMasterLanguage(), "pt_product_range").get()).getValue();
<de.espirit.or.impl.EntityImpl@759cdcc7{ProductRange,PERSISTENT,FS_ID=27559,FS_VALID_FROM=1421840121451,FS_VALID_TO=9223372036854775807,FS_RELEASE_TO=0}>
Java FSM (inkl. Logausgabe aus Generierung)
context.logInfo("Page: " + context.getPage().getClass() + " - " + context.getPage().getUid());
context.logInfo("Option:" + context.getPage().getFormData().get(context.getProject().getMasterLanguage(), "pt_product_range").get().getClass());
context.logInfo("Option Content:" + ((Option) context.getPage().getFormData().get(context.getProject().getMasterLanguage(), "pt_product_range").get()).getValue());
productRangeEntity = (Entity) ((Option) context.getPage().getFormData().get(language, "pt_product_range").get()).getValue();
INFO 10.07.2015 18:56:31.328{g-node=266289} (de.espirit.firstspirit.generate.SiteProduction): Page: class de.espirit.firstspirit.store.access.pagestore.PageImpl
INFO 10.07.2015 18:56:31.328{g-node=266289} (de.espirit.firstspirit.generate.SiteProduction): Option:class de.espirit.firstspirit.access.editor.value.SimpleOption
INFO 10.07.2015 18:56:31.328{g-node=266289} (de.espirit.firstspirit.generate.SiteProduction): Option Content:530392a2-262b-455b-a341-17e8604bb8f7
Der Unterschied liegt in der Option begründet, die sie via Beanshell wohl eine ContentOption ist und via Java FSM eine SimpleOption.
Mir erklärt sich aktuell nicht warum. Kann da jemand helfen? Oder handelt es sich um einen Fehler?
Viele Grüße,
Philipp