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 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()))); }