import org.argeo.slc.msg.event.SlcEventListenerDescriptor;\r
import org.argeo.slc.msg.event.SlcEventListenerRegister;\r
import org.springframework.stereotype.Controller;\r
-import org.springframework.ui.Model;\r
import org.springframework.web.bind.annotation.RequestMapping;\r
import org.springframework.web.bind.annotation.RequestParam;\r
\r
private SlcEventListener eventListener = null;\r
\r
public EventController() {\r
- if (log.isDebugEnabled())\r
- log.debug("In EventController Constructor");\r
}\r
\r
// Business Methods\r
\r
@RequestMapping("/addEventListener.service")\r
- public String addEventListener(\r
+ public ExecutionAnswer addEventListener(\r
@RequestParam(SlcEvent.EVENT_TYPE) String eventType,\r
- @RequestParam(value=SlcEvent.EVENT_FILTER, required=false) String eventFilter, Model model) {\r
+ @RequestParam(value = SlcEvent.EVENT_FILTER, required = false) String eventFilter) {\r
\r
eventListenerRegister\r
.addEventListenerDescriptor(new SlcEventListenerDescriptor(\r
log.trace("Registered listener on register "\r
+ eventListenerRegister.getId() + " for type " + eventType\r
+ ", filter=" + eventFilter);\r
- model.addAttribute(KEY_ANSWER, ExecutionAnswer\r
- .ok("Execution completed properly"));\r
- return KEY_ANSWER;\r
+ return ExecutionAnswer.ok("Execution completed properly");\r
\r
}\r
\r
@RequestMapping("/removeEventListener.service")\r
- public String removeEventListener(\r
+ public ExecutionAnswer removeEventListener(\r
@RequestParam(SlcEvent.EVENT_TYPE) String eventType,\r
- @RequestParam(value=SlcEvent.EVENT_FILTER, required=false) String eventFilter, Model model) {\r
+ @RequestParam(value = SlcEvent.EVENT_FILTER, required = false) String eventFilter) {\r
\r
eventListenerRegister\r
.removeEventListenerDescriptor(new SlcEventListenerDescriptor(\r
log.trace("Removed listener from register "\r
+ eventListenerRegister.getId() + " for type " + eventType\r
+ ", filter=" + eventFilter);\r
- model.addAttribute(KEY_ANSWER, ExecutionAnswer\r
- .ok("Execution completed properly"));\r
- return KEY_ANSWER;\r
+ return ExecutionAnswer.ok("Execution completed properly");\r
}\r
\r
@RequestMapping("/pollEvent.service")\r
- public String pollEvent(@RequestParam("timeout") String timeoutStr,\r
- Model model) {\r
+ public Object pollEvent(\r
+ @RequestParam(value = "timeout", required = false) String timeoutStr) {\r
final Long timeout;\r
if (timeoutStr != null)\r
timeout = Long.parseLong(timeoutStr);\r
SlcEvent event = eventListener.listen(eventListenerRegister.getId(),\r
eventListenerRegister.getDescriptorsCopy(), timeout);\r
if (event != null) {\r
- model.addAttribute("event", event);\r
- if (log.isTraceEnabled())\r
- log.debug("Received event: "\r
- + event.getHeaders().get(SlcEvent.EVENT_TYPE));\r
+ return event;\r
+ } else {\r
+ return ExecutionAnswer.ok("Execution completed properly");\r
}\r
- model.addAttribute(KEY_ANSWER, ExecutionAnswer\r
- .ok("Execution completed properly"));\r
- return KEY_ANSWER;\r
}\r
\r
public void setEventListenerRegister(\r