protected boolean ensureMediaPath(String path) { if (!path.startsWith("/")) { throw new IllegalArgumentException("[Samigo Media Attachments] Relative media paths are not acceptable. (" + path + ")"); } int lastSlash = path.lastIndexOf("/"); // Fast track already existing collections if (lastSlash != 0 && checkMediaCollection(path.substring(0, lastSlash + 1))) { return true; } // Ensure everything exists from the root int slash = 1; while (slash != lastSlash) { slash = path.indexOf("/", slash + 1); if (!ensureMediaCollection(path.substring(0, slash + 1))) { return false; } } return true; }
public void completeItemGradingData(AssessmentGradingData assessmentGradingData) { completeItemGradingData(assessmentGradingData, null); }
public Map<Long, AssessmentGradingData> getAssessmentGradingByItemGradingId(final Long publishedAssessmentId) { Map<Long, AssessmentGradingData> submissionDataMap = getAllSubmissions(publishedAssessmentId.toString()).stream() .filter(Objects::nonNull) .collect(Collectors.toMap(AssessmentGradingData::getAssessmentGradingId, a -> a)); final HibernateCallback<List<ItemGradingData>> hcb = session -> { Query q = session.createQuery( "select new ItemGradingData(i.itemGradingId, a.assessmentGradingId) " + " from ItemGradingData i, AssessmentGradingData a " + " where i.assessmentGradingId = a.assessmentGradingId " + " and a.publishedAssessmentId = :id " + " and a.forGrade = :forgrade "); q.setLong("id", publishedAssessmentId); q.setBoolean("forgrade", true); return q.list(); }; List<ItemGradingData> l = getHibernateTemplate().execute(hcb); return l.stream().filter(i -> Objects.nonNull(submissionDataMap.get(i.getAssessmentGradingId()))) .collect(Collectors.toMap(ItemGradingData::getItemGradingId, g -> submissionDataMap.get(g.getAssessmentGradingId()))); }
public String getFilename(Long itemGradingId, String agentId, String filename) { int dotIndex = filename.lastIndexOf("."); if (dotIndex < 0) { return getFilenameWOExtesion(itemGradingId, agentId, filename); } else { return getFilenameWExtesion(itemGradingId, agentId, filename, dotIndex); } }
boolean canBeExported; boolean fistItemGradingData = true; List list = getAllOrderedSubmissions(publishedAssessmentId); Iterator assessmentGradingIter = list.iterator(); while (assessmentGradingIter.hasNext()) { Map studentGradingMap = getStudentGradingData(assessmentGradingData.getAssessmentGradingId().toString(), false); List grades = new ArrayList(); sectionSequenceNumber = updateSectionScore(sectionItems, sectionScores, grade.getPublishedItemId(), headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, poolName)); if (addRationale) { headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, headerList.add(makeHeader(partString,
return q.list(); }; List<AssessmentGradingData> assessmentGradings = getHibernateTemplate().execute(hcb); if (agd.getAssessmentGradingId().compareTo(assessmentGradingId) == 0) { ag = agd; ag.setItemGradingSet(getItemGradingSet(agd.getAssessmentGradingId())); break; Map<Long, List<AssessmentGradingAttachment>> map = getAssessmentGradingAttachmentMap(publishedAssessmentId); List<AssessmentGradingAttachment> attachments = map.get(ag.getAssessmentGradingId()); if (attachments != null) {
String mediaPath = getMediaPath(mediaData); if (mediaData.getMedia() != null && ensureMediaPath(mediaPath)) { log.debug("=====> Saving media: " + mediaPath); SecurityAdvisor resourceAdvisor = pushAdvisor(); boolean newResource = true; log.warn("Exception while saving media to content: " + e.toString()); } finally { popAdvisor(resourceAdvisor);
java.util.Date currentTime = new java.util.Date(); Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); completeItemGradingData(adata, sectionSetMap); .toString()); boolean success = saveOrUpdateAssessmentGrading(adata);
public void removeUnsubmittedAssessmentGradingData(final AssessmentGradingData data) { final HibernateCallback<List<AssessmentGradingData>> hcb = session -> { Query q = session.createQuery( "from AssessmentGradingData a where a.publishedAssessmentId = :id and a.agentId = :agent " + "and a.forGrade = :forgrade and a.status = :status " + "order by a.submittedDate desc"); q.setLong("id", data.getPublishedAssessmentId()); q.setString("agent", data.getAgentId()); q.setBoolean("forgrade", false); q.setInteger("status", AssessmentGradingData.NO_SUBMISSION); return q.list(); }; List<AssessmentGradingData> assessmentGradings = getHibernateTemplate().execute(hcb); if (!assessmentGradings.isEmpty()) { deleteAll(assessmentGradings); } }
List<AssessmentGradingData> list = getHibernateTemplate().execute(hcb); Map<Long, List<AssessmentGradingAttachment>> attachmentMap = getAssessmentGradingAttachmentMap(Long.valueOf( publishedId)); for (AssessmentGradingData data : list) { list = getHibernateTemplate().execute(hcb2);
public ItemGradingAttachment createItemGradingtAttachment(ItemGradingData itemGrading, String resourceId, String filename, String protocol) { GradingAttachmentData attach = createGradingtAttachment(resourceId, filename, protocol); ItemGradingAttachment itemAttach = new ItemGradingAttachment(attach, itemGrading); itemAttach.setItemGrading(itemGrading); return itemAttach; }
boolean canBeExported; boolean fistItemGradingData = true; List list = getAllOrderedSubmissions(publishedAssessmentId); Iterator assessmentGradingIter = list.iterator(); while (assessmentGradingIter.hasNext()) { Map studentGradingMap = getStudentGradingData(assessmentGradingData.getAssessmentGradingId().toString(), false); List grades = new ArrayList(); sectionSequenceNumber = updateSectionScore(sectionItems, sectionScores, grade.getPublishedItemId(), headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, poolName)); if (addRationale) { headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, headerList.add(makeHeader(partString, sectionSequenceNumber, questionString, headerList.add(makeHeader(partString,
return q.list(); }; List<AssessmentGradingData> assessmentGradings = getHibernateTemplate().execute(hcb); if (agd.getAssessmentGradingId().compareTo(assessmentGradingId) == 0) { ag = agd; ag.setItemGradingSet(getItemGradingSet(agd.getAssessmentGradingId())); break; Map<Long, List<AssessmentGradingAttachment>> map = getAssessmentGradingAttachmentMap(publishedAssessmentId); if (map != null && map.containsKey(ag.getAssessmentGradingId())) { attachments = map.get(ag.getAssessmentGradingId());
String mediaPath = getMediaPath(mediaData); if (mediaData.getMedia() != null && ensureMediaPath(mediaPath)) { log.debug("=====> Saving media: " + mediaPath); SecurityAdvisor resourceAdvisor = pushAdvisor(); boolean newResource = true; log.warn("Exception while saving media to content: " + e.toString()); } finally { popAdvisor(resourceAdvisor);
java.util.Date currentTime = new java.util.Date(); Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); completeItemGradingData(adata, sectionSetMap); .toString()); boolean success = saveOrUpdateAssessmentGrading(adata);
public String getFilename(Long itemGradingId, String agentId, String filename) { int dotIndex = filename.lastIndexOf("."); if (dotIndex < 0) { return getFilenameWOExtesion(itemGradingId, agentId, filename); } else { return getFilenameWExtesion(itemGradingId, agentId, filename, dotIndex); } }
public void removeUnsubmittedAssessmentGradingData(final AssessmentGradingData data) { final HibernateCallback<List<AssessmentGradingData>> hcb = session -> { Query q = session.createQuery( "from AssessmentGradingData a where a.publishedAssessmentId = :id and a.agentId = :agent " + "and a.forGrade = :forgrade and a.status = :status " + "order by a.submittedDate desc"); q.setLong("id", data.getPublishedAssessmentId()); q.setString("agent", data.getAgentId()); q.setBoolean("forgrade", false); q.setInteger("status", AssessmentGradingData.NO_SUBMISSION); return q.list(); }; List<AssessmentGradingData> assessmentGradings = getHibernateTemplate().execute(hcb); if (!assessmentGradings.isEmpty()) { deleteAll(assessmentGradings); } }
List<AssessmentGradingData> list = getHibernateTemplate().execute(hcb); Map<Long, List<AssessmentGradingAttachment>> attachmentMap = getAssessmentGradingAttachmentMap(Long.valueOf( publishedId)); for (AssessmentGradingData data : list) { list = getHibernateTemplate().execute(hcb2);
public AssessmentGradingAttachment createAssessmentGradingtAttachment(AssessmentGradingData assessmentGrading, String resourceId, String filename, String protocol) { GradingAttachmentData attach = createGradingtAttachment(resourceId, filename, protocol); AssessmentGradingAttachment assessAttach = new AssessmentGradingAttachment(attach, assessmentGrading); assessAttach.setAssessmentGrading(assessmentGrading); return assessAttach; }
return q.list(); }; List<AssessmentGradingData> assessmentGradings = getHibernateTemplate().execute(hcb); if (agd.getAssessmentGradingId().compareTo(assessmentGradingId) == 0) { ag = agd; ag.setItemGradingSet(getItemGradingSet(agd.getAssessmentGradingId())); break; Map<Long, List<AssessmentGradingAttachment>> map = getAssessmentGradingAttachmentMap(publishedAssessmentId); List<AssessmentGradingAttachment> attachments = map.get(ag.getAssessmentGradingId()); if (attachments != null) {