package org.argeo.slc.web.mvc.execution;\r
\r
+import java.util.Comparator;\r
import java.util.List;\r
+import java.util.SortedSet;\r
+import java.util.TreeSet;\r
\r
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
// TODO: use centralized agentId property (from MsgConstants)?\r
String agentId = request.getParameter("agentId");\r
- \r
- SlcAgent slcAgent = agentFactory.getAgent(agentId);\r
\r
- List<ExecutionModuleDescriptor> descriptors = slcAgent.listExecutionModuleDescriptors();\r
+ SlcAgent slcAgent = agentFactory.getAgent(agentId);\r
\r
- modelAndView.addObject(new ObjectList(descriptors));\r
+ List<ExecutionModuleDescriptor> descriptors = slcAgent\r
+ .listExecutionModuleDescriptors();\r
+ SortedSet<ExecutionModuleDescriptor> set = new TreeSet<ExecutionModuleDescriptor>(\r
+ new Comparator<ExecutionModuleDescriptor>() {\r
+\r
+ public int compare(ExecutionModuleDescriptor md1,\r
+ ExecutionModuleDescriptor md2) {\r
+ String str1 = md1.getLabel() != null ? md1.getLabel()\r
+ : md1.getName();\r
+ String str2 = md2.getLabel() != null ? md2.getLabel()\r
+ : md2.getName();\r
+ return str1.compareTo(str2);\r
+ }\r
+ });\r
+ set.addAll(descriptors);\r
+\r
+ modelAndView.addObject(new ObjectList(set));\r
}\r
\r
public void setAgentFactory(SlcAgentFactory agentFactory) {\r