Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McUploadedFile.hbm.xml,v diff -u -r1.1 -r1.2 --- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml 31 Oct 2005 18:57:26 -0000 1.1 +++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McUploadedFile.hbm.xml 2 Nov 2005 19:39:51 -0000 1.2 @@ -7,7 +7,7 @@ 0)) + { + int separator=uuidAndFileName.indexOf('~'); + logger.debug("separator: " + separator); + String uuid=uuidAndFileName.substring(0,separator); + String fileName=uuidAndFileName.substring(separator+1); + logger.debug("using uuid: " + uuid); + logger.debug("using fileName: " + fileName); + mcService.persistFile(uuid,false, fileName,mc); + } + } + logger.debug("all offline files data has been persisted"); + } + catch(Exception e) + { + logger.debug("error persisting offline files data: " + listUploadedOfflineFiles); + } + + try{ + logger.debug("start persisting online file information to db..."); + Iterator onlineFilesIterator=listUploadedOnlineFiles.iterator(); + while (onlineFilesIterator.hasNext()) + { + String uuidAndFileName=(String) onlineFilesIterator.next(); + logger.debug("iterated uuidAndFileName: " + uuidAndFileName); + if ((uuidAndFileName != null) && (uuidAndFileName.indexOf('~') > 0)) + { + int separator=uuidAndFileName.indexOf('~'); + logger.debug("separator: " + separator); + String uuid=uuidAndFileName.substring(0,separator); + String fileName=uuidAndFileName.substring(separator+1); + logger.debug("using uuid: " + uuid); + logger.debug("using fileName: " + fileName); + mcService.persistFile(uuid,true, fileName,mc); + } + } + logger.debug("all online files data has been persisted"); + } + catch(Exception e) + { + logger.debug("error persisting offline files data: " + listUploadedOnlineFiles); + } + + } + + } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml,v diff -u -r1.7 -r1.8 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml 31 Oct 2005 18:57:26 -0000 1.7 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml 2 Nov 2005 19:39:43 -0000 1.8 @@ -59,11 +59,11 @@ - + @@ -78,7 +78,7 @@ - + Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/Attic/IMcUploadedFileDAO.java,v diff -u -r1.1 -r1.2 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java 31 Oct 2005 18:57:26 -0000 1.1 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java 2 Nov 2005 19:39:43 -0000 1.2 @@ -46,15 +46,15 @@ public void deleteUploadFile(McUploadedFile mcUploadedFile); - public List retrieveMcUploadedFiles(McContent mc, boolean fileOnline); + public List retrieveMcUploadedFiles(Long mcContentId, boolean fileOnline); - public List retrieveMcUploadedOfflineFilesUuid(McContent mc); + public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId); - public List retrieveMcUploadedOnlineFilesUuid(McContent mc); + public List retrieveMcUploadedOnlineFilesUuid(Long mcContentId); - public List retrieveMcUploadedOfflineFilesName(McContent mc); + public List retrieveMcUploadedOfflineFilesName(Long mcContentId); - public List retrieveMcUploadedOnlineFilesName(McContent mc); + public List retrieveMcUploadedOnlineFilesName(Long mcContentId); public void cleanUploadedFilesMetaData(); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/Attic/McUploadedFileDAO.java,v diff -u -r1.1 -r1.2 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java 31 Oct 2005 18:57:26 -0000 1.1 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java 2 Nov 2005 19:39:43 -0000 1.2 @@ -22,12 +22,14 @@ package org.lamsfoundation.lams.tool.mc.dao.hibernate; +import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.tool.mc.McContent; +import org.hibernate.FlushMode; import org.lamsfoundation.lams.tool.mc.McUploadedFile; import org.lamsfoundation.lams.tool.mc.dao.IMcUploadedFileDAO; +import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; @@ -41,15 +43,18 @@ 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_FILENAMES_FOR_CONTENT = "select mcUploadedFile.filename from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId and mcUploadedFile.fileOnline=1"; + private static final String GET_OFFLINE_FILENAMES_FOR_CONTENT = "select mcUploadedFile.filename from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId 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_ONLINE_FILES_UUID = "select mcUploadedFile.uuid from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId and mcUploadedFile.fileOnline=1"; + private static final String GET_ONLINE_FILES_NAME ="select mcUploadedFile.filename from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId 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"; + private static final String GET_OFFLINE_FILES_UUID = "select mcUploadedFile.uuid from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId and mcUploadedFile.fileOnline=0"; + private static final String GET_OFFLINE_FILES_NAME ="select mcUploadedFile.filename from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId and mcUploadedFile.fileOnline=0 order by mcUploadedFile.uuid"; + private static final String FIND_ALL_UPLOADED_FILE_DATA = "from mcUploadedFile in class McUploadedFile"; + + public McUploadedFile getUploadedFileById(long submissionId) { return (McUploadedFile) this.getHibernateTemplate() @@ -60,9 +65,9 @@ * * return null if not found */ - public McUploadedFile loadUploadedFileById(long submissionId) + public McUploadedFile loadUploadedFileById(long uid) { - return (McUploadedFile) this.getHibernateTemplate().get(McUploadedFile.class, new Long(submissionId)); + return (McUploadedFile) this.getHibernateTemplate().get(McUploadedFile.class, new Long(uid)); } @@ -91,92 +96,101 @@ public void cleanUploadedFilesMetaData() { - String query = "from uploadedFile in class org.lamsfoundation.lams.tool.mc.McUploadedFile"; - this.getHibernateTemplate().delete(query); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(FIND_ALL_UPLOADED_FILE_DATA) + .list(); + + if(list != null && list.size() > 0){ + Iterator listIterator=list.iterator(); + while (listIterator.hasNext()) + { + McUploadedFile mcFile=(McUploadedFile)listIterator.next(); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(mcFile); + templ.flush(); + } + } } - public void removeUploadFile(Long submissionId) + public void removeUploadFile(Long uid) { - if (submissionId != null ) { + if (uid != null ) { String query = "from uploadedFile in class org.lamsfoundation.lams.tool.mc.McUploadedFile" - + " where uploadedFile.submissionId = ?"; + + " where uploadedFile.uid = ?"; Object obj = this.getSession().createQuery(query) - .setLong(0,submissionId.longValue()) + .setLong(0,uid.longValue()) .uniqueResult(); if ( obj != null ) { this.getHibernateTemplate().delete(obj); } } } - public List retrieveMcUploadedFiles(McContent mc, boolean fileOnline) + public List retrieveMcUploadedFiles(Long mcContentId, boolean fileOnline) { List listFilenames=null; if (fileOnline) { listFilenames=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILENAMES_FOR_CONTENT, - "mc", - mc)); + "mcContentId", + mcContentId)); } else { listFilenames=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILENAMES_FOR_CONTENT, - "mc", - mc)); + "mcContentId", + mcContentId)); } return listFilenames; } - public List retrieveMcUploadedOfflineFilesUuid(McContent mc) + public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId) { - List listFilesUuid=null; - - listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILES_UUID, - "mc", - mc)); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(GET_OFFLINE_FILES_UUID) + .setLong("mcContentId", mcContentId.longValue()) + .list(); - return listFilesUuid; + + return list; } - public List retrieveMcUploadedOnlineFilesUuid(McContent mc) + public List retrieveMcUploadedOnlineFilesUuid(Long mcContentId) { - List listFilesUuid=null; - - listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILES_UUID, - "mc", - mc)); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(GET_ONLINE_FILES_UUID) + .setLong("mcContentId", mcContentId.longValue()) + .list(); - return listFilesUuid; + return list; } - public List retrieveMcUploadedOfflineFilesName(McContent mc) + public List retrieveMcUploadedOfflineFilesName(Long mcContentId) { - List listFilesUuid=null; - - listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_OFFLINE_FILES_NAME, - "mc", - mc)); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(GET_OFFLINE_FILES_NAME) + .setLong("mcContentId", mcContentId.longValue()) + .list(); - return listFilesUuid; + return list; } + - public List retrieveMcUploadedOnlineFilesName(McContent mc) + public List retrieveMcUploadedOnlineFilesName(Long mcContentId) { - List listFilesUuid=null; - - listFilesUuid=(getHibernateTemplate().findByNamedParam(GET_ONLINE_FILES_NAME, - "mc", - mc)); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(GET_ONLINE_FILES_NAME) + .setLong("mcContentId", mcContentId.longValue()) + .list(); - return listFilesUuid; + return list; } - public void deleteUploadFile(McUploadedFile mcUploadedFile) { this.getHibernateTemplate().delete(mcUploadedFile); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java,v diff -u -r1.14 -r1.15 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 28 Oct 2005 16:40:49 -0000 1.14 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java 2 Nov 2005 19:39:43 -0000 1.15 @@ -39,6 +39,7 @@ import org.lamsfoundation.lams.tool.mc.McQueContent; import org.lamsfoundation.lams.tool.mc.McQueUsr; import org.lamsfoundation.lams.tool.mc.McSession; +import org.lamsfoundation.lams.tool.mc.McUploadedFile; import org.lamsfoundation.lams.tool.mc.McUsrAttempt; import org.lamsfoundation.lams.usermanagement.User; @@ -177,15 +178,20 @@ public NodeKey uploadFileToRepository(InputStream stream, String fileName) throws McApplicationException; - public InputStream downloadFile(Long uuid, Long versionID)throws McApplicationException; + public InputStream downloadFile(Long uuid, Long versionID) throws McApplicationException; - public List retrieveMcUploadedOfflineFilesUuid(McContent mc); + public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId) throws McApplicationException; - public List retrieveMcUploadedOnlineFilesUuid(McContent mc); + public List retrieveMcUploadedOnlineFilesUuid(Long mcContentId) throws McApplicationException; - public List retrieveMcUploadedOfflineFilesName(McContent mc); + public List retrieveMcUploadedOfflineFilesName(Long mcContentId) throws McApplicationException; - public List retrieveMcUploadedOnlineFilesName(McContent mc); + public List retrieveMcUploadedOnlineFilesName(Long mcContentId) throws McApplicationException; + + public List retrieveMcUploadedFiles(Long mcContentId, boolean fileOnline) throws McApplicationException; + + public void cleanUploadedFilesMetaData() throws McApplicationException; + public void persistFile(String uuid, boolean isOnlineFile, String fileName, McContent mcContent) throws McApplicationException; } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java,v diff -u -r1.15 -r1.16 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 28 Oct 2005 16:40:49 -0000 1.15 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 2 Nov 2005 19:39:43 -0000 1.16 @@ -57,11 +57,13 @@ import org.lamsfoundation.lams.tool.mc.McQueContent; import org.lamsfoundation.lams.tool.mc.McQueUsr; import org.lamsfoundation.lams.tool.mc.McSession; +import org.lamsfoundation.lams.tool.mc.McUploadedFile; import org.lamsfoundation.lams.tool.mc.McUsrAttempt; import org.lamsfoundation.lams.tool.mc.dao.IMcContentDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcOptionsContentDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcQueContentDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcSessionDAO; +import org.lamsfoundation.lams.tool.mc.dao.IMcUploadedFileDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcUserDAO; import org.lamsfoundation.lams.tool.mc.dao.IMcUsrAttemptDAO; import org.lamsfoundation.lams.tool.service.ILamsToolService; @@ -109,6 +111,7 @@ private IMcSessionDAO mcSessionDAO; private IMcUserDAO mcUserDAO; private IMcUsrAttemptDAO mcUsrAttemptDAO; + private IMcUploadedFileDAO mcUploadedFileDAO; private IUserManagementService userManagementService; private ILamsToolService toolService; @@ -1501,14 +1504,13 @@ * * adds a new entry to the uploaded files table */ - public void persistFile(String uuid, boolean isOnlineFile, String fileName, McContent qaContent) throws McApplicationException { - /* - logger.debug("attempt persisting file to the db: " + uuid + " " + isOnlineFile + " " + fileName + " " + qaContent); - QaUploadedFile qaUploadedFile= new QaUploadedFile(uuid, isOnlineFile, fileName, qaContent); - logger.debug("created qaUploadedFile: " + qaUploadedFile); - qaUploadedFileDAO.saveUploadFile(qaUploadedFile); - logger.debug("persisted qaUploadedFile: " + qaUploadedFile); - */ + public void persistFile(String uuid, boolean isOnlineFile, String fileName, McContent mcContent) throws McApplicationException { + + logger.debug("attempt persisting file to the db: " + uuid + " " + isOnlineFile + " " + fileName + " " + mcContent); + McUploadedFile mcUploadedFile= new McUploadedFile(uuid, isOnlineFile, fileName, mcContent); + logger.debug("created mcUploadedFile: " + mcUploadedFile); + mcUploadedFileDAO.saveUploadFile(mcUploadedFile); + logger.debug("persisted mcUploadedFile: " + mcUploadedFile); } /** @@ -1518,32 +1520,82 @@ * removes all the entries in the uploaded files table */ public void cleanUploadedFilesMetaData() throws McApplicationException { - /* logger.debug("attempt cleaning up uploaded file meta data table from the db"); - qaUploadedFileDAO.cleanUploadedFilesMetaData(); + mcUploadedFileDAO.cleanUploadedFilesMetaData(); logger.debug("files meta data has been cleaned up"); - */ } - - public List retrieveMcUploadedOfflineFilesUuid(McContent mc) throws McApplicationException { - return null; - + + public List retrieveMcUploadedFiles(Long mcContentId, boolean fileOnline) throws McApplicationException { + try + { + return mcUploadedFileDAO.retrieveMcUploadedFiles(mcContentId, fileOnline); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading mc uploaded files: " + + e.getMessage(), + e); + } } + + public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId) throws McApplicationException { + try + { + return mcUploadedFileDAO.retrieveMcUploadedOfflineFilesUuid(mcContentId); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading mc uploaded files: offline + uuids " + + e.getMessage(), + e); + } + } - public List retrieveMcUploadedOnlineFilesUuid(McContent mc) throws McApplicationException { - return null; + + public List retrieveMcUploadedOnlineFilesUuid(Long mcContentId) throws McApplicationException { + try + { + return mcUploadedFileDAO.retrieveMcUploadedOnlineFilesUuid(mcContentId); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading mc uploaded files: online + uuids " + + e.getMessage(), + e); + } } - public List retrieveMcUploadedOfflineFilesName(McContent mc) throws McApplicationException { - return null; + + public List retrieveMcUploadedOfflineFilesName(Long mcContentId) throws McApplicationException { + try + { + return mcUploadedFileDAO.retrieveMcUploadedOfflineFilesName(mcContentId); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading mc uploaded files: offline + fileNames " + + e.getMessage(), + e); + } } + - public List retrieveMcUploadedOnlineFilesName(McContent mc) throws McApplicationException { - return null; + public List retrieveMcUploadedOnlineFilesName(Long mcContentId) throws McApplicationException { + try + { + return mcUploadedFileDAO.retrieveMcUploadedOnlineFilesName(mcContentId); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading mc uploaded files: online + fileNames " + + e.getMessage(), + e); + } } + /** * @return Returns the logger. */ @@ -1709,4 +1761,16 @@ this.toolService = toolService; } + /** + * @return Returns the mcUploadedFileDAO. + */ + public IMcUploadedFileDAO getMcUploadedFileDAO() { + return mcUploadedFileDAO; + } + /** + * @param mcUploadedFileDAO The mcUploadedFileDAO to set. + */ + public void setMcUploadedFileDAO(IMcUploadedFileDAO mcUploadedFileDAO) { + this.mcUploadedFileDAO = mcUploadedFileDAO; + } } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java,v diff -u -r1.29 -r1.30 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 29 Oct 2005 16:08:09 -0000 1.29 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java 2 Nov 2005 19:39:43 -0000 1.30 @@ -228,7 +228,8 @@ IMcService mcService =McUtils.getToolService(request); logger.debug("mcService:" + mcService); - + + /** define the next tab as Basic tab by default*/ request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(0)); logger.debug("resetting EDIT_OPTIONS_MODE to 0"); @@ -287,7 +288,7 @@ request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(0)); logger.debug("resetting EDIT_OPTIONS_MODE to 0"); mcAuthoringForm.resetUserAction(); - return (mapping.findForward(LOAD_QUESTIONS)); + return (mapping.findForward(LOAD_QUESTIONS)); } else if (mcAuthoringForm.getRemoveQuestion() != null) { @@ -542,7 +543,6 @@ request.getSession().setAttribute(MAP_OPTIONS_CONTENT, mapOptionsContent); logger.debug("updated Options Map: " + request.getSession().getAttribute(MAP_OPTIONS_CONTENT)); - Long selectedQuestionContentUid=(Long) request.getSession().getAttribute(SELECTED_QUESTION_CONTENT_UID); logger.debug("selectedQuestionContentUid:" + selectedQuestionContentUid); @@ -895,9 +895,11 @@ String richTextOfflineInstructions=(String) request.getSession().getAttribute(RICHTEXT_OFFLINEINSTRUCTIONS); logger.debug("richTextOfflineInstructions: " + richTextOfflineInstructions); + if (richTextOfflineInstructions == null) richTextOfflineInstructions=""; String richTextOnlineInstructions=(String) request.getSession().getAttribute(RICHTEXT_ONLINEINSTRUCTIONS); logger.debug("richTextOnlineInstructions: " + richTextOnlineInstructions); + if (richTextOnlineInstructions == null) richTextOnlineInstructions=""; String richTextReportTitle=(String)request.getSession().getAttribute(RICHTEXT_REPORT_TITLE); logger.debug("richTextReportTitle: " + richTextReportTitle); @@ -992,6 +994,10 @@ mcService.cleanAllQuestions(mcContent.getUid()); logger.debug("all questions cleaned for :" + mcContent.getUid()); + logger.debug("will do addUploadedFilesMetaData"); + McUtils.addUploadedFilesMetaData(request,mcContent); + logger.debug("done addUploadedFilesMetaData"); + errors.clear(); errors.add(Globals.ERROR_KEY,new ActionMessage("submit.successful")); logger.debug("add submit.successful to ActionMessages"); @@ -1026,16 +1032,31 @@ request.setAttribute(USER_ACTION, userAction); logger.debug("userAction:" + userAction); - //McUtils.addFileToContentRepository(request, mcAuthoringForm, true); - //logger.debug("offline file added to repository successfully."); - + McUtils.addFileToContentRepository(request, mcAuthoringForm, true); + logger.debug("offline file added to repository successfully."); mcAuthoringForm.resetUserAction(); + request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(2)); + logger.debug("setting EDIT_OPTIONS_MODE :" + 2 ); return (mapping.findForward(LOAD_QUESTIONS)); } + else if (mcAuthoringForm.getSubmitOnlineFile() != null) + { + userAction="submitOnlineFile"; + request.setAttribute(USER_ACTION, userAction); + logger.debug("userAction:" + userAction); + + McUtils.addFileToContentRepository(request, mcAuthoringForm, false); + logger.debug("online file added to repository successfully."); + + mcAuthoringForm.resetUserAction(); + request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(2)); + logger.debug("setting EDIT_OPTIONS_MODE :" + 2 ); + return (mapping.findForward(LOAD_QUESTIONS)); + } mcAuthoringForm.resetUserAction(); - return (mapping.findForward(LOAD_QUESTIONS)); + return (mapping.findForward(LOAD_QUESTIONS)); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java,v diff -u -r1.17 -r1.18 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java 29 Oct 2005 16:08:09 -0000 1.17 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McStarterAction.java 2 Nov 2005 19:39:43 -0000 1.18 @@ -70,6 +70,7 @@ package org.lamsfoundation.lams.tool.mc.web; import java.io.IOException; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -106,7 +107,43 @@ */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException, McApplicationException { - + /** + * retrive the service + */ + IMcService mcService = McUtils.getToolService(request); + logger.debug("retrieving mcService from session: " + mcService); + if (mcService == null) + { + mcService = McServiceProxy.getMcService(getServlet().getServletContext()); + logger.debug("retrieving mcService from proxy: " + mcService); + request.getSession().setAttribute(TOOL_SERVICE, mcService); + } + + /** CURRENT_TAB == 1 defines Basic Tab + * CURRENT_TAB == 2 defines Avanced Tab + * CURRENT_TAB == 3 defines Instructions Tab + * */ + request.getSession().setAttribute(CURRENT_TAB, new Long(1)); + + /** needs to run only once per tool*/ + /** McUtils.configureContentRepository(request, mcService); */ + + /** these two are for repository access */ + /**holds the final offline files list */ + LinkedList listUploadedOfflineFiles= new LinkedList(); + LinkedList listUploadedOnlineFiles= new LinkedList(); + + /** these two are for jsp */ + LinkedList listUploadedOfflineFileNames= new LinkedList(); + LinkedList listUploadedOnlineFileNames= new LinkedList(); + + request.getSession().setAttribute(LIST_UPLOADED_OFFLINE_FILES,listUploadedOfflineFiles); + request.getSession().setAttribute(LIST_UPLOADED_OFFLINE_FILENAMES,listUploadedOfflineFileNames); + + request.getSession().setAttribute(LIST_UPLOADED_ONLINE_FILES,listUploadedOnlineFiles); + request.getSession().setAttribute(LIST_UPLOADED_ONLINE_FILENAMES,listUploadedOnlineFileNames); + + Map mapQuestionsContent= new TreeMap(new McComparator()); Map mapOptionsContent= new TreeMap(new McComparator()); Map mapDefaultOptionsContent= new TreeMap(new McComparator()); @@ -132,18 +169,6 @@ mcAuthoringForm.resetRadioBoxes(); /** - * retrive the service - */ - IMcService mcService = McUtils.getToolService(request); - logger.debug("retrieving mcService from session: " + mcService); - if (mcService == null) - { - mcService = McServiceProxy.getMcService(getServlet().getServletContext()); - logger.debug("retrieving mcService from proxy: " + mcService); - request.getSession().setAttribute(TOOL_SERVICE, mcService); - } - - /** * retrieve the default content id based on tool signature */ long contentId=0; @@ -328,6 +353,8 @@ request.getSession().setAttribute(SYNCH_IN_MONITOR, new Boolean(mcContent.isSynchInMonitor())); request.getSession().setAttribute(OFFLINE_INSTRUCTIONS,mcContent.getOfflineInstructions()); request.getSession().setAttribute(ONLINE_INSTRUCTIONS,mcContent.getOnlineInstructions()); + request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); + request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); request.getSession().setAttribute(END_LEARNING_MESSAGE,mcContent.getEndLearningMessage()); request.getSession().setAttribute(CONTENT_IN_USE, new Boolean(mcContent.isContentInUse())); request.getSession().setAttribute(RETRIES, new Boolean(mcContent.isRetries())); @@ -336,7 +363,7 @@ request.getSession().setAttribute(RICHTEXT_REPORT_TITLE,mcContent.getReportTitle()); request.getSession().setAttribute(RICHTEXT_END_LEARNING_MSG,mcContent.getEndLearningMessage()); - McUtils.setDefaultSessionAttributes(request, mcContent, mcAuthoringForm); + McUtils.setDefaultSessionAttributes(request, mcContent, mcAuthoringForm); logger.debug("PASSMARK:" + request.getSession().getAttribute(PASSMARK)); @@ -423,6 +450,8 @@ request.getSession().setAttribute(SYNCH_IN_MONITOR, new Boolean(mcContent.isSynchInMonitor())); request.getSession().setAttribute(OFFLINE_INSTRUCTIONS,mcContent.getOfflineInstructions()); request.getSession().setAttribute(ONLINE_INSTRUCTIONS,mcContent.getOnlineInstructions()); + request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS,mcContent.getOfflineInstructions()); + request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS,mcContent.getOnlineInstructions()); request.getSession().setAttribute(END_LEARNING_MESSAGE,mcContent.getEndLearningMessage()); request.getSession().setAttribute(CONTENT_IN_USE, new Boolean(mcContent.isContentInUse())); request.getSession().setAttribute(RETRIES, new Boolean(mcContent.isRetries())); @@ -436,6 +465,17 @@ mcAuthoringForm.setPassmark((mcContent.getPassMark()).toString()); logger.debug("PASSMARK:" + mcAuthoringForm.getPassmark()); + logger.debug("getting name lists based on uid:" + mcContent.getUid()); + + List listUploadedOffFiles= mcService.retrieveMcUploadedOfflineFilesName(mcContent.getUid()); + logger.debug("existing listUploadedOfflineFileNames:" + listUploadedOffFiles); + request.getSession().setAttribute(LIST_UPLOADED_OFFLINE_FILENAMES,listUploadedOffFiles); + + List listUploadedOnFiles= mcService.retrieveMcUploadedOnlineFilesName(mcContent.getUid()); + logger.debug("existing listUploadedOnlineFileNames:" + listUploadedOnFiles); + request.getSession().setAttribute(LIST_UPLOADED_ONLINE_FILENAMES,listUploadedOnFiles); + + if (mcContent.isUsernameVisible()) { mcAuthoringForm.setUsernameVisible(ON); @@ -493,10 +533,14 @@ logger.debug("setting showFeedback to false"); } + McUtils.populateUploadedFilesData(request, mcContent); + logger.debug("populated UploadedFilesData"); + AuthoringUtil authoringUtil = new AuthoringUtil(); mapQuestionsContent=authoringUtil.rebuildQuestionMapfromDB(request, new Long(toolContentId)); System.out.print("mapQuestionsContent:" + mapQuestionsContent); + request.getSession().setAttribute(MAP_QUESTIONS_CONTENT, mapQuestionsContent); logger.debug("starter initialized the existing Questions Map: " + request.getSession().getAttribute(MAP_QUESTIONS_CONTENT)); Index: lams_tool_lamc/web/authoringMaincontent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/Attic/authoringMaincontent.jsp,v diff -u -r1.29 -r1.30 --- lams_tool_lamc/web/authoringMaincontent.jsp 29 Oct 2005 19:34:28 -0000 1.29 +++ lams_tool_lamc/web/authoringMaincontent.jsp 2 Nov 2005 19:39:43 -0000 1.30 @@ -97,39 +97,43 @@ -

+

+ +
+ + + + + + + + + +
+
+ Cancel + + + -
- - - - - - -
-
-Cancel - - - - -
-

Advanced Definitions

-
- +
+

Advanced Definitions

+
+ +
-
-
-

Instructions

-
- +
+

Instructions

+
+ +
+
-
-
+

Index: lams_tool_lamc/web/survey.jpg =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/Attic/survey.jpg,v diff -u Binary files differ