Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueContentDAO.java =================================================================== diff -u -r05db875c7974d705f89231416ff6dfe91a5e70f1 -r7b3e1eb125d38e4df23c247e25c27061adbaa269 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueContentDAO.java (.../IQaQueContentDAO.java) (revision 05db875c7974d705f89231416ff6dfe91a5e70f1) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaQueContentDAO.java (.../IQaQueContentDAO.java) (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -28,35 +28,33 @@ import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueContent; - /** * * @author Ozgur Demirtas - * + * */ -public interface IQaQueContentDAO -{ +public interface IQaQueContentDAO { public QaQueContent getQaQueById(long qaQueContentId); - + public QaQueContent getToolDefaultQuestionContent(final long qaContentId); - + public List getQuestionIndsForContent(QaContent qa); - + public void createQueContent(QaQueContent queContent); - + public void saveOrUpdateQaQueContent(QaQueContent qaQueContent); - + public void removeQueContent(long qaQueContentId); - + public void removeQaQueContent(QaQueContent qaQueContent); - + public List getQaQueContentsByContentId(long qaContentId); - + public List getAllQuestionEntries(final long qaContentId); - + public QaQueContent getQuestionContentByQuestionText(final String question, Long qaContentId); - - public QaQueContent getQuestionContentByDisplayOrder(Long displayOrder, Long qaContentId); - - public List getAllQuestionEntriesSorted(final long qaContentId); + + public QaQueContent getQuestionContentByDisplayOrder(Long displayOrder, Long qaContentId); + + public List getAllQuestionEntriesSorted(final long qaContentId); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java =================================================================== diff -u -r0db83894504dc7652d3670a6ce496605b961faa1 -r7b3e1eb125d38e4df23c247e25c27061adbaa269 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java (.../IQaSessionDAO.java) (revision 0db83894504dc7652d3670a6ce496605b961faa1) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaSessionDAO.java (.../IQaSessionDAO.java) (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -28,42 +28,35 @@ import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaSession; - /** + * * + * @author Ozgur Demirtas * - * * @author Ozgur Demirtas - * */ -public interface IQaSessionDAO -{ - public int countSessionIncomplete(); - - public int countSessionComplete(); - - public int countSessionComplete(QaContent qa); - - public QaSession getQaSessionById(long qaSessionId); - - public List getToolSessionsForContent(QaContent qa); - - public QaSession getQaSessionOrNullById(long qaSessionId); - - public int studentActivityOccurred(QaContent qa); - - public void CreateQaSession(QaSession session); - +public interface IQaSessionDAO { + public int countSessionIncomplete(); + + public int countSessionComplete(); + + public int countSessionComplete(QaContent qa); + + public QaSession getQaSessionById(long qaSessionId); + + public List getToolSessionsForContent(QaContent qa); + + public QaSession getQaSessionOrNullById(long qaSessionId); + + public int studentActivityOccurred(QaContent qa); + + public void CreateQaSession(QaSession session); + public void UpdateQaSession(QaSession session); - + public void deleteQaSession(QaSession session); - + public List getSessionsFromContent(QaContent qaContent); - + public String getSessionNameById(long qaSessionId); - + public List getSessionNamesFromContent(QaContent qaContent); } - - - - - Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java =================================================================== diff -u -r47ed08dc3daff962ae3af84bef5d38bb531eeabb -r7b3e1eb125d38e4df23c247e25c27061adbaa269 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 47ed08dc3daff962ae3af84bef5d38bb531eeabb) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaUsrRespDAO.java (.../IQaUsrRespDAO.java) (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -27,31 +27,27 @@ import org.lamsfoundation.lams.tool.qa.QaUsrResp; - /** * * @author Ozgur Demirtas * */ -public interface IQaUsrRespDAO -{ - public void saveUserResponse(QaUsrResp resp); - - public QaUsrResp getAttemptByUID(Long uid); +public interface IQaUsrRespDAO { + public void saveUserResponse(QaUsrResp resp); - public void updateUserResponse(QaUsrResp resp); - - public void createUserResponse(QaUsrResp resp); - - public void removeUserResponse(QaUsrResp resp); - - public void removeUserResponseByQaQueId(Long qaQueId); - - public QaUsrResp retrieveQaUsrResp(long responseId); - - public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); - - public void removeAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); -} + public QaUsrResp getAttemptByUID(Long uid); + public void updateUserResponse(QaUsrResp resp); + public void createUserResponse(QaUsrResp resp); + + public void removeUserResponse(QaUsrResp resp); + + public void removeUserResponseByQaQueId(Long qaQueId); + + public QaUsrResp retrieveQaUsrResp(long responseId); + + public List getAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); + + public void removeAttemptsForUserAndQuestionContent(final Long queUsrId, final Long qaQueContentId); +} Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaWizardDAO.java =================================================================== diff -u -ra82189db31f6fb6dd4a25a50a688b2812e93ddce -r7b3e1eb125d38e4df23c247e25c27061adbaa269 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaWizardDAO.java (.../IQaWizardDAO.java) (revision a82189db31f6fb6dd4a25a50a688b2812e93ddce) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IQaWizardDAO.java (.../IQaWizardDAO.java) (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -18,23 +18,26 @@ * * http://www.gnu.org/licenses/gpl.txt * **************************************************************** - */ - -/* $Id$ */ -package org.lamsfoundation.lams.tool.qa.dao; + */ +/* $Id$ */ +package org.lamsfoundation.lams.tool.qa.dao; + import java.util.SortedSet; import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.tool.qa.QaWizardCategory; -import org.lamsfoundation.lams.tool.qa.QaWizardCognitiveSkill; -import org.lamsfoundation.lams.tool.qa.QaWizardQuestion; -public interface IQaWizardDAO extends IBaseDAO{ + +public interface IQaWizardDAO extends IBaseDAO { void saveOrUpdateCategories(SortedSet categories); + SortedSet getWizardCategories(); + void deleteWizardCategoryByUID(Long uid); + void deleteWizardSkillByUID(Long uid); + void deleteWizardQuestionByUID(Long uid); + void deleteAllWizardCategories(); } - \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/QaQueUsrDAO.java =================================================================== diff -u --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/QaQueUsrDAO.java (revision 0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/QaQueUsrDAO.java (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -0,0 +1,154 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $$Id$$ */ +package org.lamsfoundation.lams.tool.qa.dao; + +import java.util.List; + +import org.apache.log4j.Logger; +import org.hibernate.FlushMode; +import org.lamsfoundation.lams.tool.qa.QaContent; +import org.lamsfoundation.lams.tool.qa.QaQueUsr; +import org.lamsfoundation.lams.tool.qa.QaSession; +import org.lamsfoundation.lams.tool.qa.dao.IQaQueUsrDAO; +import org.springframework.orm.hibernate3.HibernateTemplate; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; + +/** + * @author Ozgur Demirtas + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ + +public class QaQueUsrDAO extends HibernateDaoSupport implements IQaQueUsrDAO { + static Logger logger = Logger.getLogger(QaQueUsrDAO.class.getName()); + + private static final String COUNT_SESSION_USER = "select qaQueUsr.queUsrId from QaQueUsr qaQueUsr where qaQueUsr.qaSessionId= :qaSession"; + private static final String LOAD_USER_FOR_SESSION = "from qaQueUsr in class QaQueUsr where qaQueUsr.qaSessionId= :qaSessionId"; + + private static final String GET_USER_COUNT_FOR_CONTENT = "select count(*) from QaQueUsr quser, QaSession qses, QaQueContent qcon where " + + "quser.qaSession=qses and " + "qses.qaContent=qcon and " + "qcon.uid=:uid"; + + // select count(*) from tl_laqa11_que_usr quser, tl_laqa11_session qses where quser.qa_session_id=qses.uid and qses.qa_content_id=5378; + + public QaQueUsr getQaUserByUID(Long uid) { + return (QaQueUsr) this.getHibernateTemplate().get(QaQueUsr.class, uid); + } + + public int countSessionUser(QaSession qaSession) { + return (getHibernateTemplate().findByNamedParam(COUNT_SESSION_USER, "qaSession", qaSession)).size(); + } + + public QaQueUsr getQaQueUsrById(long qaQueUsrId) { + String query = "from QaQueUsr user where user.queUsrId=?"; + + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(query).setLong(0, qaQueUsrId).list(); + + if (list != null && list.size() > 0) { + QaQueUsr qu = (QaQueUsr) list.get(0); + return qu; + } + return null; + } + + public QaQueUsr getQaUserBySession(final Long queUsrId, final Long qaSessionId) { + + String strGetUser = "from qaQueUsr in class QaQueUsr where qaQueUsr.queUsrId=:queUsrId and qaQueUsr.qaSessionId=:qaSessionId"; + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(strGetUser).setLong("queUsrId", queUsrId.longValue()).setLong( + "qaSessionId", qaSessionId.longValue()).list(); + + if (list != null && list.size() > 0) { + QaQueUsr usr = (QaQueUsr) list.get(0); + return usr; + } + return null; + } + + public List getUserBySessionOnly(final QaSession qaSession) { + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(LOAD_USER_FOR_SESSION).setLong("qaSessionId", + qaSession.getUid().longValue()).list(); + return list; + } + + public QaQueUsr loadQaQueUsrById(long qaQueUsrId) { + return getQaQueUsrById(qaQueUsrId); + } + + public void createUsr(QaQueUsr usr) { + this.getSession().setFlushMode(FlushMode.AUTO); + this.getHibernateTemplate().save(usr); + } + + public void updateUsr(QaQueUsr usr) { + this.getSession().setFlushMode(FlushMode.AUTO); + this.getHibernateTemplate().update(usr); + } + + public void deleteQaQueUsr(QaQueUsr qaQueUsr) { + this.getSession().setFlushMode(FlushMode.AUTO); + this.getHibernateTemplate().delete(qaQueUsr); + } + + public int getTotalNumberOfUsers(QaContent qa) { + + int returnInt = 0; + if (qa != null && qa.getUid() != null) { + List result = getSession().createQuery(GET_USER_COUNT_FOR_CONTENT).setLong("uid", qa.getUid()).list(); + Integer resultInt = (result.get(0) != null) ? (Integer) result.get(0) : new Integer(0); + returnInt = resultInt.intValue(); + } else { + logger.error("Attempt to count users from null content"); + } + logger.debug("Number of users for quContent " +qa.getUid()+ ": " + returnInt); + return returnInt; + + /* + String strGetUser = "from qaQueUsr in class QaQueUsr"; + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(strGetUser).list(); + logger.debug("strGetUser: " + strGetUser); + logger.debug("qa: " + qa); + logger.debug("list: " + list); + + int totalUserCount = 0; + if (list != null && list.size() > 0) { + QaQueUsr usr = (QaQueUsr) list.get(0); + logger.debug("usr: " + usr); + logger.debug("local usr content uid versus incoming content uid: " + + usr.getQaSession().getQaContent().getUid().intValue() + " versus " + qa.getUid().intValue()); + + if (usr.getQaSession().getQaContent().getUid().intValue() == qa.getUid().intValue()) { + ++totalUserCount; + } + } + logger.debug("final totalUserCount: " + totalUserCount); + return totalUserCount; + */ + } + +} \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java =================================================================== diff -u -rf7b64c7ef2c9cd9db07f7d9c5569a1a663b3fc39 -r7b3e1eb125d38e4df23c247e25c27061adbaa269 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision f7b64c7ef2c9cd9db07f7d9c5569a1a663b3fc39) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 7b3e1eb125d38e4df23c247e25c27061adbaa269) @@ -126,29 +126,6 @@ } logger.debug("Number of users for quContent " +qa.getUid()+ ": " + returnInt); return returnInt; - - /* - String strGetUser = "from qaQueUsr in class QaQueUsr"; - HibernateTemplate templ = this.getHibernateTemplate(); - List list = getSession().createQuery(strGetUser).list(); - logger.debug("strGetUser: " + strGetUser); - logger.debug("qa: " + qa); - logger.debug("list: " + list); - - int totalUserCount = 0; - if (list != null && list.size() > 0) { - QaQueUsr usr = (QaQueUsr) list.get(0); - logger.debug("usr: " + usr); - logger.debug("local usr content uid versus incoming content uid: " - + usr.getQaSession().getQaContent().getUid().intValue() + " versus " + qa.getUid().intValue()); - - if (usr.getQaSession().getQaContent().getUid().intValue() == qa.getUid().intValue()) { - ++totalUserCount; - } - } - logger.debug("final totalUserCount: " + totalUserCount); - return totalUserCount; - */ } } \ No newline at end of file