package qa.qcri.aidr.persister.api; import java.util.List; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Component; import qa.qcri.aidr.service.DataFeedService; import qa.qcri.aidr.utils.Constants; import qa.qcri.aidr.utils.DataFeedInfo; @Path("/collection") @Component public class DataFeedAPI { @GET @Produces("application/json") @Consumes("application/json") @Path(value = "/{code}/feeds") public List<DataFeedInfo> findbyCollectionCode(@PathParam("code") String code, @QueryParam("offset") Integer offset, @QueryParam("limit") Integer limit){ offset = (offset != null) ? offset : Constants.DEFAULT_OFFSET; limit = (limit != null) ? limit : Constants.DEFAULT_RECORD_LIMIT; ApplicationContext appContext = new ClassPathXmlApplicationContext("spring/spring-servlet.xml"); DataFeedService dataFeedService = (DataFeedService) appContext.getBean("dataFeedService"); return dataFeedService.findbyCollectionCode(code, offset, limit); } @GET @Produces("application/json") @Consumes("application/json") @Path("/{code}/feeds/by-confidence") public List<DataFeedInfo> findbyCollectionCodeAndConfidence(@PathParam("code") String code, @QueryParam("confidence") Double confidence, @QueryParam("offset") Integer offset, @QueryParam("limit") Integer limit){ offset = (offset != null) ? offset : Constants.DEFAULT_OFFSET; limit = (limit != null) ? limit : Constants.DEFAULT_RECORD_LIMIT; confidence = (confidence != null) ? confidence : Constants.DEFAULT_CONFIDENCE; ApplicationContext appContext = new ClassPathXmlApplicationContext("spring/spring-servlet.xml"); DataFeedService dataFeedService = (DataFeedService) appContext.getBean("dataFeedService"); return dataFeedService.findbyCollectionCodeAndConfidence(code, confidence, offset, limit); } }