package qa.qcri.aidr.trainer.api.controller; import java.util.List; import javax.validation.constraints.NotNull; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import qa.qcri.aidr.dbmanager.dto.DocumentDTO; import qa.qcri.aidr.trainer.api.service.DocumentService; import qa.qcri.aidr.trainer.api.template.TaskBufferJsonModel; /** * Created with IntelliJ IDEA. * User: jlucas * Date: 3/4/14 * Time: 9:17 PM * To change this template use File | Settings | File Templates. */ @RequestMapping("/document") @RestController public class DocumentController { protected static Logger logger = Logger.getLogger("DocumentController"); @Autowired private DocumentService documentService; @RequestMapping("/getbatchtaskbuffer/{userName}/{crisisID}/{maxresult}") public List<DocumentDTO> getAllTaskBufferToAssign( @PathVariable("userName") String userName, @PathVariable("crisisID") String crisisID, @PathVariable("maxresult") String maxresult){ logger.info("Request for batch task fetch, crisisID = " + crisisID + ", user = " + userName + ", count = " + maxresult); return documentService.getDocumentForTask(new Long(crisisID), Integer.valueOf(maxresult), userName); } @RequestMapping("/getassignabletask/{userName}/{crisisID}/{maxresult}") public List<TaskBufferJsonModel> getOneTaskBufferToAssign(@PathVariable("crisisID") String crisisID, @PathVariable("userName") String userName, @PathVariable("maxresult") String maxresult){ DocumentDTO document = null; Long id = new Long(crisisID); logger.info("Going to fetch internal training document for crisisID = " + crisisID + ", userName = " + userName + ", count = " + maxresult); if(userName != null){ List<DocumentDTO> documents = documentService.getDocumentForOneTask(id,Integer.valueOf(maxresult),userName ); if(documents!= null){ if(documents.size() > 0){ document = documents.get(0); logger.info("Fetched document for internal tagging task: " + document.getDocumentID() + ", for crisisID = " + document.getCrisisDTO().getCrisisID()); } } } List<TaskBufferJsonModel> jsonData = documentService.findOneDocumentForTaskByCririsID(document, id); for (int i = 0;i < jsonData.size();i++) { logger.info("To be returned json Data, documentID = " + jsonData.get(i).getDocumentID() + ", for crisisID = " + jsonData.get(i).getCrisisID() ); } return jsonData; } @RequestMapping(value = "/import/training-set", method={RequestMethod.POST}) public String importTrainingData(@RequestParam @NotNull Long targetCollectionId, @RequestParam Long sourceCollectionId, @RequestParam Long attributeId) { if(targetCollectionId == null || sourceCollectionId == null || attributeId == null || targetCollectionId == 0 || sourceCollectionId == 0 || attributeId == 0 || targetCollectionId == -1 || sourceCollectionId == -1 || attributeId == -1) { return "FAILURE"; } documentService.importTrainingData(targetCollectionId, sourceCollectionId, attributeId); return "SUCCESS"; } }