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

Bug 360074

Summary: [refactoring] IAE on rename in Java file
Product: [Modeling] TMF Reporter: Sebastian Zarnekow <sebastian.zarnekow>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jan
Version: 2.1.0Flags: jan: juno+
Target Milestone: M4   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Sebastian Zarnekow CLA 2011-10-06 04:56:55 EDT
I tried to rename a method in the class OnChangeEvictingCache

org.eclipse.emf.common.util.WrappedException: java.lang.IllegalArgumentException: Cannot find file storage for java:/Objects/org.eclipse.xtext.util.OnChangeEvictingCache
	at org.eclipse.xtext.ui.editor.findrefs.SimpleLocalResourceAccess.readOnly(SimpleLocalResourceAccess.java:31)
	at org.eclipse.xtext.ui.editor.findrefs.DefaultReferenceFinder.findLocalReferences(DefaultReferenceFinder.java:90)
	at org.eclipse.xtext.ui.editor.findrefs.DefaultReferenceFinder.findAllReferences(DefaultReferenceFinder.java:60)
	at org.eclipse.xtext.ui.refactoring.impl.ReferenceUpdaterDispatcher.createReferenceUpdates(ReferenceUpdaterDispatcher.java:55)
	at org.eclipse.xtext.ui.refactoring.impl.RenameElementProcessor.checkFinalConditions(RenameElementProcessor.java:210)
	at org.eclipse.xtext.ui.refactoring.impl.AbstractProcessorBasedRenameParticipant.checkConditions(AbstractProcessorBasedRenameParticipant.java:112)
	at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:257)
	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:2344)
	at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4873)
	at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.lang.IllegalArgumentException: Cannot find file storage for java:/Objects/org.eclipse.xtext.util.OnChangeEvictingCache
	at org.eclipse.xtext.ui.refactoring.impl.ProjectUtil.findFileStorage(ProjectUtil.java:59)
	at org.eclipse.xtext.ui.refactoring.impl.StatusWrapper._toString(StatusWrapper.java:86)
	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.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291)
	at org.eclipse.xtext.ui.refactoring.impl.StatusWrapper$1.apply(StatusWrapper.java:109)
	at org.eclipse.xtext.ui.refactoring.impl.StatusWrapper$1.apply(StatusWrapper.java:1)
	at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:431)
	at java.util.AbstractList$Itr.next(AbstractList.java:345)
	at java.util.AbstractCollection.toArray(AbstractCollection.java:171)
	at com.google.common.collect.Iterables.toArray(Iterables.java:239)
	at org.eclipse.xtext.ui.refactoring.impl.StatusWrapper.format(StatusWrapper.java:107)
	at org.eclipse.xtext.ui.refactoring.impl.StatusWrapper.add(StatusWrapper.java:120)
	at org.eclipse.xtext.ui.refactoring.impl.ReferenceUpdaterDispatcher$ReferenceDescriptionAcceptor.handleNoReferenceUpdater(ReferenceUpdaterDispatcher.java:109)
	at org.eclipse.xtext.ui.refactoring.impl.ReferenceUpdaterDispatcher$ReferenceDescriptionAcceptor.accept(ReferenceUpdaterDispatcher.java:102)
	at org.eclipse.xtext.ui.refactoring.impl.ReferenceUpdaterDispatcher$ReferenceDescriptionAcceptor.accept(ReferenceUpdaterDispatcher.java:1)
	at org.eclipse.xtext.ui.editor.findrefs.DefaultReferenceFinder.findLocalReferences(DefaultReferenceFinder.java:142)
	at org.eclipse.xtext.ui.editor.findrefs.DefaultReferenceFinder$1.exec(DefaultReferenceFinder.java:98)
	at org.eclipse.xtext.ui.editor.findrefs.DefaultReferenceFinder$1.exec(DefaultReferenceFinder.java:1)
	at org.eclipse.xtext.ui.editor.findrefs.SimpleLocalResourceAccess.readOnly(SimpleLocalResourceAccess.java:29)
	... 14 more
Caused by: java.util.NoSuchElementException
	at com.google.common.collect.AbstractIterator.next(AbstractIterator.java:145)
	at com.google.common.collect.Iterators.find(Iterators.java:676)
	at com.google.common.collect.Iterables.find(Iterables.java:558)
	at org.eclipse.xtext.ui.refactoring.impl.ProjectUtil.findFileStorage(ProjectUtil.java:45)
	... 35 more
Comment 1 Jan Koehnlein CLA 2011-11-07 11:38:14 EST
I could not reproduce this with Xtext 2.1. Nevertheless, I changed the protocol og the ProjectUtil to return null rather than throwing an exception and made its clients more NPE resilient.

Please reopen if the error pops up again.
Comment 2 Karsten Thoms CLA 2017-09-19 17:01:48 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 3 Karsten Thoms CLA 2017-09-19 17:13:07 EDT
Closing all bugs that were set to RESOLVED before Neon.0