Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/Attic/QaUtils.java,v diff -u -r1.11 -r1.12 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java 14 Jul 2005 05:45:41 -0000 1.11 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java 18 Jul 2005 23:33:04 -0000 1.12 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml,v diff -u -r1.4 -r1.5 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 28 Jun 2005 02:41:21 -0000 1.4 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 18 Jul 2005 23:33:04 -0000 1.5 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java,v diff -u -r1.8 -r1.9 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 15 Jul 2005 06:07:02 -0000 1.8 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 18 Jul 2005 23:33:04 -0000 1.9 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java,v diff -u -r1.10 -r1.11 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 15 Jul 2005 06:07:54 -0000 1.10 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 18 Jul 2005 23:33:04 -0000 1.11 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java,v diff -u -r1.13 -r1.14 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 14 Jul 2005 05:45:42 -0000 1.13 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 18 Jul 2005 23:33:04 -0000 1.14 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/Attic/qaApplicationContext.xml,v diff -u -r1.2 -r1.3 --- lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 28 Jun 2005 07:24:55 -0000 1.2 +++ lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 18 Jul 2005 23:33:04 -0000 1.3 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/test/web/WEB-INF/Attic/web.xml,v diff -u -r1.3 -r1.4 --- lams_tool_laqa/test/web/WEB-INF/web.xml 7 Jul 2005 07:14:12 -0000 1.3 +++ lams_tool_laqa/test/web/WEB-INF/web.xml 18 Jul 2005 23:33:04 -0000 1.4 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/WEB-INF/Attic/qaApplicationContext.xml,v diff -u -r1.2 -r1.3 --- lams_tool_laqa/web/WEB-INF/qaApplicationContext.xml 28 Jun 2005 07:24:55 -0000 1.2 +++ lams_tool_laqa/web/WEB-INF/qaApplicationContext.xml 18 Jul 2005 23:33:04 -0000 1.3 @@ -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 =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/WEB-INF/web.xml,v diff -u -r1.3 -r1.4 --- lams_tool_laqa/web/WEB-INF/web.xml 6 Jul 2005 04:53:07 -0000 1.3 +++ lams_tool_laqa/web/WEB-INF/web.xml 18 Jul 2005 23:33:04 -0000 1.4 @@ -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