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