Index: lams_tool_nb/conf/xdoclet/servlets.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/conf/xdoclet/servlets.xml,v diff -u -r1.5 -r1.6 --- lams_tool_nb/conf/xdoclet/servlets.xml 23 Sep 2005 07:27:15 -0000 1.5 +++ lams_tool_nb/conf/xdoclet/servlets.xml 21 Nov 2005 22:27:18 -0000 1.6 @@ -45,6 +45,10 @@ Instructions Download Instructions Download org.lamsfoundation.lams.contentrepository.client.ToolDownload + + toolContentHandlerBeanName + nbToolContentHandler + 3 Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/Attic/applicationContext.xml,v diff -u -r1.11 -r1.12 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml 6 Oct 2005 06:46:37 -0000 1.11 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml 21 Nov 2005 22:27:18 -0000 1.12 @@ -70,7 +70,7 @@ - + Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java,v diff -u -r1.4 -r1.5 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java 14 Sep 2005 01:46:22 -0000 1.4 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java 21 Nov 2005 22:27:18 -0000 1.5 @@ -21,11 +21,12 @@ package org.lamsfoundation.lams.tool.noticeboard.service; import javax.servlet.ServletContext; -import org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; + import org.lamsfoundation.lams.tool.ToolContentManager; import org.lamsfoundation.lams.tool.ToolSessionManager; +import org.lamsfoundation.lams.tool.noticeboard.util.NbToolContentHandler; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; /** @@ -73,5 +74,15 @@ { return (ToolContentManager)getNbDomainService(servletContext); } - + + /* + * Get the Noticeboard's tool content handler + * @param servletContext the servletContext for current application + * @return noticeboard service object. */ + public static final NbToolContentHandler getToolContentHandler(ServletContext servletContext) + { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + return (NbToolContentHandler) wac.getBean("nbToolContentHandler"); + } + } Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java,v diff -u -r1.18 -r1.19 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java 21 Nov 2005 04:52:42 -0000 1.18 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java 21 Nov 2005 22:27:18 -0000 1.19 @@ -47,21 +47,19 @@ import org.lamsfoundation.lams.contentrepository.InvalidParameterException; import org.lamsfoundation.lams.contentrepository.NodeKey; import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; import org.lamsfoundation.lams.tool.noticeboard.NbApplicationException; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardAttachment; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardConstants; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; import org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService; import org.lamsfoundation.lams.tool.noticeboard.service.NoticeboardServiceProxy; -import org.lamsfoundation.lams.tool.noticeboard.util.NbToolContentHandler; import org.lamsfoundation.lams.tool.noticeboard.util.NbWebUtil; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsLookupDispatchAction; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; /** * @author mtruong @@ -102,17 +100,6 @@ static Logger logger = Logger.getLogger(NbAuthoringAction.class.getName()); public final static String FORM="NbAuthoringForm"; - private NbToolContentHandler toolContentHandler; - - private NbToolContentHandler getToolContentHandler() - { - if ( toolContentHandler == null ) { - WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - toolContentHandler = (NbToolContentHandler) wac.getBean(NbToolContentHandler.SPRING_BEAN_NAME); - } - return toolContentHandler; - } - /** Get the user from the shared session */ public UserDTO getUser(HttpServletRequest request) { // set up the user details @@ -331,7 +318,8 @@ // shouldn't cause any errors. try { - getToolContentHandler().deleteFile(attachment.getUuid()); + IToolContentHandler toolContentHandler = NoticeboardServiceProxy.getToolContentHandler(getServlet().getServletContext()); + toolContentHandler.deleteFile(attachment.getUuid()); } catch (RepositoryCheckedException e) { logger.error("Unable to delete file",e); @@ -415,8 +403,8 @@ { // This is a new file and so is saved to the content repository. Add it to the // attachments collection, but don't add it to the tool's tables yet. - NodeKey node = getToolContentHandler().uploadFile(theFile.getInputStream(), theFile.getFileName(), - theFile.getContentType(), fileType); + IToolContentHandler toolContentHandler = NoticeboardServiceProxy.getToolContentHandler(getServlet().getServletContext()); + NodeKey node = toolContentHandler.uploadFile(theFile.getInputStream(), theFile.getFileName(), theFile.getContentType(), fileType); NoticeboardAttachment file = new NoticeboardAttachment(); file.setFilename(theFile.getFileName()); file.setOnlineFile(isOnlineFile); Index: lams_tool_nb/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/WEB-INF/Attic/web.xml,v diff -u -r1.9 -r1.10 --- lams_tool_nb/web/WEB-INF/web.xml 16 Nov 2005 00:37:50 -0000 1.9 +++ lams_tool_nb/web/WEB-INF/web.xml 21 Nov 2005 22:27:18 -0000 1.10 @@ -112,6 +112,10 @@ Instructions Download Instructions Download org.lamsfoundation.lams.contentrepository.client.ToolDownload + + toolContentHandlerBeanName + nbToolContentHandler + 3