private Comparator getQualificationComparator(int qualNum) { String qualComparator = VelocityUtil.doMerge(qualificationComparator[qualNum], inputMap); if (qualComparator != null) { qualComparator = qualComparator.trim().toLowerCase(); if ("lessthan".equals(qualComparator)) return Comparator.LessThan; else if ("lessthanorequalto".equals(qualComparator)) return Comparator.LessThanOrEqualTo; else if ("greaterthan".equals(qualComparator)) return Comparator.GreaterThan; else if ("greaterthanorequalto".equals(qualComparator)) return Comparator.GreaterThanOrEqualTo; else if ("equalto".equals(qualComparator)) return Comparator.EqualTo; else if ("notequalto".equals(qualComparator)) return Comparator.NotEqualTo; else if ("exists".equals(qualComparator)) return Comparator.Exists; else { log.info("Your configuration file provided an unrecognized comparator: " + qualComparator); return null; } } else { return null; } }
/** * Creates the simple survey. * */ public void createSimpleSurvey() { try { // This is an example of creating a qualification. // This is a built-in qualification -- user must be based in the US QualificationRequirement qualReq = new QualificationRequirement(); qualReq.setQualificationTypeId(RequesterService.LOCALE_QUALIFICATION_TYPE_ID); qualReq.setComparator(Comparator.EqualTo); Locale country = new Locale(); country.setCountry("US"); qualReq.setLocaleValue(country); // The create HIT method takes in an array of QualificationRequirements // since a HIT can have multiple qualifications. QualificationRequirement[] qualReqs = null; qualReqs = new QualificationRequirement[] { qualReq }; // Loading the question (QAP) file. HITQuestion is a helper class that // contains the QAP of the HIT defined in the external file. This feature // allows you to write the entire QAP externally as a file and be able to // modify it without recompiling your code. HITQuestion question = new HITQuestion(questionFile); //Creating the HIT and loading it into Mechanical Turk HIT hit = service.createHIT(null, // HITTypeId title, description, keywords, question.getQuestion(), reward, assignmentDurationInSeconds, autoApprovalDelayInSeconds, lifetimeInSeconds, numAssignments, requesterAnnotation, qualReqs, null // responseGroup ); System.out.println("Created HIT: " + hit.getHITId()); System.out.println("You may see your HIT with HITTypeId '" + hit.getHITTypeId() + "' here: "); System.out.println(service.getWebsiteURL() + "/mturk/preview?groupId=" + hit.getHITTypeId()); //Demonstrates how a HIT can be retrieved if you know its HIT ID HIT hit2 = service.getHIT(hit.getHITId()); System.out.println("Retrieved HIT: " + hit2.getHITId()); if (!hit.getHITId().equals(hit2.getHITId())) { System.err.println("The HIT Ids should match: " + hit.getHITId() + ", " + hit2.getHITId()); } } catch (Exception e) { System.err.println(e.getLocalizedMessage()); } }