package qa.qcri.aidr.trainer.api.service; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * Created with IntelliJ IDEA. * User: jilucas * Date: 9/15/13 * Time: 9:32 AM * To change this template use File | Settings | File Templates. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:spring/applicationContext.xml", "classpath:spring/hibernateContext.xml"}) public class TaskAnswerServiceTest { @Autowired private TaskAnswerService taskAnswerService; @Autowired private CrisisService crisisService; @Test public void testTaskAnswerOne() throws Exception{ String data = "[{\"info\": {\"category\": \"Turkey,Tartus,Damascus\", \"text\": \"Spiegel: \\\"Esad'in gitmesi zor, ABD Suriye'nin bolunmesine kendini alistiriyor\\\". http://t.co/AKCNpk4z3u Gene kabak bize patladi iyi mi...\", \"crisisID\": 14, \"documentID\": 359315, \"tweetid\": \"2.76E17\"}, \"user_id\": 1, \"links\": [\"<link rel='parent' title='app' href='http://localhost:5000/api/app/1'/>\", \"<link rel='parent' title='task' href='http://localhost:5000/api/task/558'/>\"], \"task_id\": 558, \"created\": \"2013-09-16T11:48:35.663822\", \"finish_time\": \"2013-09-16T11:48:35.663845\", \"calibration\": null, \"app_id\": 1, \"user_ip\": null, \"link\": \"<link rel='self' title='taskrun' href='http://localhost:5000/api/taskrun/38'/>\", \"timeout\": null, \"id\": 38}]"; String data2 = "[{\"info\": {\"category\": \"Turkey,Tartus,Damascus\", \"crisisID\": 14, \"text\":\"#syria\n#????_???????_????????\n#??????_??????\n??? ???? ????? ?????? ????? ??? ???? ????: {?????? ????????... http://t.co/tUXEZJOXW\",\"tweetid\": \"2.76E17\", \"aidrID\": 2, \"documentID\": 359305}, \"user_id\": 1, \"task_id\": 1353, \"created\": \"2013-09-23T08:30:48.345627\", \"finish_time\": \"2013-09-23T08:30:48.345651\", \"calibration\": null, \"app_id\": 81, \"user_ip\": null, \"timeout\": null, \"id\": 234}]"; String category = "Turkey"; String[] categorySet = category.split("\\,"); System.out.println(categorySet.length); } public void testTaskAnswerTwo() throws Exception{ String data = "[{\"info\": {\"category\": \"Caution or Advice.\", \"text\": \"Spiegel: \\\"Esad'in gitmesi zor, ABD Suriye'nin bolunmesine kendini alistiriyor\\\". http://t.co/AKCNpk4z3u Gene kabak bize patladi iyi mi...\", \"crisisID\": 14, \"documentID\": 359315, \"tweetid\": \"2.76E17\"}, \"user_id\": 1, \"links\": [\"<link rel='parent' title='app' href='http://localhost:5000/api/app/1'/>\", \"<link rel='parent' title='task' href='http://localhost:5000/api/task/558'/>\"], \"task_id\": 558, \"created\": \"2013-09-16T11:48:35.663822\", \"finish_time\": \"2013-09-16T11:48:35.663845\", \"calibration\": null, \"app_id\": 1, \"user_ip\": null, \"link\": \"<link rel='self' title='taskrun' href='http://localhost:5000/api/taskrun/38'/>\", \"timeout\": null, \"id\": 38}]"; String answer="[{\"attributeID\":15,\"labelID\":4294967295},{\"attributeID\":17,\"labelID\":4294967295},{\"attributeID\":18,\"labelID\":4294967295},{\"attributeID\":20,\"labelID\":4294967295}]"; // taskAnswerService.insertTaskAnswer(data); } public void testInsertTaskAnswer() throws Exception { // String answer="[{\"attributeID\":15,\"labelID\":4294967295},{\"attributeID\":17,\"labelID\":4294967295},{\"attributeID\":18,\"labelID\":4294967295},{\"attributeID\":20,\"labelID\":4294967295}]"; // TaskAnswer taskAnswer = new TaskAnswer(new Long(359323), new Long(1), answer); // taskAnswerService.insertTaskAnswer("testing"); // taskAnswer.setAnswer('[{"attributeID":15,"labelID":4294967295},{"attributeID":17,"labelID":4294967295},{"attributeID":18,"labelID":4294967295},{"attributeID":20,"labelID":12}]'); /** String inputData = "[{\"info\": {\"category\": \"Caution or Advice.\", \"text\": \"Spiegel: \\\"Esad'in gitmesi zor, ABD Suriye'nin bolunmesine kendini alistiriyor\\\". http://t.co/AKCNpk4z3u Gene kabak bize patladi iyi mi...\", \"crisisID\": 14, \"documentID\": 359315, \"tweetid\": \"2.76E17\"}, \"user_id\": 1, \"links\": [\"<link rel='parent' title='app' href='http://localhost:5000/api/app/1'/>\", \"<link rel='parent' title='task' href='http://localhost:5000/api/task/558'/>\"], \"task_id\": 558, \"created\": \"2013-09-16T11:48:35.663822\", \"finish_time\": \"2013-09-16T11:48:35.663845\", \"calibration\": null, \"app_id\": 1, \"user_ip\": null, \"link\": \"<link rel='self' title='taskrun' href='http://localhost:5000/api/taskrun/38'/>\", \"timeout\": null, \"id\": 38}]"; JSONParser parser = new JSONParser(); Object obj = parser.parse(inputData); JSONArray jsonObject = (JSONArray) obj; Iterator itr= jsonObject.iterator(); while(itr.hasNext()){ JSONObject featureJsonObj = (JSONObject)itr.next(); JSONObject info = (JSONObject)featureJsonObj.get("info"); // String category = (String)info.get("category"); Long crisisID = (Long)info.get("crisisID"); Long documentID = (Long)info.get("documentID"); Crisis crisis = crisisService.findByCrisisID(crisisID) ; Set<ModelFamily> modelFamilySet= crisis.getModelFamilySet(); JSONArray taskAnswerJson = new JSONArray(); String category ="Food and water"; for (ModelFamily modelFamily : modelFamilySet){ Set<NominalLabel> nominalLabelSet = modelFamily.getNominalAttribute().getNominalLabelSet(); for (NominalLabel nominalLabel : nominalLabelSet){ JSONObject taskAnswerElement = new JSONObject(); String labelName = nominalLabel.getName(); if(labelName.equalsIgnoreCase(category)){ //{"attributeID":15,"labelID":4294967295} Long attributeID = nominalLabel.getNominalAttributeID(); Long labelID = nominalLabel.getNorminalLabelID(); taskAnswerElement.put("attributeID", attributeID) ; taskAnswerElement.put("labelID", labelID) ; taskAnswerJson.add(taskAnswerElement); break; } System.out.print("labelName: " + labelName + "\n"); } } TaskAnswer taskAnswer = new TaskAnswer(documentID, new Long(1), taskAnswerJson.toJSONString()); // taskAnswerDao.insertTaskAnswer(taskAnswer); System.out.print("category: " + category + " crisisID:" + crisisID+ " documentID:" + documentID); } **/ } }