Configurable sorting
On the beta page there is mention of "configurable sorting" about half way down:
Was this support removed, or am I missing something? I tried this with 2.0.0.2 and after I configure, and select that sorting option in the plan view, I receive the following error:
Work items on a plan can now be sorted by any work item attribute of type string, HTML-string, boolean, integer, float, date, duration, or enumeration.
All you need to do is to define a sort mode in the process specification, using the generic sorter implementation:
Was this support removed, or am I missing something? I tried this with 2.0.0.2 and after I configure, and select that sorting option in the plan view, I receive the following error:
com.ibm.team.apt.internal.common.scripting.ScriptException
at com.ibm.team.apt.internal.common.scripting.impl.ScriptTypeFunction.call(ScriptTypeFunction.java:69)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
at org.mozilla.javascript.gen.c68._c4(GenericPlanItemSorter.js:51)
at org.mozilla.javascript.gen.c68.call(GenericPlanItemSorter.js)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
at org.mozilla.javascript.gen.c67._c9(EntrySorter.js:59)
at org.mozilla.javascript.gen.c67.call(EntrySorter.js)
at org.mozilla.javascript.NativeArray.isBigger(NativeArray.java:745)
at org.mozilla.javascript.NativeArray.heapify(NativeArray.java:804)
at org.mozilla.javascript.NativeArray.heapsort(NativeArray.java:773)
at org.mozilla.javascript.NativeArray.js_sort(NativeArray.java:702)
at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:215)
at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:127)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
at org.mozilla.javascript.gen.c67._c8(EntrySorter.js:54)
at org.mozilla.javascript.gen.c67.call(EntrySorter.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
at org.mozilla.javascript.gen.c67.call(EntrySorter.js)
at org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1831)
at com.ibm.team.apt.internal.common.scripting.util.JSUtils.callMethod(JSUtils.java:89)
at com.ibm.team.apt.internal.ide.ui.scripting.interfaces.ScriptableSorter$5.run(ScriptableSorter.java:95)
at com.ibm.team.apt.internal.ide.ui.scripting.interfaces.ScriptableSorter$5.run(ScriptableSorter.java:1)
at com.ibm.team.apt.internal.common.scripting.environment.AbstractScriptEnvironment.execute(AbstractScriptEnvironment.java:62)
at com.ibm.team.apt.internal.ide.ui.scripting.interfaces.ScriptableSorter.sort(ScriptableSorter.java:92)
at com.ibm.team.apt.internal.ide.ui.common.model.OutlineEntry.doPendingSort(OutlineEntry.java:374)
at com.ibm.team.apt.internal.ide.ui.common.model.OutlineModel.executePendingSortRequests(OutlineModel.java:703)
at com.ibm.team.apt.internal.ide.ui.common.model.OutlineModel.executePendingSortRequests(OutlineModel.java:700)
at com.ibm.team.apt.internal.ide.ui.common.model.OutlineModel.doEndUpdate(OutlineModel.java:593)
at com.ibm.team.apt.internal.ide.ui.common.model.OutlineModel.updateModel(OutlineModel.java:380)
at com.ibm.team.apt.internal.ide.ui.editor.OutlinePage$12$4$1.doRun(OutlinePage.java:1691)
at com.ibm.team.apt.internal.ide.ui.editor.OutlinePage$ViewModelSafeRunnable.run(OutlinePage.java:2437)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at com.ibm.team.apt.internal.ide.ui.editor.OutlinePage$12$4.run(OutlinePage.java:1688)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at com.ibm.team.apt.internal.ide.ui.editor.OutlinePage$12.settingChanged(OutlinePage.java:1686)
at com.ibm.team.apt.internal.ide.ui.editor.OutlinePage$SettingsDelegate.settingChanged(OutlinePage.java:1345)
at com.ibm.team.apt.internal.ide.ui.editor.PlanModeState$1.run(PlanModeState.java:396)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at com.ibm.team.apt.internal.ide.ui.editor.PlanModeState.fireChangeEvent(PlanModeState.java:404)
at com.ibm.team.apt.internal.ide.ui.editor.PlanModeState.setSortMode(PlanModeState.java:218)
at com.ibm.team.apt.internal.ide.ui.editor.PlanModeConfigurationTab$StateUpdater.checkStateChanged(PlanModeConfigurationTab.java:67)
at com.ibm.team.apt.internal.ide.ui.jface.CheckboxListViewer.fireEvent(CheckboxListViewer.java:485)
at com.ibm.team.apt.internal.ide.ui.jface.CheckboxListViewer.access$7(CheckboxListViewer.java:480)
at com.ibm.team.apt.internal.ide.ui.jface.CheckboxListViewer$3.widgetSelected(CheckboxListViewer.java:498)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3840)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3439)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Caused by: java.lang.NullPointerException
at com.ibm.team.apt.internal.client.PlanElement.getAttributeValue(PlanElement.java:91)
at com.ibm.team.apt.internal.client.scripting.facades.PlanElementScriptType.getAttributeValue(PlanElementScriptType.java:58)
at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.team.apt.internal.common.scripting.impl.ScriptTypeFunction.call(ScriptTypeFunction.java:67)
... 72 more