Wie beschrieben möchte ich aus den Java Klassen bestimmte Imports rauslöschen. Bekomme aber jedesmal, wenn ich das delete aufrufe folgende Exception
Ist mir grad ziemlich schleierhaft, weil der import ja definitiv da ist; vielleicht seh ichs auch auf Grund der Uhrzeit nur nicht ...
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();
}
}
}
}