Bug 73078

Summary: ISourceManipulation.delete() tries to run in WorkspaceRoot scheduling rule
Product: [Eclipse Project] JDT Reporter: Min Idzelis <min123>
Component: CoreAssignee: Jerome Lanneluc <jerome_lanneluc>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: david_williams
Version: 3.0   
Target Milestone: 3.1 M3   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Min Idzelis CLA 2004-09-01 13:32:31 EDT
I beginRule() on the underlying IResource as a for the ICompilationUnit I'm
working with. When I invoke delete() on an IField (IMethod, IImportDeclaration,
etc) the delete tries to run within the WorkspaceRoot scheduling rule. This
causes a "inner scope rule doesn't match other scope rule" exception. 

I don't think I should be required to use the entire WS Root as the rule when I
want to delete a field from a single IResource. The delete() operation should be
modified to only require the underlying IResource as the rule it needs not the
entire WorkspaceRoot.
Comment 1 Jerome Lanneluc CLA 2004-10-08 07:55:59 EDT
Added getSchedulingRule() on DeleteElementsOperation to return the modifyRule
from the workspace's rule factory. 

Added regression test DeleteTests#deleteField3()
Comment 2 David Audel CLA 2004-11-04 05:40:56 EST
Verified for 3.1M3 with build I20041102