Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java =================================================================== diff -u -rdecc127e5fc343f5cd178e0c6481b987be36a35e -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision decc127e5fc343f5cd178e0c6481b987be36a35e) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McAppConstants.java (.../McAppConstants.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -128,8 +128,13 @@ public static final String CHOICE_TYPE_INSTRUCTIONS ="choiceTypeInstructions"; public static final String EDIT_OPTIONS_MODE ="editOptionsMode"; public static final String SUBMIT_SUCCESS ="submitSuccess"; - + public static final String FILE_CONTENT ="fileContent"; + public static final String LOAD_FILE_CONTENT ="loadFileContent"; + public static final String FILE_CONTENT_READY ="fileContentReady"; + public static final String FILE_NAME ="fileName"; + + /** * authoring mode constants */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties =================================================================== diff -u -rdecc127e5fc343f5cd178e0c6481b987be36a35e -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties (.../McResources.properties) (revision decc127e5fc343f5cd178e0c6481b987be36a35e) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/McResources.properties (.../McResources.properties) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -9,6 +9,7 @@ label.weight =Weight label.action =Action label.actions =Actions +label.fileContent =File Content button.basic =Basic button.uploadFile =Upload Package @@ -85,6 +86,7 @@ error.passMark.empty =Please correct this: Pass Mark can not be empty. error.passmark.notInteger =Please correct this: Pass Mark can only be an integer. error.weights.total.invalid =Please correct this: The total weight must equal 100. +error.file.notPersisted =An error occurred: The file is not viewable yet. Please save all the content first and check back. submit.successful =The content has been created successfully. error.question.addNotAllowed.thisScreen = The question text can not be modified in this screen since it has options attached . Please use the "Options" button to edit the question text. Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java (.../IMcUploadedFileDAO.java) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUploadedFileDAO.java (.../IMcUploadedFileDAO.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -22,7 +22,6 @@ import java.util.List; -import org.lamsfoundation.lams.tool.mc.McContent; import org.lamsfoundation.lams.tool.mc.McUploadedFile; /** @@ -46,6 +45,8 @@ public void deleteUploadFile(McUploadedFile mcUploadedFile); + public String getFileUuid(String filename); + public List retrieveMcUploadedFiles(Long mcContentId, boolean fileOnline); public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java (.../McUploadedFileDAO.java) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUploadedFileDAO.java (.../McUploadedFileDAO.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -27,6 +27,7 @@ import org.apache.log4j.Logger; import org.hibernate.FlushMode; +import org.lamsfoundation.lams.tool.mc.McQueContent; import org.lamsfoundation.lams.tool.mc.McUploadedFile; import org.lamsfoundation.lams.tool.mc.dao.IMcUploadedFileDAO; import org.springframework.orm.hibernate3.HibernateTemplate; @@ -52,7 +53,9 @@ 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 GET_FILES_UUID ="select mcUploadedFile.uuid from McUploadedFile mcUploadedFile where mcUploadedFile.filename=:filename"; + private static final String GET_OFFLINE_FILES_UUIDPLUSFILENAME = "select (mcUploadedFile.uuid + '~' + mcUploadedFile.filename) from McUploadedFile mcUploadedFile where mcUploadedFile.mcContentId = :mcContentId and mcUploadedFile.fileOnline=0"; private static final String FIND_ALL_UPLOADED_FILE_DATA = "from mcUploadedFile in class McUploadedFile"; @@ -117,6 +120,35 @@ } } + + public String getFileUuid(String filename) + { + + logger.debug("starting getFileUuid :" + filename); + HibernateTemplate templ = this.getHibernateTemplate(); + List list = getSession().createQuery(GET_FILES_UUID) + .setString("filename", filename) + .list(); + + logger.debug("list getFileUuid :" + list); + + if (list != null && list.size() > 0){ + Iterator listIterator=list.iterator(); + while (listIterator.hasNext()) + { + String uuid=(String)listIterator.next(); + logger.debug("uuid :" + uuid); + return uuid; + } + } + else + { + return null; + } + return null; + } + + public void removeUploadFile(Long uid) { if (uid != null ) { Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/IMcService.java (.../IMcService.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -180,6 +180,8 @@ public InputStream downloadFile(Long uuid, Long versionID) throws McApplicationException; + public String getFileUuid(String filename) throws McApplicationException; + public List retrieveMcUploadedOfflineFilesUuid(Long mcContentId) throws McApplicationException; public List retrieveMcUploadedOnlineFilesUuid(Long mcContentId) throws McApplicationException; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -1499,6 +1499,23 @@ } } + + + + public String getFileUuid(String filename) throws McApplicationException + { + try + { + return mcUploadedFileDAO.getFileUuid(filename); + } + catch (DataAccessException e) + { + throw new McApplicationException("Exception occured when lams is loading uuid by filename: " + + e.getMessage(), + e); + } + } + /** * !! COMPLETE THIS !! * Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java =================================================================== diff -u -r433558c547756edbd5d6e199e12be9a1ef090f36 -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 433558c547756edbd5d6e199e12be9a1ef090f36) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAction.java (.../McAction.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -20,7 +20,10 @@ */ package org.lamsfoundation.lams.tool.mc.web; +import java.io.DataInputStream; +import java.io.EOFException; import java.io.IOException; +import java.io.InputStream; import java.util.Date; import java.util.HashSet; import java.util.Iterator; @@ -1274,8 +1277,8 @@ McUtils.addFileToContentRepository(request, mcAuthoringForm, false); logger.debug("online file added to repository successfully."); - - mcAuthoringForm.resetUserAction(); + + mcAuthoringForm.resetUserAction(); request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(2)); logger.debug("setting EDIT_OPTIONS_MODE :" + 2); request.getSession().setAttribute(CURRENT_TAB, new Long(3)); @@ -1287,9 +1290,53 @@ request.setAttribute(USER_ACTION, userAction); logger.debug("userAction:" + userAction); - String fileItem= request.getParameter("fileItem"); - logger.debug("fileItem:" + fileItem); + String filename= request.getParameter("fileItem"); + logger.debug("filename:" + filename); + String uuid=mcService.getFileUuid(filename); + logger.debug("uuid:" + uuid); + + if (uuid == null) + { + ActionMessages errors= new ActionMessages(); + errors= new ActionMessages(); + errors.add(Globals.ERROR_KEY,new ActionMessage("error.file.notPersisted")); + saveErrors(request,errors); + mcAuthoringForm.resetUserAction(); + persistError(request,"error.file.notPersisted"); + + request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(2)); + logger.debug("setting EDIT_OPTIONS_MODE :" + 2); + request.getSession().setAttribute(CURRENT_TAB, new Long(3)); + return (mapping.findForward(ALL_INSTRUCTIONS)); + } + + InputStream fileInputStream=mcService.downloadFile(new Long(uuid), null); + logger.debug("fileInputStream:" + fileInputStream); + + DataInputStream dis = new DataInputStream(fileInputStream); + logger.debug("dis:" + dis); + + String allFileText=""; + try { + String input=""; + while ((input = dis.readLine()) != null) { + logger.debug("input:" + input); + allFileText = allFileText + input + "\r\n"; + } + } catch (EOFException e) { + logger.debug("error reading the file :" + e); + logger.debug("error msg reading the file :" + e.getMessage()); + } + + logger.debug("allFileText:" + allFileText); + request.getSession().setAttribute(FILE_CONTENT, allFileText); + + request.setAttribute(FILE_CONTENT_READY, new Integer(1)); + logger.debug("set FILE_CONTENT_READY to 1"); + + request.getSession().setAttribute(FILE_NAME, filename); + mcAuthoringForm.resetUserAction(); request.getSession().setAttribute(EDIT_OPTIONS_MODE, new Integer(2)); logger.debug("setting EDIT_OPTIONS_MODE :" + 2); @@ -1298,7 +1345,7 @@ } mcAuthoringForm.resetUserAction(); - return (mapping.findForward(LOAD_QUESTIONS)); + return (mapping.findForward(LOAD_FILE_CONTENT)); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java =================================================================== diff -u -r433558c547756edbd5d6e199e12be9a1ef090f36 -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java (.../McAuthoringForm.java) (revision 433558c547756edbd5d6e199e12be9a1ef090f36) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McAuthoringForm.java (.../McAuthoringForm.java) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -47,6 +47,7 @@ protected String fileItem; protected String viewFileItem; + protected FormFile receivedFile; protected String addContent; protected String removeContent; @@ -156,6 +157,7 @@ this.fileItem=null; this.viewFileItem=null; + this.receivedFile=null; this.addContent=null; this.removeContent=null; @@ -891,4 +893,16 @@ public void setViewFileItem(String viewFileItem) { this.viewFileItem = viewFileItem; } + /** + * @return Returns the receivedFile. + */ + public FormFile getReceivedFile() { + return receivedFile; + } + /** + * @param receivedFile The receivedFile to set. + */ + public void setReceivedFile(FormFile receivedFile) { + this.receivedFile = receivedFile; + } } Index: lams_tool_lamc/web/AdvancedContent.jsp =================================================================== diff -u -r62fed58c7feaf586a7f6ae9b6f2aa91fad04e1d3 -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/web/AdvancedContent.jsp (.../AdvancedContent.jsp) (revision 62fed58c7feaf586a7f6ae9b6f2aa91fad04e1d3) +++ lams_tool_lamc/web/AdvancedContent.jsp (.../AdvancedContent.jsp) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -7,10 +7,10 @@ - - - - - - - - - - - - @@ -76,14 +76,14 @@ @@ -108,4 +108,31 @@ + + + + + + + + + + + +
+ : + @@ -22,10 +22,10 @@
+ : + @@ -37,10 +37,10 @@
+ : + @@ -53,18 +53,18 @@
+ : +
+ : @@ -75,15 +75,15 @@
+   
+    + Index: lams_tool_lamc/web/InstructionsContent.jsp =================================================================== diff -u -r433558c547756edbd5d6e199e12be9a1ef090f36 -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/web/InstructionsContent.jsp (.../InstructionsContent.jsp) (revision 433558c547756edbd5d6e199e12be9a1ef090f36) +++ lams_tool_lamc/web/InstructionsContent.jsp (.../InstructionsContent.jsp) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -35,14 +35,14 @@ - + + -
- - - + + + + -
- -
+ +
+   +
+ : + + + + + + + + +
+ +
+
Index: lams_tool_lamc/web/WEB-INF/tiles/tiles-defs.xml =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -47,9 +47,7 @@ - - - + Index: lams_tool_lamc/web/allInstructionsContent.jsp =================================================================== diff -u -r91a0b9b037fb6c122cc88b7a20f78c826089dbdc -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/web/allInstructionsContent.jsp (.../allInstructionsContent.jsp) (revision 91a0b9b037fb6c122cc88b7a20f78c826089dbdc) +++ lams_tool_lamc/web/allInstructionsContent.jsp (.../allInstructionsContent.jsp) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -89,46 +89,60 @@ - - - - -
- <%@ include file="errorbox.jsp" %> -
- -

- + + + + + +
+ <%@ include file="errorbox.jsp" %> +
+
- +
-
- Cancel - + Cancel
-
-

Advanced Definitions

-
- -
+
+

Advanced Definitions

+ + + + + +
+ <%@ include file="errorbox.jsp" %> +
+ +
+
+
-
-

Instructions

-
- -
-
-
+
+

Instructions

+ + + + +
+ <%@ include file="errorbox.jsp" %> +
+ +
+ +
+
+

Index: lams_tool_lamc/web/authoringMaincontent.jsp =================================================================== diff -u -r433558c547756edbd5d6e199e12be9a1ef090f36 -r7018cf59202a9562124f6ea36ea1b2a95f5897bb --- lams_tool_lamc/web/authoringMaincontent.jsp (.../authoringMaincontent.jsp) (revision 433558c547756edbd5d6e199e12be9a1ef090f36) +++ lams_tool_lamc/web/authoringMaincontent.jsp (.../authoringMaincontent.jsp) (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -117,6 +117,15 @@

Advanced Definitions

+ + + + + +
+ <%@ include file="errorbox.jsp" %> +
+
@@ -125,6 +134,15 @@

Instructions

+ + + + + +
+ <%@ include file="errorbox.jsp" %> +
+
Index: lams_tool_lamc/web/loadFileContent.jsp =================================================================== diff -u --- lams_tool_lamc/web/loadFileContent.jsp (revision 0) +++ lams_tool_lamc/web/loadFileContent.jsp (revision 7018cf59202a9562124f6ea36ea1b2a95f5897bb) @@ -0,0 +1,157 @@ +<%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %> +<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> +<%@ taglib uri="/WEB-INF/struts-logic-el.tld" prefix="logic-el" %> +<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> +<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %> +<%@ taglib uri="fck-editor" prefix="FCK" %> + +<% +String protocol = request.getProtocol(); +if(protocol.startsWith("HTTPS")){ + protocol = "https://"; +}else{ + protocol = "http://"; +} +String root = protocol+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/"; +String pathToLams = protocol+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/../.."; + +%> + + + + + + +Tool + + + + + + + + + + + +

+ + + + + + + + + +
+ + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + +
+ +

+ + + + + +
+ <%@ include file="errorbox.jsp" %> +
+ +
+ + + + + + +
+ Cancel + +
+ + +
+

Advanced Definitions

+
+ +
+
+ + +
+

Instructions

+
+ +
+
+ +
+

+ + + + + +
+ + + + + + +