1 package org
.argeo
.slc
.web
.mvc
.execution
;
3 import java
.util
.Comparator
;
5 import java
.util
.SortedSet
;
6 import java
.util
.TreeSet
;
8 import javax
.servlet
.http
.HttpServletRequest
;
9 import javax
.servlet
.http
.HttpServletResponse
;
11 import org
.argeo
.slc
.execution
.ExecutionModuleDescriptor
;
12 import org
.argeo
.slc
.msg
.ObjectList
;
13 import org
.argeo
.slc
.runtime
.SlcAgent
;
14 import org
.argeo
.slc
.runtime
.SlcAgentFactory
;
15 import org
.argeo
.slc
.web
.mvc
.AbstractServiceController
;
16 import org
.springframework
.web
.servlet
.ModelAndView
;
19 public class ListModulesDescriptors
extends AbstractServiceController
{
20 private SlcAgentFactory agentFactory
;
23 protected void handleServiceRequest(HttpServletRequest request
,
24 HttpServletResponse response
, ModelAndView modelAndView
)
27 // TODO: use centralized agentId property (from MsgConstants)?
28 String agentId
= request
.getParameter("agentId");
30 SlcAgent slcAgent
= agentFactory
.getAgent(agentId
);
32 List
<ExecutionModuleDescriptor
> descriptors
= slcAgent
33 .listExecutionModuleDescriptors();
34 SortedSet
<ExecutionModuleDescriptor
> set
= new TreeSet
<ExecutionModuleDescriptor
>(
35 new Comparator
<ExecutionModuleDescriptor
>() {
37 public int compare(ExecutionModuleDescriptor md1
,
38 ExecutionModuleDescriptor md2
) {
39 String str1
= md1
.getLabel() != null ? md1
.getLabel()
41 String str2
= md2
.getLabel() != null ? md2
.getLabel()
43 return str1
.compareTo(str2
);
46 set
.addAll(descriptors
);
48 modelAndView
.addObject(new ObjectList(set
));
51 public void setAgentFactory(SlcAgentFactory agentFactory
) {
52 this.agentFactory
= agentFactory
;