private ItemFacade getItemFacade(ItemDataIfc itemData) { ItemFacade item = new ItemFacade(); item.setScore(itemData.getScore()); item.setDiscount(itemData.getDiscount()); item.setHint(itemData.getHint()); item.setStatus(itemData.getStatus()); item.setTypeId(itemData.getTypeId()); item.setCreatedBy(AgentFacade.getAgentString()); item.setCreatedDate(new Date()); item.setLastModifiedBy(AgentFacade.getAgentString()); item.setLastModifiedDate(new Date()); item.setHasRationale(itemData.getHasRationale()); item.setTriesAllowed(itemData.getTriesAllowed()); item.setDuration(itemData.getDuration()); item.setAnswerOptionsRichCount(itemData.getAnswerOptionsRichCount()); item.setAnswerOptionsSimpleOrRich(itemData.getAnswerOptionsSimpleOrRich()); item.setDescription(itemData.getDescription()); item.setItemTextSet(copyItemText(item.getData(), itemData)); item.setItemMetaDataSet(copyMetaData(item.getData(), itemData)); item.setItemTagSet(copyTags(item.getData(), itemData)); item.setItemAttachmentSet(copyAttachment(item.getData(), itemData)); item.setInstruction(AssessmentService.copyStringAttachment(itemData.getInstruction())); item.setCorrectItemFeedback(AssessmentService.copyStringAttachment(itemData.getCorrectItemFeedback())); item.setInCorrectItemFeedback(AssessmentService.copyStringAttachment(itemData.getInCorrectItemFeedback())); item.setGeneralItemFeedback(AssessmentService.copyStringAttachment(itemData.getGeneralItemFeedback()));
private void printFacadeItem(ItemDataIfc item) { ItemFacade f = new ItemFacade(item); log.debug("****Id = " + f.getItemId()); log.debug("****score = " + f.getScore()); log.debug("****grade = " + f.getGrade()); log.debug("****CorrectFeedback is lazy = " + f.getCorrectItemFeedback()); log.debug("****Objective not lazy = " + f.getItemMetaDataByLabel("ITEM_OBJECTIVE")); log.debug("****createdDate = " + f.getCreatedDate()); log.debug("****ItemType = " + f.getItemType().getKeyword()); }
private ItemText makeEMIRichOptions(ItemFacade item, String richText, List<String> options, Map<String, String> optionMap) { item.setAnswerOptionsRichCount(options.size()); for (String option : options) { option = option.trim().substring(1, 2); optionMap.put(option, option); } ItemText itemText = new ItemText((ItemData) item.getData(), ItemTextIfc.EMI_ANSWER_OPTIONS_SEQUENCE, richText, null); return itemText; }
public Map<String, ItemFacade> getPublishedItemsByHash(String hash) { final HibernateCallback<List<PublishedItemData>> hcb = session -> { Query q = session.createQuery("from PublishedItemData where hash = ? "); q.setString(0, hash); return q.list(); }; List<PublishedItemData> list1 = getHibernateTemplate().execute(hcb); Map<String, ItemFacade> itemFacadeMap = new HashMap(); for (int i = 0; i < list1.size(); i++) { PublishedItemData a = (PublishedItemData) list1.get(i); ItemFacade f = new ItemFacade(a); itemFacadeMap.put(f.getItemIdString(),f); } return itemFacadeMap; }
questionCount++; Set correctAnswerIDs = importableQuestion.getCorrectAnswerIDs(); itemFacade = new ItemFacade(); itemFacade.setTypeId(new Long(importableQuestion.getQuestionType())); textSet = new HashSet(); questionTextString = contextualizeUrls(importableQuestion.getQuestionText(), siteId); if (importableQuestion.getQuestionType() == SamigoPoolHandler.MATCHING) { itemFacade.setInstruction(questionTextString); Collection answers = importableQuestion.getAnswers().values(); Collection choices = importableQuestion.getChoices().values(); importableChoice = (AssessmentAnswer)k.next(); answer = new Answer(); answer.setItem(itemFacade.getData()); answer.setItemText(text); answer.setSequence(new Long(choiceIndex)); text.setItem(itemFacade.getData()); textSet.add(text); String answerId = importableAnswer.getAnswerId(); answer = new Answer(); answer.setItem(itemFacade.getData()); answer.setItemText(text); answer.setSequence(new Long(importableAnswer.getPosition())); if (matcher.find()) questionTextString = questionTextString.replaceFirst(matcher.group(),"{}"); text.setText(questionTextString); itemFacade.setTypeId(Long.valueOf(SamigoPoolHandler.FILL_BLANK));
if (item.getTypeId().equals(TypeIfc.ESSAY_QUESTION)) { score = "1"; else if (item.getTypeId().equals(TypeIfc.MULTIPLE_CORRECT) || item.getTypeId().equals(TypeIfc.FILL_IN_BLANK) || item.getTypeId().equals(TypeIfc.MATCHING) || item.getTypeId().equals(TypeIfc.CALCULATED_QUESTION) // CALCULATED_QUESTION ) { score = (String) itemMap.get("score"); String hasRationale = (String) item.getItemMetaDataByLabel("hasRationale");//rshastri :SAK-1824 String status = (String) itemMap.get("status"); String createdBy = (String) itemMap.get("createdBy"); String partialCreditFlag= (String) item.getItemMetaDataByLabel("PARTIAL_CREDIT"); item.setInstruction( (String) itemMap.get("instruction")); if (notNullOrEmpty(score)) item.setScore( Double.valueOf(score)); item.setScore(Double.valueOf(0)); item.setDiscount(Double.valueOf(discount)); item.setDiscount(Double.valueOf(0)); item.setPartialCreditFlag((Boolean.parseBoolean( partialCreditFlag))); item.setPartialCreditFlag((Boolean.FALSE));
Item itemXml = (Item) itemList.get(itm); ItemFacade item = new ItemFacade(); try { exHelper.updateItem(item, itemXml, isRespondus); item.setCreatedBy(me); item.setCreatedDate(assessment.getCreatedDate()); item.setLastModifiedBy(me); item.setLastModifiedDate(assessment.getCreatedDate()); item.setStatus(ItemDataIfc.ACTIVE_STATUS); item.setSequence( Integer.valueOf(itm + 1)); item.setSection(section); // one to many item.addItemMetaData(ItemMetaData.PARTID, section.getSectionId().toString()); EventTrackingService.post(EventTrackingService.newEvent(SamigoConstants.EVENT_ASSESSMENT_SAVEITEM, "/sam/" + AgentFacade.getCurrentSiteId() + "/saved itemId=" + item.getItemId().toString(), true));
Item itemXml = (Item) itemList.get(itm); ItemFacade item = new ItemFacade(); exHelper.updateItem(item, itemXml); item.setCreatedBy(me); item.setCreatedDate(questionpool.getLastModified()); item.setLastModifiedBy(me); item.setLastModifiedDate(questionpool.getLastModified()); item.setStatus(ItemDataIfc.ACTIVE_STATUS); itemService.saveItem(item); EventTrackingService.post(EventTrackingService.newEvent(SamigoConstants.EVENT_ASSESSMENT_SAVEITEM, "/sam/" + AgentFacade.getCurrentSiteId() + "/saved itemId=" + item.getItemId().toString(), true)); questionPoolItem.setItemId(item.getItemId()); questionpool.addQuestionPoolItem((QuestionPoolItemIfc) questionPoolItem);
item.setSection(section); item.setSequence(Integer.valueOf(i + 1)); item.setScore(score); long itemTypeId = item.getTypeId().longValue(); String mcmsPartialCredit = item.getItemMetaDataByLabel(ItemMetaDataIfc.MCMS_PARTIAL_CREDIT); if (hasRandomPartDiscount && (itemTypeId == TypeFacade.MULTIPLE_CHOICE.longValue() || itemTypeId == TypeFacade.MULTIPLE_CORRECT_SINGLE_SELECTION.longValue() || (itemTypeId == TypeFacade.MULTIPLE_CORRECT.longValue() && "false".equals(mcmsPartialCredit)))) item.setDiscount(discount); ItemDataIfc data = item.getData(); Set itemTextSet = data.getItemTextSet(); if (itemTextSet != null) { EventTrackingService.post(EventTrackingService.newEvent(SamigoConstants.EVENT_ASSESSMENT_SAVEITEM, "/sam/" + AgentFacade.getCurrentSiteId() + "/saved itemId=" + item.getItemId().toString(), true)); i = i + 1;
itemMap = mapEMIItem(itemXml, false); Set<ItemTextIfc> itemTextSet = new TreeSet<ItemTextIfc>(); item.setItemTextSet(itemTextSet); item.setStatus(ItemDataIfc.ACTIVE_STATUS); itemTextSet.add(new ItemText((ItemData) item.getData(), ItemTextIfc.EMI_THEME_TEXT_SEQUENCE, get(itemMap, "theme"), null)); item.setAnswerOptionsSimpleOrRich(simple ? ItemDataIfc.ANSWER_OPTIONS_SIMPLE : ItemDataIfc.ANSWER_OPTIONS_RICH); Map<String, String> optionMap = new HashMap<String, String>(); itemTextSet.add(makeEMISimpleOptions(item, getList(itemMap, "options"), optionMap)); item.setAnswerOptionsRichCount(0); } else {// rich itemTextSet.add(makeEMIRichOptions(item, itemTextSet.add(new ItemText((ItemData) item.getData(), ItemTextIfc.EMI_LEAD_IN_TEXT_SEQUENCE, get(itemMap, "leadin"), null)); item.setScore(Double.valueOf(get(itemMap, "score"))); item.setDiscount(Double.valueOf(get(itemMap, "discount")));
itemTextString=itemTextString.replaceAll("\\?\\?"," ");//SAK-2298 log.debug("item.setInstruction itemTextString: " + itemTextString); item.setInstruction(itemTextString); sourceItemText.setItem(item.getData()); sourceItemText.setSequence( Long.valueOf(i + 1)); target.setItem(item.getData()); target.setSequence( Long.valueOf(a + 1)); item.setItemTextSet(itemTextSet);
item.setGeneralItemFeedback(generalItemFeedback); item.setCorrectItemFeedback(correctItemFeedback); item.setInCorrectItemFeedback(incorrectItemFeedback);
public void save(){ itemFacade = new ItemFacade(); itemFacade.create(this.user); }
itemText.setText(makeFCKAttachment(text)); itemText.setItem(item.getData()); itemText.setSequence( Long.valueOf(i + 1)); if (item.getTypeId().equals(TypeIfc.TRUE_FALSE)) answer.setItem(item.getData()); int sequence = a + 1; answer.setSequence( Long.valueOf(sequence)); if (item.getTypeId().equals(TypeIfc.MULTIPLE_CHOICE) || item.getTypeId().equals(TypeIfc.MULTIPLE_CORRECT)) { HashSet set = new HashSet(); if (answerFeedbackList != null) { String strPCredit = (String) answerScoreList.get(indexInteger); double fltPCredit = Double.parseDouble(strPCredit); Double pCredit = (fltPCredit/(item.getScore().doubleValue()))*100; if (pCredit.isNaN()){ answer.setPartialCredit(0D); itemTextSet.add(itemText); item.setItemTextSet(itemTextSet);
for (int i = 0;i < questionItemsArray.length; i++) { ItemFacade item = (ItemFacade)questionItemsArray[i]; item.setSequence(Integer.valueOf(i + 1)); item.setSection(section); section.addItem(itemService.saveItem(item)); EventTrackingService.post(EventTrackingService.newEvent(SamigoConstants.EVENT_ASSESSMENT_SAVEITEM, "/sam/" + AgentFacade.getCurrentSiteId() + "/saved itemId=" + item.getItemId().toString(), true));
Set<ItemTagIfc> itemTagIfcSet = itemOrigin.getItemTagSet(); Map itemsToUpdate = itemService.getItemsByHash(itemOrigin.getHash()); Iterator itemsIterator = itemsToUpdate.values().iterator(); if (itemHashed.getItemId()!=itemOrigin.getItemId()) { //Not needed in the actual item itemTagIfcSetOriginal.addAll(itemHashed.getItemTagSet()); Iterator originIterator = itemTagIfcSetOriginal.iterator(); while (originIterator.hasNext()) { ItemTagIfc tagToDelete = (ItemTagIfc) originIterator.next(); itemHashed.removeItemTagByTagId(tagToDelete.getTagId()); if (tagService.getTags().getForId(tagToAdd.getTagId()).isPresent()) { Tag tag = tagService.getTags().getForId(tagToAdd.getTagId()).get(); itemHashed.addItemTag(tagToAdd.getTagId(), tag.getTagLabel(), tag.getTagCollectionId(), tag.getCollectionName());
itemText.setItem(item.getData()); itemText.setSequence(Long.valueOf(0)); HashSet answerSet = new HashSet(); answer.setItemText(itemText); answer.setIsCorrect(Boolean.TRUE); answer.setScore(Double.valueOf(item.getScore())); answer.setItem(item.getData()); answer.setSequence(Long.valueOf(1l)); answerSet.add(answer); itemText.setAnswerSet(answerSet); itemTextSet.add(itemText); item.setItemTextSet(itemTextSet);
answerList = aList == null ? answerList : aList; if (item.getTypeId().equals(TypeIfc.ESSAY_QUESTION) ) { answerList.add(allFeedbacksMap); itemText.setItem(item.getData()); itemText.setSequence( Long.valueOf(i + 1)); if (item.getTypeId().equals(TypeIfc.ESSAY_QUESTION) ) { for (Entry<String, String> entrySet : allFeedbacksMap.entrySet()) { String allFeedback = (String) entrySet.getValue(); if (item.getTypeId().equals(TypeIfc.TRUE_FALSE)) if (item.getTypeId().equals(TypeIfc.MULTIPLE_CHOICE) || item.getTypeId().equals(TypeIfc.MULTIPLE_CORRECT)) { HashSet set = new HashSet(); AnswerFeedback answerFeedback = new AnswerFeedback(); answer.setItem(item.getData()); int sequence = a + 1; answer.setSequence( Long.valueOf(sequence)); itemTextSet.add(itemText); item.setItemTextSet(itemTextSet);
Set misItemText = itemData.getItemTextSet(); if (flagTextUpdated) itemData.setItemTextSet(newItemTextSet); ArrayList misAttachments = (ArrayList<ItemAttachmentIfc>) itemData.getItemAttachmentList(); if (misAttachments.size()>0) upar.addToReport("\nFound " + misAttachments.size() + " uploaded attachments in the question.\n\n"); for (int i=0;i<misAttachments.size();i++) if (flagAttachmentUpdated) itemData.setItemAttachmentSet(new HashSet(misAttachments));
public String assessmentId(ItemFacade item) { Long assessmentId = itemFacadeQueries.getAssessmentId(item.getItemId()); if(assessmentId>0){ return Long.toString(assessmentId); }else { return null; } }