package cz.nkp.differ.rest; import cz.nkp.differ.compare.io.SerializableImageProcessorResults; import cz.nkp.differ.io.ResultManager; import java.io.IOException; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; /** * * @author xrosecky */ @Controller public class DifferController implements ApplicationContextAware { private ResultManager manager; private ApplicationContext appCtx; @RequestMapping(value="/results", method=RequestMethod.GET) @ResponseBody public String getResults() { return "results"; } @RequestMapping(value="/results", method=RequestMethod.POST) @ResponseBody public String addResult(@RequestBody SerializableImageProcessorResults body) { try { manager.save(body); } catch (IOException ioe) { return "<result><status>failed</status><message>io error</message></result>"; } return "<result><id>1</id><status>ok</status><message>result saved</message></result>"; } @RequestMapping(value="/results/{id}", method=RequestMethod.GET) @ResponseBody public SerializableImageProcessorResults getResult(@PathVariable("id") Long id) { SerializableImageProcessorResults result = new SerializableImageProcessorResults(); return result; } @Override public void setApplicationContext(ApplicationContext ac) throws BeansException { this.manager = (ResultManager) ac.getBean("resultManager"); } }