
|
If you were logged in you would be able to see more operations.
|
|
|
| 2.6.x Status: |
None
|
| 2.5.x Status: |
None
|
| 2.4.x Status: |
None
|
|
Configure Samigo so that it stores uploaded files in the file system instead the database:
sam/tool/sakai-samigo/webapp/WEB-INF/web.xml
<init-param>
<param-name>com.corejsf.UploadFilter.saveMediaToDb</param-name>
<param-value>false</param-value>
</init-param>
1. Create question type of File Upload
2. As a student take the test and upload a simple text file
3. After the student took the test, click on the test's score link and go to the file upload question. There you should see a link to the uploaded file. Click on the file link to view it and Samigo throws an exception:
Exception:
INFO: **mediaId = 1 (2006-07-14 08:44:41,261 http-8443-Processor20_org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet)
INFO: ****1. media file size=13 (2006-07-14 08:44:41,268 http-8443-Processor20_org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet)
WARN: (2006-07-14 08:44:41,270 http-8443-Processor20_org.sakaiproject.util.RequestFilter)
java.lang.NullPointerException
at org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet.doPost(ShowMediaServlet.java:77)
at org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet.doGet(ShowMediaServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:535)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
|
|
Description
|
Configure Samigo so that it stores uploaded files in the file system instead the database:
sam/tool/sakai-samigo/webapp/WEB-INF/web.xml
<init-param>
<param-name>com.corejsf.UploadFilter.saveMediaToDb</param-name>
<param-value>false</param-value>
</init-param>
1. Create question type of File Upload
2. As a student take the test and upload a simple text file
3. After the student took the test, click on the test's score link and go to the file upload question. There you should see a link to the uploaded file. Click on the file link to view it and Samigo throws an exception:
Exception:
INFO: **mediaId = 1 (2006-07-14 08:44:41,261 http-8443-Processor20_org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet)
INFO: ****1. media file size=13 (2006-07-14 08:44:41,268 http-8443-Processor20_org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet)
WARN: (2006-07-14 08:44:41,270 http-8443-Processor20_org.sakaiproject.util.RequestFilter)
java.lang.NullPointerException
at org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet.doPost(ShowMediaServlet.java:77)
at org.sakaiproject.tool.assessment.ui.servlet.delivery.ShowMediaServlet.doGet(ShowMediaServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:535)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
|
Show » |
|
Index: /home/thomas/sakai-2-1-x/sam/component/src/java/org/sakaiproject/tool/assessment/facade/AssessmentGradingFacadeQueries.java
===================================================================
--- /home/thomas/sakai-2-1-x/sam/component/src/java/org/sakaiproject/tool/assessment/facade/AssessmentGradingFacadeQueries.java (revision 12327)
+++ /home/thomas/sakai-2-1-x/sam/component/src/java/org/sakaiproject/tool/assessment/facade/AssessmentGradingFacadeQueries.java (working copy)
@@ -452,9 +452,16 @@
MediaData mediaData = (MediaData) getHibernateTemplate().load(MediaData.class, mediaId);
if (mediaData != null){
String mediaLocation = mediaData.getLocation();
+
+ // Test if content is in DB or File System
+
+ // DB case:
if (mediaLocation == null || (mediaLocation.trim()).equals("")){
mediaData.setMedia(getMediaStream(mediaId));
}
+ else {// File system
+ mediaData.setMedia(new byte[0]);
+ }
}
return mediaData;
}