Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich versuche im ContentCreator von einem Element zu einem anderen Element zu springen.
Zur Veranschaulichung habe ich einen Screenshot angefügt. Zu sehen (aktuell geöffnet) ist das Formular eines Datensatzes aus der Datenquelle "dokument". Nun soll der Kunde die Möglichkeit bekommen, mittels eines FS_BUTTON auf einen anderen Datensatz aus einer anderen Datenquelle zu springen, um diesen zu bearbeiten. Die vier auf dem Screenshot gezeigten Comboboxen enthalten Datensätze aus vier unterschiedlichen Datenquellen. Sobald man auf "Bearbeiten" klickt, lese ich das ausgewählte Element aus und versuche, die Maske zu öffnen.
Das ist mein Code (auf das wesentliche gekürzt, teilweise auch mit Pseudo-Code):
PSEUDO-CODE -> subDataset = leseComboboxUndLiefereDataset();
// subDataset ist das in der Combobox ausgewählte Dataset-Objekt.
if (doTransition && subDataset != null) {
opAgent = context.requireSpecialist(OperationAgent.TYPE);
dataFormOperation = opAgent.getOperation(OpenElementDataFormOperation.TYPE);
dataFormOperation.setOpenEditable(true);
//dataFormOperation.setFormData(subDataset.getFormData());
// Ob mit oder ohne setFormData, die Exception fliegt trotzdem, daher auskommentiert!
dataFormOperation.perform(subDataset);
}
Das ist der dazugehörige StackTrace:
java.lang.NullPointerException
at de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgetMediatorContext.getPersistencyLanguage(GwtServerGadgetMediatorContext.java:59)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.<init>(AggregatingGwtServerGadgetMediator.java:46)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.create(AggregatingGwtServerGadgetMediator.java:66)
at de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgetMediatorFactory.create(GwtServerGadgetMediatorFactory.java:23)
at de.espirit.firstspirit.webedit.server.gadgets.GwtFormControl.<init>(GwtFormControl.java:64)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager.loadSession(FormSessionManager.java:249)
at de.espirit.firstspirit.webedit.server.operations.WebeditOpenElementDataFormOperation.perform(WebeditOpenElementDataFormOperation.java:102)
at sun.reflect.GeneratedMethodAccessor14945.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:507)
at bsh.Reflect.invokeMethod(Reflect.java:166)
at bsh.Reflect.invokeObjectMethod(Reflect.java:99)
at bsh.Name.invokeMethod(Name.java:858)
at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHTryStatement.eval(BSHTryStatement.java:88)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BshMethod.invokeImpl(BshMethod.java:371)
at bsh.BshMethod.invoke(BshMethod.java:267)
at bsh.BshMethod.invoke(BshMethod.java:170)
at bsh.PreparsedScript.invoke(PreparsedScript.java:66)
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:100)
at de.espirit.firstspirit.client.gui.applications.ApplicationTabRegistry$IdentifiableExecutable.execute(ApplicationTabRegistry.java:114)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:106)
at de.espirit.firstspirit.common.ScriptUtil.executePrivileged(ScriptUtil.java:158)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:150)
at de.espirit.firstspirit.webedit.server.script.WebeditScriptUtil.execute(WebeditScriptUtil.java:68)
at de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl.executeScript(StoreElementFormServiceImpl.java:676)
at sun.reflect.GeneratedMethodAccessor13795.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:507)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:292)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:408)
at de.espirit.firstspirit.webedit.server.concurrent.ExecutionManager$NamedCallable.call(ExecutionManager.java:318)
at java.util.concurrent.FutureTask.run(FutureTask.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1143)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:618)
at java.lang.Thread.run(Thread.java:785)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:55)
Es handelt sich um FirstSpirit 5.2.311.72449.
Der ContentCreator bietet ja auch die Möglichkeit auf Datensätze z.B. aus einer FS_LIST zu springen. Beim Technical Support konnte man mir leider nicht helfen.
Ich bin euch für jeden Tipp sehr dankbar!
Schöne Grüße
Sahin
Hallo Sahin,
die Fehlermeldung ist hinreichend verwirrend. Bitte probiere doch einmal aus, ob es hilft, wenn du die Sprache für die Operation setzt: setLanguage(...).
Beste Grüße
Stefan
Hallo Sahin,
die Fehlermeldung ist hinreichend verwirrend. Bitte probiere doch einmal aus, ob es hilft, wenn du die Sprache für die Operation setzt: setLanguage(...).
Beste Grüße
Stefan
Hallo Stefan,
wenn man es richtig macht, klappt es auch (lag an der Sprache)!
Hi Sahin,
schön, dass es jetzt funktioniert. Ich nehme das trotzdem als Fehler mit, denn eine NPE sollte in diesem Fall nicht auftreten.
Beste Grüße
Stefan