Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java
===================================================================
diff -u -r5583b96031dbb65e91d200b7121cc5cd49e26003 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java (.../QaUtils.java) (revision 5583b96031dbb65e91d200b7121cc5cd49e26003)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java (.../QaUtils.java) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -388,5 +388,17 @@
request.getSession().setAttribute(RICHTEXT_INSTRUCTIONS,richTextInstructions);
}
}
+
+ public static void configureContentRepository(HttpServletRequest request)
+ {
+ logger.debug("attempt configureContentRepository");
+ IQaService qaService =QaUtils.getToolService(request);
+ logger.debug("retrieving qaService from session: " + qaService);
+ logger.debug("calling configureContentRepository()");
+ qaService.configureContentRepository();
+ logger.debug("configureContentRepository ran successfully");
+ }
+
+
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml
===================================================================
diff -u -r0e747c5eb46e7a7618f09aaf32c3b7cb700a76dd -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 0e747c5eb46e7a7618f09aaf32c3b7cb700a76dd)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -95,8 +95,8 @@
-
+
@@ -107,7 +107,7 @@
PROPAGATION_REQUIRED,-QaApplicationException
PROPAGATION_REQUIRED,readOnly,-QacpApplicationException
PROPAGATION_REQUIRED,-QaApplicationException
- PROPAGATION_REQUIRED,-QaApplicationException
+
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java
===================================================================
diff -u -rabacef33c30b9343d8bd503d262256bf4761d887 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision abacef33c30b9343d8bd503d262256bf4761d887)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -21,6 +21,7 @@
package org.lamsfoundation.lams.tool.qa.service;
import java.io.InputStream;
+import java.util.Date;
import java.util.List;
import org.lamsfoundation.lams.contentrepository.ITicket;
@@ -45,12 +46,6 @@
*/
public interface IQaService
{
- public static final String QA_LOGIN = "qaLogin";
-
- public static final String QA_PASSWORD = "qaPassword";
-
- public static final String QA_WORKSPACE = "qaWorkspace";
-
/**
* Return the qa object according to the requested content id.
* @param toolContentId the tool content id
@@ -205,12 +200,20 @@
public QaQueContent getToolDefaultQuestionContent(long contentId);
+ /** repository access related methods from here: */
+ public void configureContentRepository() throws QaApplicationException;
+
public ITicket getRepositoryLoginTicket() throws QaApplicationException;
public void deleteFromRepository(Long uuid, Long versionID) throws QaApplicationException;
+
+ public NodeKey uploadFileToRepository(InputStream stream, String fileName, String mimeType) throws QaApplicationException;
- public NodeKey uploadFileToRepository(InputStream stream, String fileName, String mimeType) throws QaApplicationException;
+ public void uploadFile(Long toolContentId, String filePath, String fileDescription, Long userID) throws QaApplicationException;
public InputStream downloadFile(Long uuid, Long versionID)throws QaApplicationException;
+
+ public void uploadFile(InputStream stream, Long toolContentId, String filePath, String fileDescription, String fileName, String mimeType,Date dateOfSubmission, Long userID) throws QaApplicationException;
+ /** repository access related methods till here */
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java
===================================================================
diff -u -rabacef33c30b9343d8bd503d262256bf4761d887 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision abacef33c30b9343d8bd503d262256bf4761d887)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -34,9 +34,11 @@
import org.lamsfoundation.lams.contentrepository.ICredentials;
import org.lamsfoundation.lams.contentrepository.ITicket;
import org.lamsfoundation.lams.contentrepository.IVersionedNode;
+import org.lamsfoundation.lams.contentrepository.ItemExistsException;
import org.lamsfoundation.lams.contentrepository.ItemNotFoundException;
import org.lamsfoundation.lams.contentrepository.LoginException;
import org.lamsfoundation.lams.contentrepository.NodeKey;
+import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException;
import org.lamsfoundation.lams.contentrepository.WorkspaceNotFoundException;
import org.lamsfoundation.lams.contentrepository.service.IRepositoryService;
import org.lamsfoundation.lams.contentrepository.service.RepositoryProxy;
@@ -94,6 +96,13 @@
{
static Logger logger = Logger.getLogger(QaServicePOJO.class.getName());
+ /*repository access related constants */
+ private final String repositoryUser = "laqa11";
+ private final char[] repositoryId = {'l','a','q','a','_','1', '1'};
+ private final String repositoryWorkspace = "laqa11";
+ private IRepositoryService repositoryService;
+ private ICredentials cred;
+
private IQaContentDAO qaDAO;
private IQaQueContentDAO qaQueContentDAO;
private IQaSessionDAO qaSessionDAO;
@@ -103,11 +112,29 @@
private IUserManagementService userManagementService;
private ILamsToolService toolService;
- private IRepositoryService repositoryService;
-
-
-
+ public void configureContentRepository() throws QaApplicationException {
+ logger.debug("retrieved repService: "+ repositoryService);
+ cred = new SimpleCredentials(repositoryUser, repositoryId);
+ logger.debug("retrieved cred: "+ cred);
+ try
+ {
+ repositoryService.createCredentials(cred);
+ logger.debug("created credentails.");
+ repositoryService.addWorkspace(cred,repositoryWorkspace);
+ logger.debug("created workspace.");
+ } catch (ItemExistsException ie) {
+ logger.warn("Tried to configure repository but it "
+ +" appears to be already configured. Exception thrown by repository being ignored. ", ie);
+ } catch (RepositoryCheckedException e) {
+ String error = "Error occured while trying to configure repository."
+ +" Unable to recover from error: "+e.getMessage();
+ logger.error(error, e);
+ throw new QaApplicationException(error,e);
+ }
+ }
+
+
public QaServicePOJO(){}
public void setQaDAO(IQaContentDAO qaDAO)
@@ -1311,11 +1338,11 @@
logger.debug("retrieved repositoryService : " + repositoryService);
ICredentials credentials = new SimpleCredentials(
- IQaService.QA_LOGIN,
- IQaService.QA_PASSWORD.toCharArray());
+ repositoryUser,
+ repositoryId);
try {
ITicket ticket = repositoryService.login(credentials,
- IQaService.QA_WORKSPACE);
+ repositoryWorkspace);
logger.debug("retrieved ticket: " + ticket);
return ticket;
} catch (AccessDeniedException e) {
@@ -1371,8 +1398,7 @@
* @return NodeKey Represents the two part key - UUID and Version.
* @throws SubmitFilesException
*/
- public NodeKey uploadFileToRepository(InputStream stream, String fileName,
- String mimeType) throws QaApplicationException {
+ public NodeKey uploadFileToRepository(InputStream stream, String fileName,String mimeType) throws QaApplicationException {
ITicket ticket = getRepositoryLoginTicket();
try {
NodeKey nodeKey = repositoryService.addFileItem(ticket, stream,
@@ -1400,8 +1426,7 @@
}
}
- public void uploadFile(Long toolContentId, String filePath,
- String fileDescription, Long userID) throws QaApplicationException{
+ public void uploadFile(Long toolContentId, String filePath, String fileDescription, Long userID) throws QaApplicationException{
try{
File file = new File(filePath);
logger.debug("retrieved file: " + file);
@@ -1455,9 +1480,7 @@
* The User
who has uploaded the file.
* @throws SubmitFilesException
*/
- private void uploadFile(InputStream stream, Long toolContentId, String filePath,
- String fileDescription, String fileName, String mimeType,
- Date dateOfSubmission, Long userID) throws QaApplicationException {
+ public void uploadFile(InputStream stream, Long toolContentId, String filePath, String fileDescription, String fileName, String mimeType,Date dateOfSubmission, Long userID) throws QaApplicationException {
QaContent qaContent = qaDAO.loadQaById(toolContentId.longValue());
logger.debug("retrieving qaContent: " + qaContent);
@@ -1480,8 +1503,5 @@
}
}
-
-
-
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java
===================================================================
diff -u -r1213de28fa1704749c2b8cc7029667a5e944cef8 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision 1213de28fa1704749c2b8cc7029667a5e944cef8)
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -101,7 +101,7 @@
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException, QaApplicationException {
-
+
QaAuthoringForm qaAuthoringForm = (QaAuthoringForm) form;
qaAuthoringForm.resetRadioBoxes();
@@ -120,6 +120,8 @@
request.getSession().setAttribute(TOOL_SERVICE, qaService);
}
+ QaUtils.configureContentRepository(request);
+
/**
* retrieve the default content id based on tool signature
*/
Index: lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml
===================================================================
diff -u -rc2c90fffd84acacd50458727538e2e934e71d03e -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision c2c90fffd84acacd50458727538e2e934e71d03e)
+++ lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -97,6 +97,7 @@
+
@@ -107,7 +108,7 @@
PROPAGATION_REQUIRED,-QaApplicationException
PROPAGATION_REQUIRED,readOnly,-QacpApplicationException
PROPAGATION_REQUIRED,-QaApplicationException
- PROPAGATION_REQUIRED,-QaApplicationException
+
Index: lams_tool_laqa/test/web/WEB-INF/web.xml
===================================================================
diff -u -rd231fdf18f3da49f3ca42f543c784f4d09a59332 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/test/web/WEB-INF/web.xml (.../web.xml) (revision d231fdf18f3da49f3ca42f543c784f4d09a59332)
+++ lams_tool_laqa/test/web/WEB-INF/web.xml (.../web.xml) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -14,6 +14,7 @@
classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
classpath:/org/lamsfoundation/lams/tool/toolApplicationContext.xml
classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
classpath:/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml
Index: lams_tool_laqa/web/WEB-INF/qaApplicationContext.xml
===================================================================
diff -u -rc2c90fffd84acacd50458727538e2e934e71d03e -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/web/WEB-INF/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision c2c90fffd84acacd50458727538e2e934e71d03e)
+++ lams_tool_laqa/web/WEB-INF/qaApplicationContext.xml (.../qaApplicationContext.xml) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -95,8 +95,8 @@
-
+
@@ -107,7 +107,7 @@
PROPAGATION_REQUIRED,-QaApplicationException
PROPAGATION_REQUIRED,readOnly,-QacpApplicationException
PROPAGATION_REQUIRED,-QaApplicationException
- PROPAGATION_REQUIRED,-QaApplicationException
+
Index: lams_tool_laqa/web/WEB-INF/web.xml
===================================================================
diff -u -r4447ae1bb802ba8a16df65d880f25575d1174003 -r1a3ba47c7a8bfccfd83b51645739dec49f30f44b
--- lams_tool_laqa/web/WEB-INF/web.xml (.../web.xml) (revision 4447ae1bb802ba8a16df65d880f25575d1174003)
+++ lams_tool_laqa/web/WEB-INF/web.xml (.../web.xml) (revision 1a3ba47c7a8bfccfd83b51645739dec49f30f44b)
@@ -14,6 +14,7 @@
classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
classpath:/org/lamsfoundation/lams/tool/toolApplicationContext.xml
classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
classpath:/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml