[
https://jira.jboss.org/jira/browse/JBIDE-5271?page=com.atlassian.jira.plu...
]
Xue Peng commented on JBIDE-5271:
---------------------------------
When user change the connection/field's name is Apply Template viewer , smooks editor
will use the freemarker template engine to generate the CSV contents ,
Sometimes the parameters value were not correct for freemarker template engine when you
are doing the graphical mapping , for example , only link the "Value" node of
JavaBean figure with the "Field" node of CSV Template figure , the
"collection" connection is miss , so the template can't generate correct
contents.
So I suggest when smooks editor get the exception when generate the CSV contents , draw a
"X" icon in CSV Template figure and show the error message in tooltip to tell
user what's wrong with the mapping. But the premise is that Tom provides the suitable
exception and error message.
Apply Template bindings not saved in Smooks Config XML
------------------------------------------------------
Key: JBIDE-5271
URL:
https://jira.jboss.org/jira/browse/JBIDE-5271
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: smooks
Reporter: Brian Fitzpatrick
Assignee: Tom Fennelly
Fix For: 3.1.0.GA
Attachments: smooksexample.zip
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
With the latest fixes delivered to add CSV template mapping, I noticed that the XML for
the configuration doesn't get updated when you drag/drop from the Java Classes to the
CSV Template model. And because it's not updating the XML, it's not saving the
changes and the mappings are not persisted when you reopen the configuration.
This appears to be caused by a NPE in the "addMappings" method of the
CSVFreeMarkerTemplateBuilder class.
Tom, any ideas how to fix this?
Here's the exception:
java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:33)
at
org.jboss.template.csv.CSVFreeMarkerTemplateBuilder.addMappings(CSVFreeMarkerTemplateBuilder.java:81)
at
org.jboss.template.csv.CSVFreeMarkerTemplateBuilder.<init>(CSVFreeMarkerTemplateBuilder.java:74)
at
org.jboss.tools.smooks.graphical.editors.SmooksFreemarkerTemplateGraphicalEditor$FreemarkerTemplateConnectionModelFactory.fillMapping(SmooksFreemarkerTemplateGraphicalEditor.java:385)
at
org.jboss.tools.smooks.graphical.editors.SmooksFreemarkerTemplateGraphicalEditor$FreemarkerTemplateConnectionModelFactory.createConnection(SmooksFreemarkerTemplateGraphicalEditor.java:260)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createConnection(SmooksGraphicalEditorPart.java:820)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createConnection(SmooksGraphicalEditorPart.java:917)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createConnection(SmooksGraphicalEditorPart.java:923)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createConnection(SmooksGraphicalEditorPart.java:923)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createConnectionModel(SmooksGraphicalEditorPart.java:782)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.initGraphicalModel(SmooksGraphicalEditorPart.java:755)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.initializeGraphicalViewer(SmooksGraphicalEditorPart.java:1012)
at
org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalViewer(GraphicalEditor.java:153)
at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:163)
at
org.jboss.tools.smooks.graphical.editors.SmooksGraphicalEditorPart.createPartControl(SmooksGraphicalEditorPart.java:210)
at
org.jboss.tools.smooks.graphical.editors.SmooksProcessGraphicalEditor.createTaskPage(SmooksProcessGraphicalEditor.java:981)
at
org.jboss.tools.smooks.graphical.editors.SmooksProcessGraphicalEditor.showTaskControl(SmooksProcessGraphicalEditor.java:941)
at
org.jboss.tools.smooks.graphical.editors.SmooksProcessGraphicalEditor$2.selectionChanged(SmooksProcessGraphicalEditor.java:340)
at org.eclipse.zest.core.viewers.GraphViewer$1.widgetSelected(GraphViewer.java:96)
at org.eclipse.zest.core.widgets.Graph.fireWidgetSelectedEvent(Graph.java:723)
at org.eclipse.zest.core.widgets.Graph.access$4(Graph.java:715)
at org.eclipse.zest.core.widgets.Graph$DragSupport.mousePressed(Graph.java:682)
at org.eclipse.draw2d.Figure.handleMousePressed(Figure.java:873)
at
org.eclipse.draw2d.SWTEventDispatcher.dispatchMousePressed(SWTEventDispatcher.java:214)
at
org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:513)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira