-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: 9.0.2
-
Component/s: Modeling, Transformations
-
Steps to Reproduce:
-
Bugzilla References:
-
Bugzilla Update:Perform
Saving a view model when there is a syntax error in the transformation can sometimes make it completely broken.
Going through the steps to reproduce, it appears after the first save, the invalid transformation is not saved to the file, but after saving for the second time, it is. Designer should ideally prevent invalid SQL to be saved to the model.
Workaround is to open the model in XML editor and fix the transformation manually.
The following exception is logged:
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.teiid.query.parser.v8.TokenMgrError: Lexical error at line 2, column 27. Encountered: "\\" (92), after : ""))))
|
at org.eclipse.swt.SWT.error(SWT.java:4441)
|
at org.eclipse.swt.SWT.error(SWT.java:4356)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139)
|
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
|
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.executeRunnable(UiBusyIndicator.java:227)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhileInternal(UiBusyIndicator.java:159)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhile(UiBusyIndicator.java:116)
|
at org.teiid.designer.diagram.ui.editor.DiagramSelectionHandler.handleDoubleClick(DiagramSelectionHandler.java:272)
|
at org.teiid.designer.diagram.ui.notation.uml.part.UmlClassifierEditPart.performRequest(UmlClassifierEditPart.java:453)
|
at org.teiid.designer.diagram.ui.util.SelectionTracker.handleDoubleClick(SelectionTracker.java:74)
|
at org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
|
at org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:527)
|
at org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
|
at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
|
at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
|
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:196)
|
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
|
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
|
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
|
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
|
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
|
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
|
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
|
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
|
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
|
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
|
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
|
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
|
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
|
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
|
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
|
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
|
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
|
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
|
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
|
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
at java.lang.reflect.Method.invoke(Method.java:606)
|
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
|
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
|
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
|
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
|
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.teiid.query.parser.v8.TokenMgrError: Lexical error at line 2, column 27. Encountered: "\\" (92), after : "")))
|
at org.eclipse.swt.SWT.error(SWT.java:4441)
|
at org.eclipse.swt.SWT.error(SWT.java:4356)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139)
|
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
|
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.executeRunnable(UiBusyIndicator.java:227)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhileInternal(UiBusyIndicator.java:159)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhile(UiBusyIndicator.java:116)
|
at org.teiid.designer.ui.editors.ModelEditorManager.edit(ModelEditorManager.java:505)
|
at org.teiid.designer.ui.editors.ModelEditorManager.edit(ModelEditorManager.java:493)
|
at org.teiid.designer.diagram.ui.notation.uml.part.UmlClassifierEditPart.edit(UmlClassifierEditPart.java:274)
|
at org.teiid.designer.diagram.ui.editor.DiagramSelectionHandler$1.run(DiagramSelectionHandler.java:275)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator$2$1.run(UiBusyIndicator.java:206)
|
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
|
... 41 more
|
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.teiid.query.parser.v8.TokenMgrError: Lexical error at line 2, column 27. Encountered: "\\" (92), after : ""))
|
at org.eclipse.swt.SWT.error(SWT.java:4441)
|
at org.eclipse.swt.SWT.error(SWT.java:4356)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139)
|
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
|
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.executeRunnable(UiBusyIndicator.java:227)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhileInternal(UiBusyIndicator.java:159)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhile(UiBusyIndicator.java:116)
|
at org.teiid.designer.ui.editors.ModelEditorManager.open(ModelEditorManager.java:344)
|
at org.teiid.designer.ui.editors.ModelEditorManager$7.run(ModelEditorManager.java:514)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator$2$1.run(UiBusyIndicator.java:206)
|
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
|
... 53 more
|
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.teiid.query.parser.v8.TokenMgrError: Lexical error at line 2, column 27. Encountered: "\\" (92), after : "")
|
at org.eclipse.swt.SWT.error(SWT.java:4441)
|
at org.eclipse.swt.SWT.error(SWT.java:4356)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139)
|
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
|
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.executeRunnable(UiBusyIndicator.java:227)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhileInternal(UiBusyIndicator.java:159)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator.showWhile(UiBusyIndicator.java:116)
|
at org.teiid.designer.diagram.ui.editor.DiagramEditor.openContext(DiagramEditor.java:1224)
|
at org.teiid.designer.ui.editors.ModelEditor.openModelObject(ModelEditor.java:1014)
|
at org.teiid.designer.ui.editors.ModelEditor.openModelObject(ModelEditor.java:985)
|
at org.teiid.designer.ui.editors.ModelEditorManager$5.run(ModelEditorManager.java:350)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator$2$1.run(UiBusyIndicator.java:206)
|
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
|
... 63 more
|
Caused by: org.teiid.query.parser.v8.TokenMgrError: Lexical error at line 2, column 27. Encountered: "\\" (92), after : ""
|
at org.teiid.query.parser.v8.Teiid8ParserTokenManager.getNextToken(Teiid8ParserTokenManager.java:3314)
|
at org.teiid.query.parser.v8.Teiid8Parser.jj_ntk(Teiid8Parser.java:18993)
|
at org.teiid.query.parser.v8.Teiid8Parser.select(Teiid8Parser.java:4749)
|
at org.teiid.query.parser.v8.Teiid8Parser.query(Teiid8Parser.java:4471)
|
at org.teiid.query.parser.v8.Teiid8Parser.queryPrimary(Teiid8Parser.java:4382)
|
at org.teiid.query.parser.v8.Teiid8Parser.queryTerm(Teiid8Parser.java:4307)
|
at org.teiid.query.parser.v8.Teiid8Parser.queryExpressionBody(Teiid8Parser.java:4220)
|
at org.teiid.query.parser.v8.Teiid8Parser.queryExpression(Teiid8Parser.java:4143)
|
at org.teiid.query.parser.v8.Teiid8Parser.userCommand(Teiid8Parser.java:1081)
|
at org.teiid.query.parser.v8.Teiid8Parser.designerCommand(Teiid8Parser.java:611)
|
at org.teiid.query.parser.QueryParser.parseCommand(QueryParser.java:207)
|
at org.teiid.query.parser.QueryParser.parseDesignerCommand(QueryParser.java:196)
|
at org.teiid.query.parser.QueryParser.parseDesignerCommand(QueryParser.java:1)
|
at org.teiid.designer.transformation.validation.TransformationValidator.parseSQL(TransformationValidator.java:398)
|
at org.teiid.designer.transformation.validation.TransformationValidator.validateSql(TransformationValidator.java:351)
|
at org.teiid.designer.transformation.util.SqlMappingRootCache.createStatus(SqlMappingRootCache.java:752)
|
at org.teiid.designer.transformation.util.SqlMappingRootCache.getStatus(SqlMappingRootCache.java:833)
|
at org.teiid.designer.transformation.util.SqlMappingRootCache.getStatus(SqlMappingRootCache.java:794)
|
at org.teiid.designer.transformation.util.SqlMappingRootCache.getCommand(SqlMappingRootCache.java:675)
|
at org.teiid.designer.transformation.util.SqlMappingRootCache.getSelectCommand(SqlMappingRootCache.java:428)
|
at org.teiid.designer.transformation.util.TransformationHelper.isUnionCommand(TransformationHelper.java:3188)
|
at org.teiid.designer.transformation.ui.model.TransformationNode.isUnion(TransformationNode.java:53)
|
at org.teiid.designer.transformation.ui.figure.TransformationDiagramFigureFactory.createFigure(TransformationDiagramFigureFactory.java:111)
|
at org.teiid.designer.transformation.ui.part.TransformationEditPart.createFigure(TransformationEditPart.java:70)
|
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.getFigure(AbstractGraphicalEditPart.java:494)
|
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addChildVisual(AbstractGraphicalEditPart.java:208)
|
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:211)
|
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:781)
|
at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:726)
|
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:644)
|
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
|
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
|
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
|
at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart.java:105)
|
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:617)
|
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:626)
|
at org.teiid.designer.diagram.ui.editor.DiagramEditor.setDiagram(DiagramEditor.java:1575)
|
at org.teiid.designer.diagram.ui.editor.DiagramEditor$5.run(DiagramEditor.java:1227)
|
at org.teiid.designer.ui.common.viewsupport.UiBusyIndicator$2$1.run(UiBusyIndicator.java:206)
|
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
|
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
|
... 75 more
|