package rod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import rod.dummy.rx.DummyResource; import rx.schedulers.Schedulers; @Controller public class ResourceController { @Autowired private ResourceRepository resourceRepository; @Autowired @Qualifier("DummyRodService") private RodService service; @RequestMapping(value = "/resource/register", method = RequestMethod.GET) public @ResponseBody boolean registerResource() { final DummyResource resource = DummyResource.getSingleton(); resourceRepository.save(resource); service.register(resource); return true; } @RequestMapping(value = "/resource/observe", method = RequestMethod.GET) public @ResponseBody boolean observe() { service.commands().subscribeOn(Schedulers.io()).subscribe(new CommandLogger()); return true; } @RequestMapping(value = "/resource/stop-observing", method = RequestMethod.GET) public @ResponseBody boolean stopObserving() { service.commands().unsubscribeOn(Schedulers.io()); return true; } }