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