Index: lams_tool_nb/conf/xdoclet/servlets.xml =================================================================== diff -u -r91318af5866b9de26b115c59b8479308813e2cf7 -r96cf45593171547d09ab2eefa67f191503418e6a --- lams_tool_nb/conf/xdoclet/servlets.xml (.../servlets.xml) (revision 91318af5866b9de26b115c59b8479308813e2cf7) +++ lams_tool_nb/conf/xdoclet/servlets.xml (.../servlets.xml) (revision 96cf45593171547d09ab2eefa67f191503418e6a) @@ -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 =================================================================== diff -u -r6e5832d17263bc6c6f7683733e91e22f97eab569 -r96cf45593171547d09ab2eefa67f191503418e6a --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml (.../applicationContext.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/applicationContext.xml (.../applicationContext.xml) (revision 96cf45593171547d09ab2eefa67f191503418e6a) @@ -70,7 +70,7 @@ - + Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java =================================================================== diff -u -rcc8d826ca71e852f345cf878d112f8daba245fd2 -r96cf45593171547d09ab2eefa67f191503418e6a --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java (.../NoticeboardServiceProxy.java) (revision cc8d826ca71e852f345cf878d112f8daba245fd2) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServiceProxy.java (.../NoticeboardServiceProxy.java) (revision 96cf45593171547d09ab2eefa67f191503418e6a) @@ -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 =================================================================== diff -u -r89ae2d0b15d307b9dd4c20da0577481807524ce2 -r96cf45593171547d09ab2eefa67f191503418e6a --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java (.../NbAuthoringAction.java) (revision 89ae2d0b15d307b9dd4c20da0577481807524ce2) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringAction.java (.../NbAuthoringAction.java) (revision 96cf45593171547d09ab2eefa67f191503418e6a) @@ -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 =================================================================== diff -u -rd789031b1ec349fa6315006cff40f1abc607b932 -r96cf45593171547d09ab2eefa67f191503418e6a --- lams_tool_nb/web/WEB-INF/web.xml (.../web.xml) (revision d789031b1ec349fa6315006cff40f1abc607b932) +++ lams_tool_nb/web/WEB-INF/web.xml (.../web.xml) (revision 96cf45593171547d09ab2eefa67f191503418e6a) @@ -112,6 +112,10 @@ Instructions Download Instructions Download org.lamsfoundation.lams.contentrepository.client.ToolDownload + + toolContentHandlerBeanName + nbToolContentHandler + 3