Questions & Answers

SOLVED
sguener
Elite Observer

NPE bei OpenElementDataFormOperation.perform

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions
StefanSchulz
I'm new here

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

View solution in original post

0 Kudos
3 Replies
StefanSchulz
I'm new here

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

0 Kudos

Hallo Stefan,

wenn man es richtig macht, klappt es auch (lag an der Sprache)! Smiley Wink

0 Kudos

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

0 Kudos

Type a product name