Bug 73078 - ISourceManipulation.delete() tries to run in WorkspaceRoot scheduling rule
Summary: ISourceManipulation.delete() tries to run in WorkspaceRoot scheduling rule
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.1 M3   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-01 13:32 EDT by Min Idzelis CLA
Modified: 2004-11-04 05:40 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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