It's all about the answers!

Ask a question

Configurable sorting


Adam Holley (2132) | asked Sep 30 '10, 4:01 p.m.
On the beta page there is mention of "configurable sorting" about half way down:
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

Be the first one to answer this question!


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.