Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 334225

Summary: IAE when removing unused import for multiple files
Product: [Eclipse Project] JDT Reporter: Daniel Heid <danielheid>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: CLOSED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert
Version: 3.6.1   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Daniel Heid CLA 2011-01-13 04:08:45 EST
Hello! When I choose to fix "Remove unused import" for multiple files on a "The import [...] cannot be resolved" Java problem in the view "Problems", nothing happens. The error log contains the following two errors after the operation:

Exception occurred during compilation unit conversion:----------------------------------- SOURCE BEGIN -------------------------------------
package com.vodecc.voipmng.core.usermng.dao;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.vodecc.voipmng.core.sysmng.entity.CVod_ClientBean;
import com.vodecc.voipmng.core.usermng.entity.CVod_UserBean;
import com.vodecc.voipmng.core.util.CVod_Constants;
import com.vodecc.voipmng.core.util.CVod_Logger;
import com.vodecc.voipmng.core.util.CVod_Page;
import com.vodecc.voipmng.core.util.CVod_Utils;

/**
* This class is the representation of the hibernate DAO for the user bean.
*
* @author florian.bauss
* @since 1.2
*/
public class CVod_UserBeanHibernateDAO extends HibernateDaoSupport implements IVod_UserBeanDAO
{
/*************************************************************************/
// Variables
/*************************************************************************/

/*************************************************************************/
//Constructor...
/*************************************************************************/

private static final Logger LOG = Logger.getLogger(CVod_UserBeanHibernateDAO.class);

/**
* The default constructor.
*/
public CVod_UserBeanHibernateDAO()
{}

/*************************************************************************/
// Methods
/*************************************************************************/

/**
* This method deletes a user from the database.
*
* @param user The user to delete.
*/
@Override
public void deleteUser(CVod_UserBean user)
{
//Do some logging...
LOG.debug("deleteUser() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(user, "user", "deleteUser()");

//check for any foreign key connections in user_login_times table
Query q = getSession().createQuery("delete from CVod_UserLoginTimeBean where user.userId = :userid");
q.setLong("userid", user.getUserId());
q.executeUpdate();

//check for any foreign key connections in alarm table
Query q2 = getSession().createQuery("delete from CVF_AlarmBean where author.userId = :userid");
q2.setLong("userid", user.getUserId());
q2.executeUpdate();

//check for any foreign key connections in alarm subscription table
Query q3 = getSession().createSQLQuery("delete from alarmsubscriptions where userId = :userid");
q3.setLong("userid", user.getUserId());
q3.executeUpdate();

//Delete the user...
getHibernateTemplate().delete(user);
}

/*************************************************************************/

/**
* This method returns an array of user for a page number and client.
* @param client The client object is the key
* @param pageNumber The number of page
* @return list of users - Amount of users for this page
*/
@Override
public List<CVod_UserBean> getAllUsersForClient(CVod_ClientBean client, int pageNumber)
{
//Do some logging...
LOG.debug("getAllUsersForClient() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "getAllUsersForClient()");
CVod_Utils.checkArgumentAgainstLessThanZero(pageNumber, "pageNumber", "getAllUsersForClient()");

//Create the query...
Query q = getSession().createQuery("from CVod_UserBean where client = :client");
q.setParameter("client", client);

//Execute the query using paging...
CVod_Page<CVod_UserBean> page = new CVod_Page<CVod_UserBean>(q, pageNumber, CVod_Constants.PAGE_SIZE);
return page.getList();
}

/*************************************************************************/
/**
* This method returns an array of user for a page number and client with the specific sorted order of the sortKey parameter.
* @param client The client object is the key
* @param pageNumber The number of page
* @return list of users - Amount of users for this page
*/
@Override
public List<CVod_UserBean> getAllUsersForClientAndSortKey(CVod_ClientBean client, int sortKey, int pageNumber)
{
//Do some logging...
LOG.debug("getAllUsersForClientAndSortKey() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "getAllUsersForClientAndSortKey()");
CVod_Utils.checkArgumentAgainstLessThanZero(pageNumber, "pageNumber", "getAllUsersForClientAndSortKey()");

//Create the query...
String sortKeyString = getSortKeyString(sortKey);
Query q = getSession().createQuery("from CVod_UserBean where client = :client " + sortKeyString);
q.setParameter("client", client);

//Execute the query using paging...
CVod_Page<CVod_UserBean> page = new CVod_Page<CVod_UserBean>(q, pageNumber, CVod_Constants.PAGE_SIZE);
return page.getList();
}

/*************************************************************************/
/**
* Private helper method which parses the passed in <code>sortKey</code> parameter and builds the corresponding
* <code>sortKeyString</code>. <br /><br />
* Example sortKeyString:
* <li>" order by firstname asc"</li>
* <li>" order by lastname desc"</li>
* <br /><br />
* Meanings of <code>sortKey</code>:
* <li> 1 -> order by firstname asc</li>
* <li> 2 -> order by firstname desc</li>
* <li> 3 -> order by lastname asc</li>
* <li> 4 -> order by lastname desc</li>
* <li> 5 -> order by logonname asc</li>
* <li> 6 -> order by logonname desc</li>
* <li> 7 -> order by email asc</li>
* <li> 8 -> order by email desc</li>
* <li> 9 -> order by role_id asc</li>
* <li> 10 -> order by role_id desc</li>
* <br /><br />
* @param sortKey The sortKey specifies the sort criteria. You can find the constants for the sortKeys in the
*                IVod_UserBeanDAO interface.
* @return sortKeyString The query suffix String for the passed in sortKey.
*/
private String getSortKeyString(int sortKey)
{
String sortKeyString = "";
switch (sortKey)
{
case IVod_UserBeanDAO.FIRSTNAME_ASC :
sortKeyString = " ORDER BY firstname ASC";
break;
case IVod_UserBeanDAO.FIRSTNAME_DESC :
sortKeyString = " ORDER BY firstname DESC";
break;
case IVod_UserBeanDAO.LASTNAME_ASC :
sortKeyString = " ORDER BY lastname ASC";
break;
case IVod_UserBeanDAO.LASTNAME_DESC :
sortKeyString = " ORDER BY lastname DESC";
break;
case IVod_UserBeanDAO.LOGONNAME_ASC :
sortKeyString = " ORDER BY logonname ASC";
break;
case IVod_UserBeanDAO.LOGONNAME_DESC :
sortKeyString = " ORDER BY logonname DESC";
break;
case IVod_UserBeanDAO.EMAILADDRESS_ASC :
sortKeyString = " ORDER BY email ASC";
break;
case IVod_UserBeanDAO.EMAILADDRESS_DESC :
sortKeyString = " ORDER BY email DESC";
break;
case IVod_UserBeanDAO.ROLE_ASC :
sortKeyString = " ORDER BY role_id ASC";
break;
case IVod_UserBeanDAO.ROLE_DESC :
sortKeyString = " ORDER BY role_id DESC";
break;
default :
break;
}
return sortKeyString;
}

/*************************************************************************/

/**
* This method returns the number of available pages of users for a client.
* @param client The client object is the key
* @return int - number of pages
*/
@Override
public long getAllUsersPageCountForClient(CVod_ClientBean client)
{
//Do some logging...
LOG.debug("getAllUsersPageCountForClient() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "getAllUsersPageCountForClient()");

//Create the query...
Query q = getSession().createQuery("select count(userId) from CVod_UserBean where client = :client");
q.setParameter("client", client);

//Execute the query...
long pageCount = 0;
CVod_Page<CVod_UserBean> page = new CVod_Page<CVod_UserBean>(0, CVod_Constants.PAGE_SIZE, q);

pageCount = page.getPageCount();

//Release the used objects...
page = null;

return pageCount;
}

/*************************************************************************/

/**
* This method search a user object by a id in the database.
* @param userId The id of a searched user object.
* @return CVod_UserBean The founded user object or null if not found.
*/
@Override
public CVod_UserBean getUserById(long userId)
{
//Do some logging...
LOG.debug("getUserById() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstLessThanOrEqualsZero(userId, "userId", "getUserById()");

CVod_UserBean user = (CVod_UserBean) getHibernateTemplate().get(CVod_UserBean.class, userId);
return user;
}

/*************************************************************************/

/**
* This method search a user object by a username of a client in the database.
* @param client The client object is the key
* @param userLogonName The username of a searched user object.
* @return CVod_UserBean The founded user object or null if not found.
*/
@Override
public CVod_UserBean getUserByUserLogonNameForClient(CVod_ClientBean client, String userLogonName)
{
//Do some logging...
LOG.debug("getUserByUserLogonNameForClient() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "getUserByUserLogonNameForClient()");
CVod_Utils.checkArgumentAgainstNull(userLogonName, "userLogonName", "getUserByUserLogonNameForClient()");

//Create the query...
Query q = getSession().createQuery("from CVod_UserBean " +
"where userLogonName = :userLogonName and client = :client");
q.setString("userLogonName", userLogonName);
q.setParameter("client", client);

//Execute the query...
return (CVod_UserBean) q.uniqueResult();
}

/*************************************************************************/

/**
* This method checks the exists of the next page of a pageNumber for user of a client.
* @param client The client object is the key.
* @param pageNumber The page number to check
* @return boolean - True, if the next page exists otherwise false
*/
@Override
public boolean isAllUsersNextPageForClient(CVod_ClientBean client, int pageNumber)
{
//Do some logging...
LOG.debug("isAllUsersNextPageForClient() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "isAllUsersNextPageForClient()");
CVod_Utils.checkArgumentAgainstLessThanZero(pageNumber, "pageNumber", "isAllUsersNextPageForClient()");

//Create the query...
Query q = getSession().createQuery("select count(userId) from CVod_UserBean where client = :client");
q.setParameter("client", client);

//Execute the query using paging...
boolean result = false;
CVod_Page<CVod_UserBean> page = new CVod_Page<CVod_UserBean>(pageNumber, CVod_Constants.PAGE_SIZE, q);
result = page.isNextPage();

return result;
}

/*************************************************************************/

/**
* This method checks the exists of the previous page of a pageNumber for user of a client.
* @param client The client object is the key.
* @param pageNumber The page number to check
* @return boolean - True, if the next page exists otherwise false
*/
@Override
public boolean isAllUsersPreviousPageForClient(CVod_ClientBean client, int pageNumber)
{
//Do some logging...
LOG.debug("isAllUsersPreviousPageForClient() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(client, "client", "isAllUsersPreviousPageForClient()");
CVod_Utils.checkArgumentAgainstLessThanZero(pageNumber, "pageNumber", "isAllUsersPreviousPageForClient()");

//Create the query...
Query q = getSession().createQuery("select count(userId) from CVod_UserBean where client = :client");
q.setParameter("client", client);

//Execute the query using paging...
boolean result = false;
CVod_Page<CVod_UserBean> page = new CVod_Page<CVod_UserBean>(pageNumber, CVod_Constants.PAGE_SIZE, q);
result = page.isPreviousPage();

return result;
}

/*************************************************************************/

/**
* This method stores a user object into the database
* @param user The user object to store.
*/
@Override
public void saveOrUpdateUser(CVod_UserBean user)
{
//Do some logging...
LOG.debug("saveOrUpdateUser() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(user, "user", "saveOrUpdateUser()");

//Store user object
getHibernateTemplate().saveOrUpdate(user);
}

/*************************************************************************/

/**
* This method returns the user by email-address.
* @param userEmail The email-address for the user.
* @return CVod_UserBean - The user object.
*/
@Override
public CVod_UserBean getUserByUserEmail(String userEmail)
{
//Do some logging...
LOG.debug("getUserByEmail() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(userEmail, "userEmail", "getUserByUserEmail()");
CVod_Utils.getInstance().checkArgumentAgainstInvalidStringLength(userEmail, "userEmail", "getUserByUserEmail()");

//Create the query...
Query q = getSession().createQuery("from CVod_UserBean where userEmail = :userEmail");
q.setString("userEmail", userEmail);

//Execute the query...
return (CVod_UserBean) q.uniqueResult();
}
/*************************************************************************/

/**
* This method sets the status of the user to active or not active.
* @param user The user to change the status for.
*/
@Override
public void setUserActive(CVod_UserBean user)
{
//Do some logging...
LOG.debug("setUserActive() called...");

//Check arguments...
CVod_Utils.checkArgumentAgainstNull(user, "user", "setUserActive()");

boolean  status = user.isUserActive();
user.setUserActive(!status);

//Store user object
getHibernateTemplate().saveOrUpdate(user);
}

}
----------------------------------- SOURCE END -------------------------------------

java.lang.IllegalArgumentException
at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2614)
at org.eclipse.jdt.core.dom.ASTConverter.convertPackage(ASTConverter.java:2868)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1247)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:876)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:577)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:888)
at org.eclipse.jdt.internal.corext.dom.ASTBatchParser.createASTs(ASTBatchParser.java:99)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring$CleanUpFixpointIterator.next(CleanUpRefactoring.java:399)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.cleanUpProject(CleanUpRefactoring.java:707)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.checkFinalConditions(CleanUpRefactoring.java:663)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:80)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal$1.run(FixCorrectionProposal.java:214)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal.resolve(FixCorrectionProposal.java:221)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator$CorrectionMarkerResolution.run(CorrectionMarkerResolutionGenerator.java:143)
at org.eclipse.ui.internal.views.markers.QuickFixPage$11.run(QuickFixPage.java:560)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixPage.performFinish(QuickFixPage.java:549)
at org.eclipse.ui.internal.views.markers.QuickFixWizard$1.run(QuickFixWizard.java:96)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixWizard.performFinish(QuickFixWizard.java:105)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.views.markers.QuickFixHandler.execute(QuickFixHandler.java:156)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
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:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)


and


java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:477)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixPage.performFinish(QuickFixPage.java:549)
at org.eclipse.ui.internal.views.markers.QuickFixWizard$1.run(QuickFixWizard.java:96)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixWizard.performFinish(QuickFixWizard.java:105)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.views.markers.QuickFixHandler.execute(QuickFixHandler.java:156)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
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:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
Caused by: java.lang.IllegalArgumentException
at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2614)
at org.eclipse.jdt.core.dom.ASTConverter.convertPackage(ASTConverter.java:2868)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1247)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:876)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:577)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:888)
at org.eclipse.jdt.internal.corext.dom.ASTBatchParser.createASTs(ASTBatchParser.java:99)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring$CleanUpFixpointIterator.next(CleanUpRefactoring.java:399)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.cleanUpProject(CleanUpRefactoring.java:707)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.checkFinalConditions(CleanUpRefactoring.java:663)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:80)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal$1.run(FixCorrectionProposal.java:214)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal.resolve(FixCorrectionProposal.java:221)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator$CorrectionMarkerResolution.run(CorrectionMarkerResolutionGenerator.java:143)
at org.eclipse.ui.internal.views.markers.QuickFixPage$11.run(QuickFixPage.java:560)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
... 52 more
Root exception:
java.lang.IllegalArgumentException
at org.eclipse.jdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2614)
at org.eclipse.jdt.core.dom.ASTConverter.convertPackage(ASTConverter.java:2868)
at org.eclipse.jdt.core.dom.ASTConverter.convert(ASTConverter.java:1247)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:876)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:577)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:888)
at org.eclipse.jdt.internal.corext.dom.ASTBatchParser.createASTs(ASTBatchParser.java:99)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring$CleanUpFixpointIterator.next(CleanUpRefactoring.java:399)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.cleanUpProject(CleanUpRefactoring.java:707)
at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.checkFinalConditions(CleanUpRefactoring.java:663)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:80)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal$1.run(FixCorrectionProposal.java:214)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:191)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:151)
at org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal.resolve(FixCorrectionProposal.java:221)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator$CorrectionMarkerResolution.run(CorrectionMarkerResolutionGenerator.java:143)
at org.eclipse.ui.internal.views.markers.QuickFixPage$11.run(QuickFixPage.java:560)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixPage.performFinish(QuickFixPage.java:549)
at org.eclipse.ui.internal.views.markers.QuickFixWizard$1.run(QuickFixWizard.java:96)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1008)
at org.eclipse.ui.internal.views.markers.QuickFixWizard.performFinish(QuickFixWizard.java:105)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.views.markers.QuickFixHandler.execute(QuickFixHandler.java:156)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
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:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)




-- Configuration Details --
Product: Eclipse 1.3.1.20100913-1228 (org.eclipse.epp.package.jee.product)
Installed Features:
 org.eclipse.jdt 3.6.1.r361_v20100714-0800-7z8XFUSFLFlmgLc5z-Bvrt8-HVkH
Comment 1 Dani Megert CLA 2011-01-14 02:59:00 EST
Which build id?
Can you provide a test case?
Comment 2 Daniel Heid CLA 2011-01-14 04:14:38 EST
(In reply to comment #1)
> Which build id?
> Can you provide a test case?

The build id is 20100917-0705

Sorry, there must have been an influence of another Java problem, so I couldn't reproduce the problem. I tried to put wrong import statements in several Java files and choosed "Quick Fix" and then "Remove unused import" for these files. This time it worked. All I can provide to you is the stack trace above, but this alone won't lead you to the problem I suppose. So I'll close the ticket.