Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml
===================================================================
diff -u
--- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml (revision 0)
+++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_tool_lamc/db/sql/create_lams_tool_lamc.sql
===================================================================
diff -u -r62fed58c7feaf586a7f6ae9b6f2aa91fad04e1d3 -rbb83942110559f64ba9533b04ff6aba89d145c26
--- lams_tool_lamc/db/sql/create_lams_tool_lamc.sql (.../create_lams_tool_lamc.sql) (revision 62fed58c7feaf586a7f6ae9b6f2aa91fad04e1d3)
+++ lams_tool_lamc/db/sql/create_lams_tool_lamc.sql (.../create_lams_tool_lamc.sql) (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -97,3 +97,15 @@
REFERENCES lams.tl_lamc11_options_content (uid)
)TYPE=InnoDB;
+CREATE TABLE lams.tl_lamc11_uploadedFile (
+ uid BIGINT(20) NOT NULL AUTO_INCREMENT
+ , uuid VARCHAR(255) NOT NULL
+ , mc_content_id BIGINT(20) NOT NULL
+ , isOnline_File TINYINT(1) NOT NULL
+ , filename VARCHAR(255) NOT NULL
+ , PRIMARY KEY (uid)
+ , INDEX (mc_content_id)
+ , CONSTRAINT FK_tl_lamc11_uploadedFile FOREIGN KEY (mc_content_id)
+ REFERENCES lams.tl_lamc11_content (uid)
+)TYPE=InnoDB;
+
Index: lams_tool_lamc/db/sql/delete_lams_tool_lamc.sql
===================================================================
diff -u -rd5c5282b3010b7ca8605cfa64012c5ecff95880e -rbb83942110559f64ba9533b04ff6aba89d145c26
--- lams_tool_lamc/db/sql/delete_lams_tool_lamc.sql (.../delete_lams_tool_lamc.sql) (revision d5c5282b3010b7ca8605cfa64012c5ecff95880e)
+++ lams_tool_lamc/db/sql/delete_lams_tool_lamc.sql (.../delete_lams_tool_lamc.sql) (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -1,14 +1,14 @@
-DELETE FROM lams.tl_lamc11_usr_attempt;
+DELETE FROM lams.tl_lamc11_usr_attempt;
DELETE FROM lams.tl_lamc11_options_content;
DELETE FROM lams.tl_lamc11_que_content;
DELETE FROM lams.tl_lamc11_que_usr;
DELETE FROM lams.tl_lamc11_session;
DELETE FROM lams.tl_lamc11_content;
+DELETE FROM lams.tl_lamc11_uploadedFile;
-
Index: lams_tool_lamc/db/sql/drop_lams_tool_lamc.sql
===================================================================
diff -u -r178606a4aa93f09db1297061c8165ebe14ad9776 -rbb83942110559f64ba9533b04ff6aba89d145c26
--- lams_tool_lamc/db/sql/drop_lams_tool_lamc.sql (.../drop_lams_tool_lamc.sql) (revision 178606a4aa93f09db1297061c8165ebe14ad9776)
+++ lams_tool_lamc/db/sql/drop_lams_tool_lamc.sql (.../drop_lams_tool_lamc.sql) (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -1,9 +1,10 @@
+DROP TABLE lams.tl_lamc11_uploadedFile;
DROP TABLE lams.tl_lamc11_usr_attempt;
-DROP TABLE lams.tl_lamc11_options_content;
-DROP TABLE lams.tl_lamc11_que_content;
DROP TABLE lams.tl_lamc11_que_usr;
DROP TABLE lams.tl_lamc11_session;
+DROP TABLE lams.tl_lamc11_options_content;
+DROP TABLE lams.tl_lamc11_que_content;
DROP TABLE lams.tl_lamc11_content;
@@ -12,3 +13,4 @@
+
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McUploadedFile.java
===================================================================
diff -u
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McUploadedFile.java (revision 0)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McUploadedFile.java (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -0,0 +1,178 @@
+/*
+ *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.mc;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/**
+ *
+ * @author Ozgur Demirtas
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+
+/**
+ * Holds uploaded file information
+ */
+
+public class McUploadedFile implements Serializable
+{
+ /** identifier field */
+ private Long uid;
+
+ /** persistent field */
+ private String uuid;
+
+ /** persistent field */
+ private boolean fileOnline;
+
+ /** persistent field */
+ private String filename;
+
+
+ private Long mcContentId;
+
+ /** persistent field */
+ private McContent mcContent;
+
+ public McUploadedFile(){};
+
+ /** full constructor */
+ public McUploadedFile(Long uid,
+ String uuid,
+ boolean fileOnline,
+ String filename,
+ McContent mcContent)
+ {
+ this.uid=uid;
+ this.uuid = uuid;
+ this.fileOnline = fileOnline;
+ this.filename = filename;
+ this.mcContent=mcContent;
+ }
+
+ public McUploadedFile(String uuid,
+ boolean fileOnline,
+ String filename,
+ McContent mcContent)
+ {
+ this.uuid = uuid;
+ this.fileOnline = fileOnline;
+ this.filename = filename;
+ this.mcContent=mcContent;
+ }
+
+
+ public String toString() {
+ return new ToStringBuilder(this)
+ .append("uuid: ", getUuid())
+ .toString();
+ }
+
+
+ /**
+ * @return Returns the mcContent.
+ */
+ public McContent getMcContent() {
+ return mcContent;
+ }
+ /**
+ * @param mcContent The mcContent to set.
+ */
+ public void setMcContent(McContent mcContent) {
+ this.mcContent = mcContent;
+ }
+ /**
+ * @return Returns the mcContentId.
+ */
+ public Long getMcContentId() {
+ return mcContentId;
+ }
+ /**
+ * @param mcContentId The mcContentId to set.
+ */
+ public void setMcContentId(Long mcContentId) {
+ this.mcContentId = mcContentId;
+ }
+ /**
+ * @return Returns the uid.
+ */
+ public Long getSubmissionId() {
+ return uid;
+ }
+ /**
+ * @param uid The uid to set.
+ */
+ public void setSubmissionId(Long uid) {
+ this.uid = uid;
+ }
+ /**
+ * @return Returns the uuid.
+ */
+ public String getUuid() {
+ return uuid;
+ }
+ /**
+ * @param uuid The uuid to set.
+ */
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+ /**
+ * @return Returns the fileOnline.
+ */
+ public boolean isFileOnline() {
+ return fileOnline;
+ }
+ /**
+ * @param fileOnline The fileOnline to set.
+ */
+ public void setFileOnline(boolean fileOnline) {
+ this.fileOnline = fileOnline;
+ }
+ /**
+ * @return Returns the uid.
+ */
+ public Long getUid() {
+ return uid;
+ }
+ /**
+ * @param uid The uid to set.
+ */
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+ /**
+ * @return Returns the filename.
+ */
+ public String getFilename() {
+ return filename;
+ }
+ /**
+ * @param filename The filename to set.
+ */
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+}
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java
===================================================================
diff -u
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java (revision 0)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -0,0 +1,62 @@
+/*
+ *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.mc.dao;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.tool.mc.McContent;
+import org.lamsfoundation.lams.tool.mc.McUploadedFile;
+
+/**
+ *
+ * @author Ozgur Demirtas
+ *
+ */
+public interface IMcUploadedFileDAO
+{
+ public McUploadedFile loadUploadedFileById(long submissionId);
+
+ public void updateUploadFile(McUploadedFile mcUploadedFile);
+
+ public void saveUploadFile(McUploadedFile mcUploadedFile);
+
+ public void createUploadFile(McUploadedFile mcUploadedFile);
+
+ public void UpdateUploadFile(McUploadedFile mcUploadedFile);
+
+ public void removeUploadFile(Long submissionId);
+
+ public void deleteUploadFile(McUploadedFile mcUploadedFile);
+
+ public List retrieveMcUploadedFiles(McContent mc, boolean fileOnline);
+
+ public List retrieveMcUploadedOfflineFilesUuid(McContent mc);
+
+ public List retrieveMcUploadedOnlineFilesUuid(McContent mc);
+
+ public List retrieveMcUploadedOfflineFilesName(McContent mc);
+
+ public List retrieveMcUploadedOnlineFilesName(McContent mc);
+
+ public void cleanUploadedFilesMetaData();
+
+ public void flush();
+}
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java
===================================================================
diff -u
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java (revision 0)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -0,0 +1,190 @@
+/***************************************************************************
+ * 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.mc.dao.hibernate;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.tool.mc.McContent;
+import org.lamsfoundation.lams.tool.mc.McUploadedFile;
+import org.lamsfoundation.lams.tool.mc.dao.IMcUploadedFileDAO;
+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 McUploadedFileDAO extends HibernateDaoSupport implements IMcUploadedFileDAO {
+ static Logger logger = Logger.getLogger(McUploadedFileDAO.class.getName());
+
+ private static final String GET_ONLINE_FILENAMES_FOR_CONTENT = "select mcUploadedFile.fileName from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=1";
+ private static final String GET_OFFLINE_FILENAMES_FOR_CONTENT = "select mcUploadedFile.fileName from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=0";
+
+ private static final String GET_ONLINE_FILES_UUID = "select mcUploadedFile.uuid from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=1";
+ private static final String GET_ONLINE_FILES_NAME ="select mcUploadedFile.fileName from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=1 order by mcUploadedFile.uuid";
+
+ private static final String GET_OFFLINE_FILES_UUID = "select mcUploadedFile.uuid from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=0";
+ private static final String GET_OFFLINE_FILES_NAME ="select mcUploadedFile.fileName from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mc and mcUploadedFile.fileOnline=0 order by mcUploadedFile.uuid";
+
+ public McUploadedFile getUploadedFileById(long submissionId)
+ {
+ return (McUploadedFile) this.getHibernateTemplate()
+ .load(McUploadedFile.class, new Long(submissionId));
+ }
+
+ /**
+ *
+ * return null if not found
+ */
+ public McUploadedFile loadUploadedFileById(long submissionId)
+ {
+ return (McUploadedFile) this.getHibernateTemplate().get(McUploadedFile.class, new Long(submissionId));
+ }
+
+
+
+ public void updateUploadFile(McUploadedFile mcUploadedFile)
+ {
+ this.getHibernateTemplate().update(mcUploadedFile);
+ }
+
+
+ public void saveUploadFile(McUploadedFile mcUploadedFile)
+ {
+ this.getHibernateTemplate().save(mcUploadedFile);
+ }
+
+ public void createUploadFile(McUploadedFile mcUploadedFile)
+ {
+ this.getHibernateTemplate().save(mcUploadedFile);
+ }
+
+ public void UpdateUploadFile(McUploadedFile mcUploadedFile)
+ {
+ this.getHibernateTemplate().update(mcUploadedFile);
+ }
+
+
+ public void cleanUploadedFilesMetaData()
+ {
+ String query = "from uploadedFile in class org.lamsfoundation.lams.tool.mc.McUploadedFile";
+ this.getHibernateTemplate().delete(query);
+ }
+
+ public void removeUploadFile(Long submissionId)
+ {
+ if (submissionId != null ) {
+
+ String query = "from uploadedFile in class org.lamsfoundation.lams.tool.mc.McUploadedFile"
+ + " where uploadedFile.submissionId = ?";
+ Object obj = this.getSession().createQuery(query)
+ .setLong(0,submissionId.longValue())
+ .uniqueResult();
+ if ( obj != null ) {
+ this.getHibernateTemplate().delete(obj);
+ }
+ }
+ }
+
+ public List retrieveMcUploadedFiles(McContent mc, boolean fileOnline)
+ {
+ List listFilenames=null;
+
+ if (fileOnline)
+ {
+ listFilenames=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILENAMES_FOR_CONTENT,
+ "mc",
+ mc));
+ }
+ else
+ {
+ listFilenames=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILENAMES_FOR_CONTENT,
+ "mc",
+ mc));
+ }
+ return listFilenames;
+ }
+
+
+ public List retrieveMcUploadedOfflineFilesUuid(McContent mc)
+ {
+ List listFilesUuid=null;
+
+ listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILES_UUID,
+ "mc",
+ mc));
+
+ return listFilesUuid;
+ }
+
+ public List retrieveMcUploadedOnlineFilesUuid(McContent mc)
+ {
+ List listFilesUuid=null;
+
+ listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILES_UUID,
+ "mc",
+ mc));
+
+ return listFilesUuid;
+ }
+
+
+ public List retrieveMcUploadedOfflineFilesName(McContent mc)
+ {
+ List listFilesUuid=null;
+
+ listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILES_NAME,
+ "mc",
+ mc));
+
+ return listFilesUuid;
+ }
+
+ public List retrieveMcUploadedOnlineFilesName(McContent mc)
+ {
+ List listFilesUuid=null;
+
+ listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILES_NAME,
+ "mc",
+ mc));
+
+ return listFilesUuid;
+ }
+
+
+
+ public void deleteUploadFile(McUploadedFile mcUploadedFile)
+ {
+ this.getHibernateTemplate().delete(mcUploadedFile);
+ }
+
+ public void flush()
+ {
+ this.getHibernateTemplate().flush();
+ }
+
+}
\ No newline at end of file
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml
===================================================================
diff -u -re641617111e90d02c659127046f06b0f5c8e2845 -rbb83942110559f64ba9533b04ff6aba89d145c26
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml (.../mcApplicationContext.xml) (revision e641617111e90d02c659127046f06b0f5c8e2845)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml (.../mcApplicationContext.xml) (revision bb83942110559f64ba9533b04ff6aba89d145c26)
@@ -23,7 +23,7 @@
/org/lamsfoundation/lams/tool/mc/McSession.hbm.xml
/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml
/org/lamsfoundation/lams/tool/mc/McUsrAttempt.hbm.xml
-
+ /org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml