Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-12052

Selection of Source and Visual pane is not properly synchronized, StringIndexOutOfBoundsException

    XMLWordPrintable

Details

    Description

      1. Create JSF 1.2 Kickstart project
      2. Open inputUserName.jsp.
      3. Insert some plain text within <f:view> tag
      4. Select part of this text in Source pane using mouse or Shift+Arrow

      ASSERT: Selection is reflected in Visual pane

      5. Select part of this text in Visual pane using Shift+Arrow (both Lext and Right)

      ASSERT: Selection is reflected in Source pane

      6. Select part of this text in Source pane using mouse or Shift+Arrow

      ERROR: Selection is not reflected in Visual pane

      7. Select part of text "#

      {Message.header}

      " with mouse or Shift+Arrow

      ERROR: Lot of these error messages are displayed:

      java.lang.StringIndexOutOfBoundsException: String index out of range: -309
      	at java.lang.String.substring(String.java:1937)
      	at org.jboss.tools.vpe.editor.util.TextUtil.visualPosition(TextUtil.java:361)
      	at org.jboss.tools.vpe.editor.template.SelectionManager.restoreVisualCursorPosition(SelectionManager.java:370)
      	at org.jboss.tools.vpe.editor.template.SelectionManager.refreshVisualTextSelection(SelectionManager.java:251)
      	at org.jboss.tools.vpe.editor.template.SelectionManager.refreshVisualSelection(SelectionManager.java:176)
      	at org.jboss.tools.vpe.editor.VpeController.sourceSelectionChanged(VpeController.java:830)
      	at org.jboss.tools.vpe.editor.VpeController$VPEUpdateJob.runInUIThread(VpeController.java:1271)
      	at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
      	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
      	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
      	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
      	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
      	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
      	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
      	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
      	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
      	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
      	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      	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:344)
      	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:597)
      	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
      	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
      	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
      	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
      

      Attachments

        1. 12052a.patch
          14 kB
        2. 12052vissel.png
          12052vissel.png
          9 kB
        3. selectionerror.ogg
          344 kB

        Issue Links

          Activity

            People

              dmaliarevich_jira Denis Maliarevich (Inactive)
              vpakan Vlado Pakan (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: