TOPIC: TableData Export - NPE
1 year 5 days ago #1002
Moin,
ich weiss nicht, ob es ein Bug ist oder ein Feature Request:
Wenn ich bei dem (wirklich) neuen tollen Tabledata Export eine Tabelle habe, die eine GeneratedColumn mit UI enthält, kommt eine NPE.
java.lang.NullPointerException
	at com.xdev.reports.tableexport.TableDataSourceFactory$Default.getFormattedValues(TableDataSourceFactory.java:80)
	at com.xdev.reports.tableexport.TableDataSourceFactory$Default.createDataSource(TableDataSourceFactory.java:65)
	at com.xdev.reports.tableexport.TableReportBuilder$Default.buildReport(TableReportBuilder.java:112)
	at com.xdev.reports.tableexport.ui.TableExportPopup.createReportResource(TableExportPopup.java:303)
	at com.xdev.reports.tableexport.ui.TableExportPopup.cmdShow_buttonClick(TableExportPopup.java:291)
	at com.xdev.reports.tableexport.ui.TableExportPopup.lambda$5(TableExportPopup.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
	at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
	at com.vaadin.ui.Button.fireClick(Button.java:377)
	at com.vaadin.ui.Button$1.click(Button.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:437)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:402)
	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
	at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:148)
	at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:240)
	at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:494)
	at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
	at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
	at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199)
	at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107)
	at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
	at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075)
	at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571)
	at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333)
	at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
	at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328)
	at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425)
	at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:125)
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
	at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:64)
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:160)
	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
	at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
	at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:628)
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:476)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Ich wüsste auch nicht, was da sinnvoll im Report angezeigt werden sollte.
Daher die Frage: Macht es nicht Sinn, solche Spalten gar nicht erst im Dialog anzubieten sondern diese auszublenden?
Das ist einem Endanwender schwer vermittelbar, dass er vor dem Export diese manuell "abhaken" muss, damit ihm keine Exception um die Ohren fliegt

Grüße
Wolfgang
The administrator has disabled public write access.
1 year 6 hours ago #1022
Hallo wkostorz,

vielen Dank für Ihr Feedback.

Wir haben das Problem mit aufgenommen und in einer der nächsten Versionen wird im Assistenten keine "GeneratedColumn" mehr mit angezeigt.

Mit freundlichen Grüßen,
RapidClipse Team
The administrator has disabled public write access.
11 months 4 weeks ago #1039
Hallo,

vielleicht ist es auch nur ein Missverständnis, aber wird dann in der nächsten Version in dem Assistenten wirklich generell keine Generated Column mehr angezeigt, oder nur Generated Colum mit UI sowie keine Generated Colum mit UI (Typisiert)?

Denn ich bin der Meinung, dass eine "normale" Generated Column, also z. B. die Berechnung einer Zeilensumme aus Menge und Preis durchaus Sinn macht.

Man sollte wenn dann wirklich nur den Export einer Generated Column mit UI unterdrücken, nicht jedoch für die ohne UI.
The administrator has disabled public write access.