Bug 33175 Missing target in delete imports dialog
Problem Description: While browsing a class in the outline view, if the "delete" item from the context menu of the "import declarations" item is selected, the pop-up confirmation dialog asks 'Are you sure you want to delete ""?' (i.e 'import declarations' is missing between the quotes). Steps to Reproduce: 1. Open a Java perspective and reset it if necessary. 2. Select File->New->Project from the menu bar. 3. Highlight "Java" and "Java Project", and click "Next" 4. Enter "test" in the project name text field, and then click "Finish". A project called "test" will be created in the Package Explorer. Expand the item to see the sub-tree below it. Note that there is no "default package" item. 5. Make sure the "test" project is highlighted, and click on the "Create a new java class" button in the toolbar. A "Java Class" dialog opens. 6. Enter "ClassTest" in the "Name" text field. Click "Finish". A "(default package)" item is added below the "test" item, and an edit window containing ClassTest opens. 7. On the very first line of the class file, type "import java.util.*;" on a line by itself. The Outline View should now contain a "import declarations" item. 8. Left click on the "import declarations" item in the Outline view, and then right click it. Select "Delete" from the context menu. 9. !BUG! The pop-up confirmation window is missing the target between the quotes at the end of the question. Found in: OS: HP-UX 11.11. Eclipse: V2.1 Build Id: 200302061700 (M5)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/reorg/DeleteSourceReferencesAction.java
ISourceReference[] refs= (ISourceReference[]) l.toArray(new ISourceReference[l.size()]);
		pm.beginTask("", refs.length); 
		
		ISourceReference[] nonFields= getNonFields(refs);
		delete(file, nonFields, new SubProgressMonitor(pm, nonFields.length));
		
		IField[] fields= getFields(refs);
		delete(fields, new SubProgressMonitor(pm, fields.length));
		pm.done();
	}
	private static void delete(IFile file, ISourceReference[] nonFields, IProgressMonitor pm) throws CoreException{
		pm.beginTask("", 2); 
		TextBuffer tb= TextBuffer.acquire(file);
		try{
			TextBufferEditor tbe= new TextBufferEditor(tb);
			for (int i= 0; i < nonFields.length; i++) {
				Assert.isTrue(! (nonFields[i] instanceof IField));
				tbe.add(createDeleteEdit(nonFields[i]));
				if (pm.isCanceled())
					throw new OperationCanceledException();			
			}
			if (! tbe.canPerformEdits().isOK())
				return; 
			tbe.performEdits(new SubProgressMonitor(pm, 1));	
			TextBuffer.commitChanges(tb, false, new SubProgressMonitor(pm, 1));
		} finally{
			if (tb != null)
				TextBuffer.release(tb);
		    pm.done();
		}