Index: lams_common/src/java/org/lamsfoundation/lams/outcome/dao/hibernate/OutcomeDAO.java =================================================================== diff -u -r73e57b8ca1a3ddd6cd15b00240d90b79c5de063a -rb232f1f11bbdb5c8455f29ab5489dc8f86b0b7d4 --- lams_common/src/java/org/lamsfoundation/lams/outcome/dao/hibernate/OutcomeDAO.java (.../OutcomeDAO.java) (revision 73e57b8ca1a3ddd6cd15b00240d90b79c5de063a) +++ lams_common/src/java/org/lamsfoundation/lams/outcome/dao/hibernate/OutcomeDAO.java (.../OutcomeDAO.java) (revision b232f1f11bbdb5c8455f29ab5489dc8f86b0b7d4) @@ -28,7 +28,7 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; -import org.hibernate.Query; +import org.hibernate.query.Query; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.outcome.Outcome; import org.lamsfoundation.lams.outcome.OutcomeMapping; @@ -54,45 +54,50 @@ /** * Finds an existing content folder ID for the given organisation outcomes or scales, or for global ones */ + @SuppressWarnings("unchecked") + @Override public String getContentFolderID(Integer organisationId) { String queryString = FIND_CONTENT_FOLDER_ID_BY_ORGANISATION.replace("?", organisationId == null ? "IS NULL" : "=" + organisationId); - Query query = getSession().createSQLQuery(queryString); - return (String) query.uniqueResult(); + Query query = getSession().createSQLQuery(queryString); + return query.uniqueResult(); } /** * Finds all global outcomes and ones for the given organisation */ + @Override @SuppressWarnings("unchecked") public List getOutcomesSortedByName(Integer organisationId) { String queryString = FIND_OUTCOMES_SORTED_BY_NAME.replace("?", organisationId == null ? "" : "OR o.organisation.organisationId = " + organisationId); return find(queryString); } + @Override @SuppressWarnings("unchecked") public List getOutcomesSortedByName(String search, Set organisationIds) { String queryString = FIND_OUTCOMES_SORTED_BY_NAME; if (organisationIds != null && !organisationIds.isEmpty()) { - queryString = queryString.replace("?", "OR o.organisation.organisationId IN (:organisationIds)) ? "); + queryString = queryString.replace("?", "OR o.organisation.organisationId IN (:organisationIds) ? "); } if (StringUtils.isNotBlank(search)) { queryString = queryString.replace("?", "AND (o.name LIKE :search OR o.code LIKE :search)"); } queryString = queryString.replace("?", ""); - Query query = getSession().createQuery(queryString); + Query query = getSession().createQuery(queryString); if (organisationIds != null && !organisationIds.isEmpty()) { query.setParameterList("organisationIds", organisationIds); } if (StringUtils.isNotBlank(search)) { - query.setString("search", "%" + search + "%"); + query.setParameter("search", "%" + search + "%"); } return query.list(); } + @Override @SuppressWarnings("unchecked") public List getOutcomeMappings(Long lessonId, Long toolContentId, Long itemId) { Map properties = new HashMap(); @@ -111,18 +116,21 @@ /** * Finds all global scales and ones for the given organisation */ + @Override @SuppressWarnings("unchecked") public List getScalesSortedByName(Integer organisationId) { String queryString = FIND_SCALES_SORTED_BY_NAME.replace("?", organisationId == null ? "" : "OR o.organisation.organisationId = " + organisationId); return find(queryString); } + @Override @SuppressWarnings("unchecked") public List getAuthorOrganisations(Integer userId) { return find(FIND_AUTHOR_ORGANISATIONS, new Object[] { userId }); } + @Override @SuppressWarnings("unchecked") public List getOutcomeResults(Integer userId, Long lessonId, Long toolContentId, Long itemId) { Map properties = new HashMap(); @@ -141,6 +149,7 @@ return findByProperties(OutcomeResult.class, properties); } + @Override @SuppressWarnings("unchecked") public OutcomeResult getOutcomeResult(Integer userId, Long mappingId) { Map properties = new HashMap();