Community
Participate
Working Groups
After upgrading to the Mylyn Europa build my working sets weren't restored. I found these exceptions in the log: java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:468) at java.lang.Integer.parseInt(Integer.java:497) at org.eclipse.ui.internal.ide.model.ResourceFactory.createElement(ResourceFactory.java:76) at org.eclipse.ui.internal.WorkingSet.restoreWorkingSet(WorkingSet.java:163) at org.eclipse.ui.internal.AbstractWorkingSet.getElementsArray(AbstractWorkingSet.java:151) at org.eclipse.ui.internal.AbstractWorkingSet.getElements(AbstractWorkingSet.java:139) at org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater.checkElementExistence(TaskWorkingSetUpdater.java:103) at org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater.add(TaskWorkingSetUpdater.java:95) at org.eclipse.ui.internal.AbstractWorkingSetManager.bundleChanged(AbstractWorkingSetManager.java:629) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1210) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297) java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:468) at java.lang.Integer.parseInt(Integer.java:497) at org.eclipse.ui.internal.ide.model.ResourceFactory.createElement(ResourceFactory.java:76) at org.eclipse.ui.internal.WorkingSet.restoreWorkingSet(WorkingSet.java:163) at org.eclipse.ui.internal.AbstractWorkingSet.getElementsArray(AbstractWorkingSet.java:151) at org.eclipse.ui.internal.AbstractWorkingSet.getElements(AbstractWorkingSet.java:139) at org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater.checkElementExistence(TaskWorkingSetUpdater.java:103) at org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater.add(TaskWorkingSetUpdater.java:95) at org.eclipse.ui.internal.AbstractWorkingSetManager.bundleChanged(AbstractWorkingSetManager.java:629) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1210) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)
If I try to open the edit dialog I get this exception: java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:468) at java.lang.Integer.parseInt(Integer.java:497) at org.eclipse.ui.internal.ide.model.ResourceFactory.createElement(ResourceFactory.java:76) at org.eclipse.ui.internal.WorkingSet.restoreWorkingSet(WorkingSet.java:163) at org.eclipse.ui.internal.AbstractWorkingSet.getElementsArray(AbstractWorkingSet.java:151) at org.eclipse.ui.internal.WorkingSet.hashCode(WorkingSet.java:131) at org.eclipse.jface.viewers.CustomHashtable.hashCode(CustomHashtable.java:264) at org.eclipse.jface.viewers.CustomHashtable.getEntry(CustomHashtable.java:248) at org.eclipse.jface.viewers.CustomHashtable.containsKey(CustomHashtable.java:210) at org.eclipse.jface.viewers.CheckboxTableViewer.preservingSelection(CheckboxTableViewer.java:302) at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:574) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1606) at org.eclipse.mylyn.internal.tasks.ui.actions.TaskWorkingSetAction$ConfigureWindowWorkingSetsDialog.createDialogArea(TaskWorkingSetAction.java:273) at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:752) at org.eclipse.jface.window.Window.create(Window.java:426) at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081) at org.eclipse.jface.window.Window.open(Window.java:785) at org.eclipse.mylyn.internal.tasks.ui.dialogs.AbstractWorkingSetDialogCOPY.open(AbstractWorkingSetDialogCOPY.java:318) at org.eclipse.mylyn.internal.tasks.ui.actions.TaskWorkingSetAction.run(TaskWorkingSetAction.java:146) at org.eclipse.mylyn.internal.tasks.ui.actions.TaskWorkingSetAction.run(TaskWorkingSetAction.java:150) at org.eclipse.mylyn.internal.tasks.ui.actions.TaskWorkingSetAction$ManageWorkingSetsAction.run(TaskWorkingSetAction.java:179) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 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.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Moving to platform since the exceptions are triggered in ResourceFactory. The only way to recover from the error was to manually edit the workspace/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml file and fix the tag that had an empty type string, i.e.: <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.mylar.resources" type=""/>
Fix in HEAD along with some test cases. I also prevented the same style of error happening during saveState().
Great, thanks!
Verified in I20080325-0100