Eclipse Plug-in Fehler beim Löschen von Imports aus Java-Files

KingSagat

Grünschnabel
Wie beschrieben möchte ich aus den Java Klassen bestimmte Imports rauslöschen. Bekomme aber jedesmal, wenn ich das delete aufrufe folgende Exception

Code:
org.eclipse.core.runtime.AssertionFailedException: assertion failed: Failed to locate bla.bla.BLA in Genre.java
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
	at org.eclipse.jdt.internal.core.DeleteElementsOperation.deleteElement(DeleteElementsOperation.java:76)
	at org.eclipse.jdt.internal.core.DeleteElementsOperation.processElement(DeleteElementsOperation.java:154)
	at org.eclipse.jdt.internal.core.MultiOperation.processElements(MultiOperation.java:163)
	at org.eclipse.jdt.internal.core.DeleteElementsOperation.processElements(DeleteElementsOperation.java:179)
	at org.eclipse.jdt.internal.core.MultiOperation.executeOperation(MultiOperation.java:90)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1798)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:785)
	at org.eclipse.jdt.internal.core.JavaModel.delete(JavaModel.java:138)
	at org.eclipse.jdt.internal.core.SourceRefElement.delete(SourceRefElement.java:78)
	at net.andreaskoch.coobra2tooexiconverter.popup.actions.ConvertToOExIAction.getSource(ConvertToOExIAction.java:111)
	at net.andreaskoch.coobra2tooexiconverter.popup.actions.ConvertToOExIAction.run(ConvertToOExIAction.java:48)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:582)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:499)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:410)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1105)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3335)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2982)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2395)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2359)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2225)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:468)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:463)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
	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:515)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:455)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1193)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1169)

Ist mir grad ziemlich schleierhaft, weil der import ja definitiv da ist; vielleicht seh ichs auch auf Grund der Uhrzeit nur nicht ...

Code:
ICompilationUnit element = (ICompilationUnit) jClass.getWorkingCopy( null );
   IImportDeclaration[] imports = element.getImports();
   for (int k = 0; k < imports.length; k++)
   {
      if (imports[i].getElementName().matches( "bla.bla.BLA" ))
      {
         if(imports[i].exists())
          {
            try
            {
               imports[i].delete( false, null );
            } catch (AssertionFailedException e)
            {
               e.printStackTrace();
            }
         }
      }
  }
 

Neue Beiträge

Zurück