Uploaded image for project: 'Spring IDE'
  1. Spring IDE
  2. IDE-1293

Exception thrown from 'Spring annotation proposal'

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 3.3.0.RC1
    • beans.ui.quickfix
    • None
    • spring-tool-suite-3.3.0.M1-e4.2.2-win32

    Description

      The exception below is throw when using autocomplete. A sample project to demonstrate the problem is attached (see comments in file ExampleService.java). Steps are:

      • Create a Spring Utility project using a template
      • Add an @Autowired field to a class, with @Qualifier("bla")
      • Call autocompeletion when the cursor is after the opening bracket.

      eclipse.buildId=3.3.0.201304211039-M1-e42
      java.version=1.7.0_21
      java.vendor=Oracle Corporation
      BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
      Framework arguments: -product org.springsource.sts.ide
      Command-line arguments: -os win32 -ws win32 -arch x86 -product org.springsource.sts.ide

      Warning
      Thu May 23 12:02:03 CEST 2013
      The 'Spring Annotation Proposal' proposal computer from the 'org.springframework.ide.eclipse.quickfix' plug-in did not complete normally. The extension has thrown a runtime exception.

      java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      at java.lang.String.substring(Unknown Source)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.AnnotationProposalComputer.getLocationSourceRange(AnnotationProposalComputer.java:133)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.AnnotationProposalComputer.getLocationSourceRange(AnnotationProposalComputer.java:110)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.AnnotationProposalComputer.getLocationSourceRange(AnnotationProposalComputer.java:80)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.QualifierArgumentProposalComputer.computeCompletionProposals(QualifierArgumentProposalComputer.java:106)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.AnnotationProposalComputer.computeCompletionProposals(AnnotationProposalComputer.java:62)
      at org.springframework.ide.eclipse.quickfix.jdt.computers.AnnotationArgumentProposalComputer.computeCompletionProposals(AnnotationArgumentProposalComputer.java:34)
      at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
      at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:340)
      at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:328)
      at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:284)
      at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1839)
      at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:566)
      at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:563)
      at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:498)
      at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:492)
      at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1665)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:183)
      at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
      at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
      at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
      at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
      at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76)
      at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
      at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231)
      at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212)
      at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131)
      at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83)
      at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
      at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
      at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100)
      at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521)
      at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640)
      at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
      at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528)
      at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
      at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976)
      at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
      at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
      at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
      at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
      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:353)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

      Attachments

        Activity

          People

            mlippert Martin Lippert
            jotomo Johannes Mockenhaupt
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: