Index: lams_contentrepository/build.xml =================================================================== diff -u -rd27804374e52e33cec49ef94b39ec2bf2ff603ae -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/build.xml (.../build.xml) (revision d27804374e52e33cec49ef94b39ec2bf2ff603ae) +++ lams_contentrepository/build.xml (.../build.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -168,22 +168,6 @@ --> - - - - - - - - - - - - @@ -213,12 +197,6 @@ - - - - - - @@ -350,7 +328,7 @@ - + Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrCredential.hbm.xml =================================================================== diff -u -rd425e72f4a45b00ef77cc0a6b7e2331a36907478 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrCredential.hbm.xml (.../CrCredential.hbm.xml) (revision d425e72f4a45b00ef77cc0a6b7e2331a36907478) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrCredential.hbm.xml (.../CrCredential.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,18 +1,14 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> - - + + - + /> Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNode.hbm.xml =================================================================== diff -u -rd425e72f4a45b00ef77cc0a6b7e2331a36907478 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNode.hbm.xml (.../CrNode.hbm.xml) (revision d425e72f4a45b00ef77cc0a6b7e2331a36907478) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNode.hbm.xml (.../CrNode.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,18 +1,14 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> @@ -36,7 +32,6 @@ type="java.lang.String" update="true" insert="true" - access="property" column="path" length="255" /> @@ -46,7 +41,6 @@ type="java.lang.String" update="true" insert="true" - access="property" column="type" length="255" not-null="true" @@ -57,17 +51,14 @@ type="java.sql.Timestamp" update="true" insert="true" - access="property" column="created_date_time" - length="14" /> @@ -78,7 +69,6 @@ outer-join="auto" update="true" insert="true" - access="property" > + /> - - + + - + /> Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml =================================================================== diff -u -rd425e72f4a45b00ef77cc0a6b7e2331a36907478 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml (.../CrNodeVersion.hbm.xml) (revision d425e72f4a45b00ef77cc0a6b7e2331a36907478) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml (.../CrNodeVersion.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,18 +1,14 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> @@ -36,7 +32,6 @@ type="java.lang.Long" update="true" insert="true" - access="property" column="version_id" length="20" not-null="true" @@ -47,7 +42,6 @@ type="java.sql.Timestamp" update="true" insert="true" - access="property" column="created_date_time" length="14" /> @@ -59,7 +53,6 @@ outer-join="auto" update="true" insert="true" - access="property" > + /> - - + + - + /> Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersionProperty.hbm.xml =================================================================== diff -u -rd425e72f4a45b00ef77cc0a6b7e2331a36907478 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersionProperty.hbm.xml (.../CrNodeVersionProperty.hbm.xml) (revision d425e72f4a45b00ef77cc0a6b7e2331a36907478) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersionProperty.hbm.xml (.../CrNodeVersionProperty.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,18 +1,14 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> @@ -36,7 +32,6 @@ type="java.lang.String" update="true" insert="true" - access="property" column="name" length="255" not-null="true" @@ -47,7 +42,6 @@ type="java.lang.String" update="true" insert="true" - access="property" column="value" length="255" not-null="true" @@ -58,7 +52,6 @@ type="int" update="true" insert="true" - access="property" column="type" length="3" not-null="true" @@ -71,7 +64,6 @@ outer-join="auto" update="true" insert="true" - access="property" > + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> @@ -36,7 +32,6 @@ type="java.lang.String" update="true" insert="true" - access="property" column="name" length="255" not-null="true" @@ -50,14 +45,14 @@ sort="unsorted" > - - + + - + /> @@ -69,14 +64,14 @@ sort="unsorted" > - - + + - + /> Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrWorkspaceCredential.hbm.xml =================================================================== diff -u -rd425e72f4a45b00ef77cc0a6b7e2331a36907478 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrWorkspaceCredential.hbm.xml (.../CrWorkspaceCredential.hbm.xml) (revision d425e72f4a45b00ef77cc0a6b7e2331a36907478) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrWorkspaceCredential.hbm.xml (.../CrWorkspaceCredential.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,18 +1,14 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> - + Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java =================================================================== diff -u -r0913afb336848e1d400326b0219be2a1d301cab8 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision 0913afb336848e1d400326b0219be2a1d301cab8) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -32,19 +32,15 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.contentrepository.AccessDeniedException; import org.lamsfoundation.lams.contentrepository.FileException; import org.lamsfoundation.lams.contentrepository.ITicket; import org.lamsfoundation.lams.contentrepository.IValue; import org.lamsfoundation.lams.contentrepository.IVersionedNode; -import org.lamsfoundation.lams.contentrepository.ItemNotFoundException; import org.lamsfoundation.lams.contentrepository.NodeType; import org.lamsfoundation.lams.contentrepository.PropertyName; import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; import org.lamsfoundation.lams.contentrepository.ValueFormatException; import org.lamsfoundation.lams.contentrepository.service.IRepositoryService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/ICredentialDAO.java =================================================================== diff -u -rd69fd0c0b6e3af330bb1ddbf3099022feca3f092 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/ICredentialDAO.java (.../ICredentialDAO.java) (revision d69fd0c0b6e3af330bb1ddbf3099022feca3f092) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/ICredentialDAO.java (.../ICredentialDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -25,8 +25,9 @@ import org.lamsfoundation.lams.contentrepository.ICredentials; import org.lamsfoundation.lams.contentrepository.IWorkspace; import org.lamsfoundation.lams.contentrepository.RepositoryRuntimeException; +import org.lamsfoundation.lams.learningdesign.dao.IBaseDAO; -public interface ICredentialDAO { +public interface ICredentialDAO extends IBaseDAO { /** Check the supplied credential to the workspace. * By doing the check at this level, the password does @@ -44,12 +45,6 @@ */ public abstract boolean checkCredential(ICredentials credential) throws RepositoryRuntimeException; - public abstract void insert(Object object); - - public abstract void update(Object object); - - public abstract void delete(Object object); - public abstract CrCredential findByName(String name); } Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/INodeDAO.java =================================================================== diff -u -r1492a6385b0f6e855ce08f2fe7570b4af8b53b21 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/INodeDAO.java (.../INodeDAO.java) (revision 1492a6385b0f6e855ce08f2fe7570b4af8b53b21) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/INodeDAO.java (.../INodeDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -20,29 +20,20 @@ */ package org.lamsfoundation.lams.contentrepository.dao; -import java.io.Serializable; import java.util.List; import org.lamsfoundation.lams.contentrepository.CrNode; import org.lamsfoundation.lams.contentrepository.CrNodeVersion; +import org.lamsfoundation.lams.learningdesign.dao.IBaseDAO; /** * Data access routines for Nodes, versions and properties * * @author Fiona Malikoff */ -public interface INodeDAO { +public interface INodeDAO extends IBaseDAO { - public Object find(Class objClass, Serializable id); - public void saveOrUpdate(Object object); - - public void update(Object object); - - public void delete(Object object); - - public List findAll(Class objClass); - public List findChildNodes(CrNodeVersion parentNodeVersion); public CrNode findChildNode(CrNodeVersion parentNodeVersion, String relPath); Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/IWorkspaceDAO.java =================================================================== diff -u -rd69fd0c0b6e3af330bb1ddbf3099022feca3f092 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/IWorkspaceDAO.java (.../IWorkspaceDAO.java) (revision d69fd0c0b6e3af330bb1ddbf3099022feca3f092) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/IWorkspaceDAO.java (.../IWorkspaceDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -25,14 +25,15 @@ import java.util.List; import org.lamsfoundation.lams.contentrepository.CrWorkspace; +import org.lamsfoundation.lams.learningdesign.dao.IBaseDAO; /** * Data access routines for Workspaces. * * @author Fiona Malikoff */ -public interface IWorkspaceDAO { +public interface IWorkspaceDAO extends IBaseDAO { /** Get a workspace. * @@ -61,12 +62,5 @@ */ public Object find(Class objClass, Serializable id); - public void insert(Object object); - - public void update(Object object); - - public void delete(Object object); - - public List findAll(Class objClass); } Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/CredentialDAO.java =================================================================== diff -u -rd69fd0c0b6e3af330bb1ddbf3099022feca3f092 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/CredentialDAO.java (.../CredentialDAO.java) (revision d69fd0c0b6e3af330bb1ddbf3099022feca3f092) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/CredentialDAO.java (.../CredentialDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -27,16 +27,15 @@ import java.sql.SQLException; import java.util.List; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; - import org.apache.log4j.Logger; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.contentrepository.CrCredential; import org.lamsfoundation.lams.contentrepository.ICredentials; import org.lamsfoundation.lams.contentrepository.IWorkspace; import org.lamsfoundation.lams.contentrepository.RepositoryRuntimeException; import org.lamsfoundation.lams.contentrepository.dao.ICredentialDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; /** @@ -46,7 +45,7 @@ * @author Fiona Malikoff * */ -public class CredentialDAO extends HibernateDaoSupport implements ICredentialDAO { +public class CredentialDAO extends BaseDAO implements ICredentialDAO { protected Logger log = Logger.getLogger(CredentialDAO.class); @@ -155,18 +154,6 @@ return credentialMatched; } - public void insert(Object object) { - this.getHibernateTemplate().save(object); - } - - public void update(Object object) { - this.getHibernateTemplate().update(object); - } - - public void delete(Object object) { - this.getHibernateTemplate().delete(object); - } - public CrCredential findByName(String name) { log.debug("Getting credential for name "+name); @@ -181,9 +168,4 @@ return (CrCredential)credentials.get(0); } } - public List findAll(Class objClass) { - String query="from obj in class " + objClass.getName(); - return this.getHibernateTemplate().find(query); - } - } Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/NodeDAO.java =================================================================== diff -u -r8fe03be36398979de21121946d3ce1139dd39680 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/NodeDAO.java (.../NodeDAO.java) (revision 8fe03be36398979de21121946d3ce1139dd39680) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/NodeDAO.java (.../NodeDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -21,14 +21,13 @@ package org.lamsfoundation.lams.contentrepository.dao.hibernate; -import java.io.Serializable; import java.util.List; import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.CrNode; import org.lamsfoundation.lams.contentrepository.CrNodeVersion; import org.lamsfoundation.lams.contentrepository.dao.INodeDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; @@ -37,30 +36,13 @@ * * @author Fiona Malikoff */ -public class NodeDAO extends HibernateDaoSupport implements INodeDAO { +public class NodeDAO extends BaseDAO implements INodeDAO { protected Logger log = Logger.getLogger(NodeDAO.class); - public Object find(Class objClass, Serializable id) { - return this.getHibernateTemplate().load(objClass,id); - } - public void saveOrUpdate(Object object) { this.getHibernateTemplate().saveOrUpdate(object); } - - public void update(Object object) { - this.getHibernateTemplate().update(object); - } - - public void delete(Object object) { - this.getHibernateTemplate().delete(object); - } - - public List findAll(Class objClass) { - String query="from obj in class " + objClass.getName(); - return this.getHibernateTemplate().find(query); - } /** Get all child nodes for a node/version. * Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/WorkspaceDAO.java =================================================================== diff -u -rd69fd0c0b6e3af330bb1ddbf3099022feca3f092 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/WorkspaceDAO.java (.../WorkspaceDAO.java) (revision d69fd0c0b6e3af330bb1ddbf3099022feca3f092) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/dao/hibernate/WorkspaceDAO.java (.../WorkspaceDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -30,8 +30,8 @@ import org.lamsfoundation.lams.contentrepository.CrWorkspace; import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; import org.lamsfoundation.lams.contentrepository.dao.IWorkspaceDAO; -import org.springframework.orm.hibernate.HibernateObjectRetrievalFailureException; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; +import org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException; @@ -40,7 +40,7 @@ * * @author Fiona Malikoff */ -public class WorkspaceDAO extends HibernateDaoSupport implements IWorkspaceDAO { +public class WorkspaceDAO extends BaseDAO implements IWorkspaceDAO { protected Logger log = Logger.getLogger(WorkspaceDAO.class); @@ -87,29 +87,13 @@ public Object find(Class objClass, Serializable id) { try { - return this.getHibernateTemplate().load(objClass,id); + return super.find(objClass,id); } catch (HibernateObjectRetrievalFailureException e ) { return null; } } - public void insert(Object object) { - this.getHibernateTemplate().save(object); - } - public void update(Object object) { - this.getHibernateTemplate().update(object); - } - - public void delete(Object object) { - this.getHibernateTemplate().delete(object); - } - - public List findAll(Class objClass) { - String query="from obj in class " + objClass.getName(); - return this.getHibernateTemplate().find(query); - } - public void flushSession() throws RepositoryCheckedException { try { getSession().flush(); Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleRepository.java =================================================================== diff -u -r8fe03be36398979de21121946d3ce1139dd39680 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleRepository.java (.../SimpleRepository.java) (revision 8fe03be36398979de21121946d3ce1139dd39680) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleRepository.java (.../SimpleRepository.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -738,7 +738,7 @@ // check that the previous version was a file node - error otherwise SimpleVersionedNode node = getNode(ticket.getWorkspaceId(),uuid,versionId); node.setProperty(name, value, type); - node.saveDB(null); + node.validateSaveDB(null); } /* (non-Javadoc) @@ -757,6 +757,7 @@ +"Please delete the parent. Node UUID "+uuid); } List problemPaths = latestNodeVersion.deleteNode(); + latestNodeVersion.saveDB(null); return problemPaths != null ? (String[]) problemPaths.toArray(new String[problemPaths.size()]) : new String[0]; @@ -775,6 +776,7 @@ // get the first version of the node and delete from there. SimpleVersionedNode nodeVersion = getNode(ticket.getWorkspaceId(),uuid,version); List problemPaths = nodeVersion.deleteVersion(); + nodeVersion.saveDB(null); return problemPaths != null ? (String[]) problemPaths.toArray(new String[problemPaths.size()]) : new String[0]; Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java =================================================================== diff -u -r36a3488f8517a3143da11d93f287c782f7e758bd -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java (.../SimpleVersionedNode.java) (revision 36a3488f8517a3143da11d93f287c782f7e758bd) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java (.../SimpleVersionedNode.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -58,7 +58,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; -import org.springframework.orm.hibernate.HibernateObjectRetrievalFailureException; /** @@ -187,12 +186,7 @@ node = null; nodeVersion = null; - try { - node = (CrNode) nodeDAO.find(CrNode.class, uuid); - - } catch (HibernateObjectRetrievalFailureException e ) { - } - + node = (CrNode) nodeDAO.find(CrNode.class, uuid); if ( node == null ) { throw new ItemNotFoundException("Node "+uuid+" not found."); @@ -365,9 +359,9 @@ return node.isNodeType(nodeTypeName); } - /** Get the history for this node. Quite intensive operation the - * first time it is run on a node as it has to build all the - * data structures. + /** Get the history for this node. Quite intensive operation + * as it has to build all the data structures. Can't be easily + * cached. * @return SortedSet of IVersionDetail objects, ordered by version */ public SortedSet getVersionHistory() { @@ -691,14 +685,24 @@ return node.getNodeId(); } - /** Just save the db changes to the current node. + + /** Validate the node and save the db changes to the current node. + * Do not use if there are files that have been updated - the validation may fail and we + * would end up in an odd state. + *

* If files have been added, please call Long save(String versionDescription, List childNodes). - * This method will validate the node and save the database changes - * @param versionDescription optional. If supplied will set the version description + * @param versionDescription optional. If supplied will set the version description */ - protected void saveDB(String versionDescription) throws ValidationException { + protected void validateSaveDB(String versionDescription) throws ValidationException { validateNode(); + saveDB(versionDescription); + } + /** Just save the db changes to the current node. See validateSaveDB() + * @param versionDescription optional. If supplied will set the version description + */ + protected void saveDB(String versionDescription) { + // nodeDAO to take care of insert or update (uses saveOrUpdate) // the nodeVersion and nodeVersionProperty collections cascade // updates and deletes, so we can just save the node! @@ -927,15 +931,17 @@ NodeKey nk = getNodeKey(); if ( node.getCrNodeVersions() != null ) { - node.getCrNodeVersions().remove(nodeVersion); + boolean removed = node.removeCrNodeVersion(nodeVersion); + if ( removed ) { + nodeKeysDeleted.add(nk); + } } // if this was the last version for the node, delete the node if ( node.getCrNodeVersions() == null || node.getCrNodeVersions().size() == 0 ) { nodeDAO.delete(node); } - nodeKeysDeleted.add(nk); } /* ********************************************************** Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java =================================================================== diff -u -r36a3488f8517a3143da11d93f287c782f7e758bd -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java (.../TestToolContentHandlerImpl.java) (revision 36a3488f8517a3143da11d93f287c782f7e758bd) +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java (.../TestToolContentHandlerImpl.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -56,42 +56,42 @@ handler = null; } - public void testGetRepositoryWorkspaceName() { - assertEquals(handler.repositoryWorkspace,handler.getRepositoryWorkspaceName()); - } +// public void testGetRepositoryWorkspaceName() { +// assertEquals(handler.repositoryWorkspace,handler.getRepositoryWorkspaceName()); +// } +// +// public void testGetRepositoryUser() { +// assertEquals(handler.repositoryUser,handler.getRepositoryUser()); +// } +// +// public void testGetRepositoryId() { +// assertEquals(handler.repositoryId,handler.getRepositoryId()); +// } +// +// public void testGetRepositoryService() { +// try { +// assertNotNull(handler.getRepositoryService()); +// } catch ( Exception e ) { +// e.printStackTrace(); +// fail("getRepService() threw exception "+e.getMessage()); +// } +// } +// +// public void testGetTicket() { +// try { +// ITicket ticket1 = handler.getTicket(false); +// // repeat call using false should get same ticket; +// ITicket ticket2 = handler.getTicket(false); +// assertSame(ticket1, ticket2); +// // repeat call using true should get new ticket; +// ITicket ticket3 = handler.getTicket(true); +// assertNotSame(ticket1, ticket3); +// } catch ( Exception e ) { +// e.printStackTrace(); +// fail("getRepositoryId() threw exception "+e.getMessage()); +// } +// } - public void testGetRepositoryUser() { - assertEquals(handler.repositoryUser,handler.getRepositoryUser()); - } - - public void testGetRepositoryId() { - assertEquals(handler.repositoryId,handler.getRepositoryId()); - } - - public void testGetRepositoryService() { - try { - assertNotNull(handler.getRepositoryService()); - } catch ( Exception e ) { - e.printStackTrace(); - fail("getRepService() threw exception "+e.getMessage()); - } - } - - public void testGetTicket() { - try { - ITicket ticket1 = handler.getTicket(false); - // repeat call using false should get same ticket; - ITicket ticket2 = handler.getTicket(false); - assertSame(ticket1, ticket2); - // repeat call using true should get new ticket; - ITicket ticket3 = handler.getTicket(true); - assertNotSame(ticket1, ticket3); - } catch ( Exception e ) { - e.printStackTrace(); - fail("getRepositoryId() threw exception "+e.getMessage()); - } - } - /* Creates an offline and online file, checks that the properties are correct and then deletes them. */ public void testUploadFile() { try { @@ -109,7 +109,7 @@ handler.deleteFile(uuid); try { node = handler.getFileNode(uuid); - // fail("Expected ItemNotFoundException to be thrown when trying to access deleted offline file."); + fail("Expected ItemNotFoundException to be thrown when trying to access deleted offline file."); } catch (ItemNotFoundException ie) { assertTrue("Offline node cannot be retrieved after deletion",true); } Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java =================================================================== diff -u -r36a3488f8517a3143da11d93f287c782f7e758bd -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java (.../TestSimpleRepository.java) (revision 36a3488f8517a3143da11d93f287c782f7e758bd) +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java (.../TestSimpleRepository.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -237,8 +237,8 @@ checkFileNodeExist(fileDAO, keys.getUuid(), two, 2); deleteVersion(keys.getUuid(), two); - checkFileNodeExist(fileDAO, keys.getUuid(), one, 1); checkFileNodeDoesNotExist(fileDAO, keys.getUuid(), two, 1); + checkFileNodeExist(fileDAO, keys.getUuid(), one, 1); deleteVersion(keys.getUuid(), one); checkFileNodeDoesNotExist(fileDAO, keys.getUuid(), one, 0); Index: lams_monitoring/build.xml =================================================================== diff -u -rcf180d3aba89be0c4fba3f8c8f58dd50181de8c6 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/build.xml (.../build.xml) (revision cf180d3aba89be0c4fba3f8c8f58dd50181de8c6) +++ lams_monitoring/build.xml (.../build.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -127,12 +127,14 @@ - - + + + + Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -rf7b2dd6bd944a7f6286aeb748e999020b7b01a9b -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision f7b2dd6bd944a7f6286aeb748e999020b7b01a9b) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -88,7 +88,10 @@ /** * Set the gate to open to let all the learners through. This learning service - * is triggerred by the system scheduler. + * is triggerred by the system scheduler. Will return true GateActivity (or subclass) + * object, rather than a hibernate proxy. This is needed so that the class can + * be returned to the web layer for proper handling. + * * @param gate the id of the gate we need to open. */ public GateActivity openGate(Long gateId); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== diff -u -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 83751ccbd9c0d7db4e1c2f3e027646c41de5c29a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -77,7 +77,7 @@ * @struts.action-exception key="error.system.monitor" scope="request" * type="org.lamsfoundation.lams.monitoring.service.MonitoringServiceException" * path=".systemError" - * handler="org.lamsfoundation.lams.util.CustomStrutsExceptionHandler" + * handler="org.lamsfoundation.lams.web.util.CustomStrutsExceptionHandler" * @struts:action-forward name="viewSynchGate" path=".viewSynchGate" * @struts:action-forward name="viewPermissionGate" path=".viewPermissionGate" * @struts:action-forward name="viewScheduleGate" path=".viewScheduleGate" @@ -144,12 +144,14 @@ { DynaActionForm gateForm = (DynaActionForm)form; + long lessonId = WebUtil.readLongParam(request,PARAM_LESSON_ID); + + Long gateIdLong = (Long)gateForm.get("activityId"); + long gateId = WebUtil.checkLong("activityId", gateIdLong); + this.monitoringService = MonitoringServiceProxy.getMonitoringService(getServlet().getServletContext()); this.learnerService = MonitoringServiceProxy.getLearnerService(getServlet().getServletContext()); - long gateId = ((Long)gateForm.get("activityId")).longValue(); - long lessonId = WebUtil.readLongParam(request,PARAM_LESSON_ID); - Activity gate = monitoringService.getActivityById(gateId); //setup the total learners Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -rf7b2dd6bd944a7f6286aeb748e999020b7b01a9b -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision f7b2dd6bd944a7f6286aeb748e999020b7b01a9b) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -57,7 +57,7 @@ * @struts.action-exception key="error.system.monitor" scope="request" * type="org.lamsfoundation.lams.monitoring.service.MonitoringServiceException" * path=".systemError" - * handler="org.lamsfoundation.lams.util.CustomStrutsExceptionHandler" + * handler="org.lamsfoundation.lams.web.util.CustomStrutsExceptionHandler" * @struts:action-forward name="scheduler" path="/TestScheduler.jsp" * @struts.action-forward name = "success" path = "/index.jsp" * Index: lams_monitoring/test/java/log4j.properties =================================================================== diff -u -r214a1446ca64680e16978f703dab68540a1c8a68 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/test/java/log4j.properties (.../log4j.properties) (revision 214a1446ca64680e16978f703dab68540a1c8a68) +++ lams_monitoring/test/java/log4j.properties (.../log4j.properties) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,4 +1,4 @@ -log4j.rootLogger=INFO,stdout +log4j.rootLogger=ERROR,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n \ No newline at end of file Index: lams_monitoring/test/web/WEB-INF/spring/applicationContext.xml =================================================================== diff -u -r9f3dd3ba6a4a04baca65a99516e36e5e47e0e962 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/test/web/WEB-INF/spring/applicationContext.xml (.../applicationContext.xml) (revision 9f3dd3ba6a4a04baca65a99516e36e5e47e0e962) +++ lams_monitoring/test/web/WEB-INF/spring/applicationContext.xml (.../applicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -34,7 +34,7 @@ - + Index: lams_monitoring/test/web/WEB-INF/web.xml =================================================================== diff -u -rb6df3bbcefaf4633858d1d3161063abc3b620e7e -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_monitoring/test/web/WEB-INF/web.xml (.../web.xml) (revision b6df3bbcefaf4633858d1d3161063abc3b620e7e) +++ lams_monitoring/test/web/WEB-INF/web.xml (.../web.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -61,7 +61,7 @@ HibernateFilter - org.springframework.orm.hibernate.support.OpenSessionInViewFilter + org.springframework.orm.hibernate3.support.OpenSessionInViewFilter sessionFactoryBeanName coreSessionFactory Index: lams_tool_forum/build.xml =================================================================== diff -u -r3f881fb4927d02d9e124d95c09f15035a89b495b -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_forum/build.xml (.../build.xml) (revision 3f881fb4927d02d9e124d95c09f15035a89b495b) +++ lams_tool_forum/build.xml (.../build.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -92,7 +92,7 @@ - + Index: lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/GenericEntity.hbm.xml =================================================================== diff -u -re16f09694ef763b1acafa32958762c90332b8228 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/GenericEntity.hbm.xml (.../GenericEntity.hbm.xml) (revision e16f09694ef763b1acafa32958762c90332b8228) +++ lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/GenericEntity.hbm.xml (.../GenericEntity.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,8 +1,8 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> Index: lams_tool_forum/src/java/forumApplicationContext.xml =================================================================== diff -u -rb463a05bbf22f9ae4ed2382974ea2f79d8b4709f -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_forum/src/java/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision b463a05bbf22f9ae4ed2382974ea2f79d8b4709f) +++ lams_tool_forum/src/java/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -3,7 +3,7 @@ - + Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/GenericEntityDao.java =================================================================== diff -u -rbf0ceea359eb9a912512c325cd8e5ced14872b29 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/GenericEntityDao.java (.../GenericEntityDao.java) (revision bf0ceea359eb9a912512c325cd8e5ced14872b29) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/GenericEntityDao.java (.../GenericEntityDao.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,12 +1,11 @@ package org.lamsfoundation.lams.tool.forum.persistence; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; +import org.hibernate.HibernateException; +import org.hibernate.Session; import java.util.List; -import java.util.Date; /** * @author conradb Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java =================================================================== diff -u -r5ba75a338c76b23778bf80ab835209d38e2316cb -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision 5ba75a338c76b23778bf80ab835209d38e2316cb) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaContentDAO.java (.../QaContentDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,20 +1,35 @@ -/* - * Created on 15/03/2005 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ***********************************************************************/ + package org.lamsfoundation.lams.tool.qa.dao.hibernate; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; - import org.apache.log4j.Logger; +import org.hibernate.Hibernate; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.dao.IQaContentDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** @@ -106,11 +121,16 @@ this.getHibernateTemplate().deleteAll(qaContent.getQaSessions()); } - public void removeQa(Long qaId) + public void removeQa(Long qaContentId) { - String query = "from qa in class org.lamsfoundation.lams.tool.qa.QaContent" - + " where qa.qaContentId = ?"; - this.getHibernateTemplate().delete(query,qaId,Hibernate.LONG); + if ( qaContentId != null ) { + String query = "from qa in class org.lamsfoundation.lams.tool.qa.QaContent" + + " where qa.qaContentId = ?"; + Object obj = getSession().createQuery(query) + .setLong(0,qaContentId.longValue()) + .uniqueResult(); + getHibernateTemplate().delete(obj); + } } public void deleteQa(QaContent qaContent) @@ -120,9 +140,7 @@ public void removeQaById(Long qaId) { - String query = "from qa in class org.lamsfoundation.lams.tool.qa.QaContent" - + " where qa.qaContentId = ?"; - this.getHibernateTemplate().delete(query,qaId,Hibernate.LONG); + removeQa(qaId); } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java (.../QaQueContentDAO.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueContentDAO.java (.../QaQueContentDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,22 +1,38 @@ -/* - * Created on 15/03/2005 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ***********************************************************************/ + package org.lamsfoundation.lams.tool.qa.dao.hibernate; import java.util.List; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaQueContent; import org.lamsfoundation.lams.tool.qa.dao.IQaQueContentDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java =================================================================== diff -u -r5ba75a338c76b23778bf80ab835209d38e2316cb -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 5ba75a338c76b23778bf80ab835209d38e2316cb) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaQueUsrDAO.java (.../QaQueUsrDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -10,7 +10,7 @@ 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.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java =================================================================== diff -u -r5ba75a338c76b23778bf80ab835209d38e2316cb -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision 5ba75a338c76b23778bf80ab835209d38e2316cb) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaSessionDAO.java (.../QaSessionDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -25,7 +25,7 @@ import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaSession; import org.lamsfoundation.lams.tool.qa.dao.IQaSessionDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUploadedFileDAO.java =================================================================== diff -u -r5137b070eb144e247a323c143293151ca039f1b6 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUploadedFileDAO.java (.../QaUploadedFileDAO.java) (revision 5137b070eb144e247a323c143293151ca039f1b6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUploadedFileDAO.java (.../QaUploadedFileDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,20 +1,34 @@ -/* - * Created on 15/03/2005 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ***********************************************************************/ + package org.lamsfoundation.lams.tool.qa.dao.hibernate; import java.util.List; -import net.sf.hibernate.Hibernate; - import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.qa.QaContent; import org.lamsfoundation.lams.tool.qa.QaUploadedFile; import org.lamsfoundation.lams.tool.qa.dao.IQaUploadedFileDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** @@ -83,9 +97,17 @@ public void removeUploadFile(Long submissionId) { - String query = "from uploadedFile in class org.lamsfoundation.lams.tool.qa.QaUploadedFile" + if (submissionId != null ) { + + String query = "from uploadedFile in class org.lamsfoundation.lams.tool.qa.QaUploadedFile" + " where uploadedFile.submissionId = ?"; - this.getHibernateTemplate().delete(query,submissionId,Hibernate.LONG); + Object obj = this.getSession().createQuery(query) + .setLong(0,submissionId.longValue()) + .uniqueResult(); + if ( obj != null ) { + this.getHibernateTemplate().delete(obj); + } + } } public List retrieveQaUploadedFiles(QaContent qa, boolean fileOnline) Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java =================================================================== diff -u -r5ba75a338c76b23778bf80ab835209d38e2316cb -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 5ba75a338c76b23778bf80ab835209d38e2316cb) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/QaUsrRespDAO.java (.../QaUsrRespDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -20,12 +20,12 @@ */ package org.lamsfoundation.lams.tool.qa.dao.hibernate; -import net.sf.hibernate.Hibernate; +import org.hibernate.Hibernate; import org.lamsfoundation.lams.tool.qa.QaQueUsr; import org.lamsfoundation.lams.tool.qa.QaUsrResp; import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** @@ -78,9 +78,16 @@ public void removeUserResponseByQaQueId(Long qaQueId) { - String query = "from resp in class org.lamsfoundation.lams.tool.qa.QaUsrResp" - + " where resp.qaQueContentId = ?"; - this.getHibernateTemplate().delete(query,qaQueId,Hibernate.LONG); + if ( qaQueId != null ) { + String query = "from resp in class org.lamsfoundation.lams.tool.qa.QaUsrResp" + + " where resp.qaQueContentId = ?"; + Object obj = getSession().createQuery(query) + .setLong(0,qaQueId.longValue()) + .uniqueResult(); + if ( obj != null ) { + getHibernateTemplate().delete(obj); + } + } } } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml =================================================================== diff -u -r53f95943f108416112dc2532657f7b0e93cf58ed -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 53f95943f108416112dc2532657f7b0e93cf58ed) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -13,7 +13,7 @@ - + Index: lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/testqaApplicationContext.xml =================================================================== diff -u -r69d3b8ec6001bdaa284a45a78ac481fc41ffed02 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/testqaApplicationContext.xml (.../testqaApplicationContext.xml) (revision 69d3b8ec6001bdaa284a45a78ac481fc41ffed02) +++ lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/testqaApplicationContext.xml (.../testqaApplicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -31,7 +31,7 @@ - + @@ -58,7 +58,7 @@ - + Index: lams_tool_laqa/test/web/WEB-INF/tiles/tiles-defs.xml =================================================================== diff -u -rf32464a75932af671c6649902b7a3a23f2087789 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_laqa/test/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision f32464a75932af671c6649902b7a3a23f2087789) +++ lams_tool_laqa/test/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,4 +1,9 @@ + + + - + Index: lams_tool_nb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/noticeboard/NoticeboardAttachment.hbm.xml =================================================================== diff -u -ra2879d5fc870daa4732c0c9bf65cce24c0832c9f -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/noticeboard/NoticeboardAttachment.hbm.xml (.../NoticeboardAttachment.hbm.xml) (revision a2879d5fc870daa4732c0c9bf65cce24c0832c9f) +++ lams_tool_nb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/noticeboard/NoticeboardAttachment.hbm.xml (.../NoticeboardAttachment.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,7 +1,7 @@ + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > - + Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardAttachmentDAO.java =================================================================== diff -u -rc37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardAttachmentDAO.java (.../NoticeboardAttachmentDAO.java) (revision c37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardAttachmentDAO.java (.../NoticeboardAttachmentDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -9,7 +9,7 @@ import org.lamsfoundation.lams.tool.noticeboard.NoticeboardAttachment; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardAttachmentDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author mtruong * Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardContentDAO.java =================================================================== diff -u -rc37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardContentDAO.java (.../NoticeboardContentDAO.java) (revision c37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardContentDAO.java (.../NoticeboardContentDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -24,13 +24,13 @@ import java.util.List; import java.lang.Long; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession; import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardContentDAO; -import org.springframework.orm.hibernate.HibernateCallback; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author mtruong Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardSessionDAO.java =================================================================== diff -u -rc37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardSessionDAO.java (.../NoticeboardSessionDAO.java) (revision c37fcfa0e8e9c09a5ada45fba5af63e43b2bbef1) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardSessionDAO.java (.../NoticeboardSessionDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -22,16 +22,16 @@ package org.lamsfoundation.lams.tool.noticeboard.dao.hibernate; import java.util.List; -import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession; + +import org.hibernate.HibernateException; +import org.hibernate.Session; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; +import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardUser; import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardSessionDAO; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; -import org.springframework.orm.hibernate.HibernateCallback; +import org.springframework.orm.hibernate3.HibernateCallback; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; - /** * @author mtruong *

Hibernate implementation for database access to Noticeboard sessions for the noticeboard tool.

@@ -138,7 +138,7 @@ user.setNbSession(session); session.getNbUsers().add(user); this.getHibernateTemplate().saveOrUpdate(user); - this.getHibernateTemplate().saveOrUpdateCopy(session); + this.getHibernateTemplate().merge(session); } /** @see org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardSessionDAO#getSessionsFromContent(org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession) */ Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java =================================================================== diff -u -r981a75a7b464b24a0bd26b9864624fd34c534607 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java (.../NoticeboardUserDAO.java) (revision 981a75a7b464b24a0bd26b9864624fd34c534607) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dao/hibernate/NoticeboardUserDAO.java (.../NoticeboardUserDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -28,7 +28,7 @@ import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardUserDAO; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardUser; -import org.springframework.orm.hibernate.support.HibernateDaoSupport; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession; /** Index: lams_tool_nb/test/java/org/lamsfoundation/lams/tool/noticeboard/testApplicationContext.xml =================================================================== diff -u -r09f53aadc7e65fbbda0d3dc592c50621ac578a81 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_nb/test/java/org/lamsfoundation/lams/tool/noticeboard/testApplicationContext.xml (.../testApplicationContext.xml) (revision 09f53aadc7e65fbbda0d3dc592c50621ac578a81) +++ lams_tool_nb/test/java/org/lamsfoundation/lams/tool/noticeboard/testApplicationContext.xml (.../testApplicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -15,7 +15,7 @@
- + @@ -27,7 +27,7 @@ - net.sf.hibernate.dialect.MySQLDialect + org.hibernate.dialect.MySQLDialect false 5 20 @@ -40,7 +40,7 @@ - + Index: lams_tool_sbmt/build.xml =================================================================== diff -u -rcfcd445868e0ba8f15be9dffdbd1e2b1ea062816 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/build.xml (.../build.xml) (revision cfcd445868e0ba8f15be9dffdbd1e2b1ea062816) +++ lams_tool_sbmt/build.xml (.../build.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -137,7 +137,7 @@
- + Index: lams_tool_sbmt/conf/xdoclet/filters.xml =================================================================== diff -u -r0b91d14af990013a1f529eca5d701ebe37a5fc73 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/conf/xdoclet/filters.xml (.../filters.xml) (revision 0b91d14af990013a1f529eca5d701ebe37a5fc73) +++ lams_tool_sbmt/conf/xdoclet/filters.xml (.../filters.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,7 +1,7 @@ hibernateFilter - org.springframework.orm.hibernate.support.OpenSessionInViewFilter + org.springframework.orm.hibernate3.support.OpenSessionInViewFilter sessionFactoryBeanName Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java =================================================================== diff -u -r21677c773e9f0c7e903336013ada9985c2e05800 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java (.../LearnerDAO.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java (.../LearnerDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -23,9 +23,9 @@ import java.util.ArrayList; import java.util.List; -import net.sf.hibernate.FlushMode; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.type.Type; +import org.hibernate.FlushMode; +import org.hibernate.Hibernate; +import org.hibernate.type.Type; import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; import org.lamsfoundation.lams.tool.sbmt.Learner; @@ -41,14 +41,13 @@ " where user_id=? AND session_id=?"; public Learner getLearner(Long sessionID, Long userID) { - List list = this.getHibernateTemplate(). - find(FIND_BY_USER_ID_SESSION_ID, - new Object[]{userID, sessionID}, - new Type[]{Hibernate.LONG,Hibernate.LONG}); - if(list != null && list.size() > 0) - return (Learner)list.get(0) ; - else - return null; + if ( sessionID != null && userID != null ) { + return (Learner) this.getSession().createQuery(FIND_BY_USER_ID_SESSION_ID) + .setLong(0, userID.longValue()) + .setLong(1, sessionID.longValue()) + .uniqueResult(); + } + return null; } /* (non-Javadoc) @@ -70,16 +69,16 @@ } public List getSubmissionDetailsForUserBySession(Long userID, Long sessionID) { - List learnerList = this.getHibernateTemplate().find(FIND_FOR_USER_BY_SESSION, - new Object[]{userID, sessionID}, - new Type[]{Hibernate.LONG,Hibernate.LONG}); - List list = null; - if(learnerList != null && learnerList.size() > 0){ - Learner learner = (Learner) learnerList.get(0); - if(learner != null && learner.getSubmissionDetails() != null) - list = new ArrayList(learner.getSubmissionDetails()); + if ( userID != null && sessionID != null ) { + Learner learner = (Learner) this.getSession().createQuery(FIND_FOR_USER_BY_SESSION) + .setLong(0, userID.longValue()) + .setLong(1, sessionID.longValue()) + .uniqueResult(); + if(learner != null && learner.getSubmissionDetails() != null) { + return new ArrayList(learner.getSubmissionDetails()); + } } - return list; + return null; } } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java =================================================================== diff -u -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -8,17 +8,17 @@ import java.util.List; -import net.sf.hibernate.FlushMode; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.HibernateException; -import net.sf.hibernate.Session; -import net.sf.hibernate.type.Type; +import org.hibernate.FlushMode; +import org.hibernate.Hibernate; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.type.Type; import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; import org.lamsfoundation.lams.tool.sbmt.SubmissionDetails; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesSession; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmissionDetailsDAO; -import org.springframework.orm.hibernate.HibernateCallback; +import org.springframework.orm.hibernate3.HibernateCallback; /** * @author Manpreet Minhas @@ -83,9 +83,11 @@ * @see org.lamsfoundation.lams.tool.sbmt.dao.ISubmissionDetailsDAO#getSubmissionDetailsBySession(java.lang.Long) */ public List getSubmissionDetailsBySession(Long sessionID) { - List list = this.getHibernateTemplate().find(FIND_BY_SESSION, - new Object[]{sessionID}, - new Type[]{Hibernate.LONG}); - return list; + if ( sessionID != null ) { + return this.getSession().createQuery(FIND_BY_SESSION) + .setLong(0, sessionID.longValue()) + .list(); + } + return null; } } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesContentDAO.java =================================================================== diff -u -r496ea8c9fb835a69057f28bbdfa2f2749b6f297c -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesContentDAO.java (.../SubmitFilesContentDAO.java) (revision 496ea8c9fb835a69057f28bbdfa2f2749b6f297c) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesContentDAO.java (.../SubmitFilesContentDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -1,22 +1,35 @@ -/* - * Created on May 30, 2005 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * + * 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; either version 2 of the License, or + * (at your option) any later version. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** */ package org.lamsfoundation.lams.tool.sbmt.dao.hibernate; import java.util.List; -import net.sf.hibernate.FlushMode; -import net.sf.hibernate.Hibernate; -import net.sf.hibernate.type.Type; - +import org.hibernate.FlushMode; import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; import org.lamsfoundation.lams.tool.sbmt.InstructionFiles; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesContentDAO; -import org.springframework.orm.hibernate.HibernateTemplate; +import org.springframework.orm.hibernate3.HibernateTemplate; /** * @author Manpreet Minhas @@ -44,14 +57,21 @@ public void deleteInstructionFile(Long contentID, Long uuid, Long versionID, String type) { HibernateTemplate templ = this.getHibernateTemplate(); - List list = templ.find(FIND_INSTRUCTION_FILE,new Object[]{contentID,uuid,versionID,type} - ,new Type[]{Hibernate.LONG,Hibernate.LONG,Hibernate.LONG,Hibernate.STRING}); - if(list != null && list.size() > 0){ - InstructionFiles file = (InstructionFiles) list.get(0); - this.getSession().setFlushMode(FlushMode.AUTO); - templ.delete(file); - templ.flush(); + if ( contentID != null && uuid != null && versionID != null ) { + List list = getSession().createQuery(FIND_INSTRUCTION_FILE) + .setLong(0,contentID.longValue()) + .setLong(1,uuid.longValue()) + .setLong(2,versionID.longValue()) + .setString(3,type) + .list(); + if(list != null && list.size() > 0){ + InstructionFiles file = (InstructionFiles) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(file); + templ.flush(); + } } } + } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesReportDAO.java =================================================================== diff -u -r75de919817a4bfa05924724631118b092da74cf7 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesReportDAO.java (.../SubmitFilesReportDAO.java) (revision 75de919817a4bfa05924724631118b092da74cf7) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmitFilesReportDAO.java (.../SubmitFilesReportDAO.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -8,8 +8,7 @@ import java.util.List; -import net.sf.hibernate.FlushMode; - +import org.hibernate.FlushMode; import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesReport; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesReportDAO; Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== diff -u -r400b01498f92003243dfe91f424d0f4e44263874 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 400b01498f92003243dfe91f424d0f4e44263874) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -213,8 +213,10 @@ throw new ToolException( "Failed to create the SubmitFiles tool seession"); - SubmitFilesContent fromContent = submitFilesContentDAO - .getContentByID(fromContentId); + SubmitFilesContent fromContent = submitFilesContentDAO.getContentByID(fromContentId); + if ( fromContent == null ) { + // TODO need to get default content here!!! + } SubmitFilesContent toContent = (SubmitFilesContent) fromContent.clone(); //reset some new attributes for toContent toContent.setContentID(toContentId); @@ -293,8 +295,7 @@ * @see org.lamsfoundation.lams.tool.ToolContentManager#removeToolContent(java.lang.Long) */ public void removeToolContent(Long toolContentId, boolean removeSessionData)throws DataMissingException { - SubmitFilesContent submitFilesContent = submitFilesContentDAO - .getContentByID(toolContentId); + SubmitFilesContent submitFilesContent = submitFilesContentDAO.getContentByID(toolContentId); if (submitFilesContent == null) throw new DataMissingException( "No such content with a contentID of : " + toolContentId @@ -342,8 +343,11 @@ try { content = submitFilesContentDAO.getContentByID(contentID); } catch (Exception e) { - log.error("Could not find the content by givn ID:"+contentID+". Excpetion is " + e); + log.error("Could not find the content by given ID:"+contentID+". Excpetion is " + e); } + if ( content == null ) + log.error("Could not find the content by given ID:"+contentID); + return content; } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml =================================================================== diff -u -r53f95943f108416112dc2532657f7b0e93cf58ed -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml (.../submitFilesApplicationContext.xml) (revision 53f95943f108416112dc2532657f7b0e93cf58ed) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml (.../submitFilesApplicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -7,7 +7,7 @@ - + Index: lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/service/TestSubmitFilesService.java =================================================================== diff -u -rcd4c4671fd22ddbc11b5ffded95c721f52242c28 -r6e5832d17263bc6c6f7683733e91e22f97eab569 --- lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/service/TestSubmitFilesService.java (.../TestSubmitFilesService.java) (revision cd4c4671fd22ddbc11b5ffded95c721f52242c28) +++ lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/service/TestSubmitFilesService.java (.../TestSubmitFilesService.java) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) @@ -30,7 +30,6 @@ import org.lamsfoundation.lams.tool.sbmt.dao.ISubmissionDetailsDAO; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesContentDAO; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesSessionDAO; -import org.springframework.orm.hibernate.HibernateObjectRetrievalFailureException; /** * Note: this test sets up tool content ids and tool session ids that @@ -133,19 +132,11 @@ } // Records should still exist - try{ - SubmitFilesContent content = submitFilesContentDAO.getContentByID(toolContentId); - assertNotNull("Tool content data", content); - }catch(HibernateObjectRetrievalFailureException he){ - fail("Tool content has been marked as deleted - should not have been deleted"); - } + SubmitFilesContent content = submitFilesContentDAO.getContentByID(toolContentId); + assertNotNull("Tool content data", content); - try{ - SubmitFilesSession session = submitFilesSessionDAO.getSessionByID(sessionContentId); - assertNotNull("Tool session data", session); - }catch(HibernateObjectRetrievalFailureException he){ - fail("Tool session has been marked as deleted - should not have been deleted"); - } + SubmitFilesSession session = submitFilesSessionDAO.getSessionByID(sessionContentId); + assertNotNull("Tool session data", session); // This time remove the session data too! try { @@ -158,19 +149,11 @@ fail("Tool exception thrown deleting the content toolContentId="+toolContentId); } - try{ - submitFilesContentDAO.getContentByID(toolContentId); - fail("Exception should be raised because content object has already been deleted"); - }catch(HibernateObjectRetrievalFailureException he){ - assertTrue("Tool Content has been deleted as expected", true); - } + SubmitFilesContent content2 = submitFilesContentDAO.getContentByID(toolContentId); + assertNull("Tool Content has been deleted as expected", content2); - try{ - submitFilesSessionDAO.getSessionByID(sessionContentId); - fail("Exception should be raised because session object has already been deleted"); - }catch(HibernateObjectRetrievalFailureException he){ - assertTrue("Tool session has been deleted as expected", true); - } + SubmitFilesSession session2 = submitFilesSessionDAO.getSessionByID(sessionContentId); + assertNull("Tool session has been deleted as expected", session2); } @@ -190,12 +173,8 @@ fail("Tool exception thrown deleting the content toolContentId="+toolContentId); } - try{ - submitFilesContentDAO.getContentByID(toolContentId); - fail("Exception should be raised because content object has already been deleted"); - }catch(HibernateObjectRetrievalFailureException he){ - assertTrue("Tool Content has been deleted as expected", true); - } + SubmitFilesContent content2 = submitFilesContentDAO.getContentByID(toolContentId); + assertNull("Tool Content has been deleted as expected", content2); }