Bug 29778 [Navigator] Exception occurs during drag file into Run-time workbench
Reporter: Tiffany Language: Korean / Simplfied Chinese / Tranditional Chinese Build driver: eclipse-SDK-M4-linux-gtk OS: RedHat 8 JDK Ver.: IBM JDK1.3.1 + SR3 Test case #: 3.8 Using Content assist with DBCS strings Summary: DBCS: Exception occurs during drag file into Run-time workbench Steps to recreate problem: 1. Unzip the attachment (sef.zip) 2. Launch workbench with gtk build. 3. Import the plug-in com.ibm.wsweducation.solution.sef 4. Open the PDE perspective, then Select the project name. 5. Click Run icon > Run AS... > Run-time Workbench. 6. Run-time workbench pops up. 7. Create a Java project and a folder in the project in Run-time workbench. 8. Open the "Resource Perspective" in Run-time workbench. 9. Grab the test.release file in the original workbench then drag it into the folder which was created at step 7 in Run-time workbench. <<Error>> After step 9, some error messages were displayed in Console Window of the original Workbench Please refer the attachment (Exception.txt) NOTE: At step 8, if I open the "Java Perspective" in Run-time Workbench. The test.release file could be dragged into Run-time Workbench successfully without any error messages. <<Expected Result>> The test.release file should be draged into the folder in the "Resource Perspective" of Run-time workbench successfully without any error messages.
bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
* Restores the state of the receiver to the state described in the specified memento.
	 *
	 * @param memento the memento
	 * @since 2.0
	 */
	protected void restoreState(IMemento memento) {
		TreeViewer viewer = getTreeViewer();
		IMemento frameMemento = memento.getChild(TAG_CURRENT_FRAME);
		
		if (frameMemento != null) {
			TreeFrame frame = new TreeFrame(viewer);
			frame.restoreState(frameMemento);
			frame.setName(getFrameName(frame.getInput()));
			frame.setToolTipText(getFrameToolTipText(frame.getInput()));
			viewer.setSelection(new StructuredSelection(frame.getInput()));
			frameList.gotoFrame(frame);
		}
		else {		
			IContainer container = ResourcesPlugin.getWorkspace().getRoot();
			IMemento childMem = memento.getChild(TAG_EXPANDED);
			if (childMem != null) {
				ArrayList elements = new ArrayList();
				IMemento[] elementMem = childMem.getChildren(TAG_ELEMENT);
				for (int i = 0; i < elementMem.length; i++) {
					Object element = container.findMember(elementMem[i].getString(TAG_PATH));
					elements.add(element);
				}
				viewer.setExpandedElements(elements.toArray());
			}
			childMem = memento.getChild(TAG_SELECTION);