Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringStarterAction.java =================================================================== diff -u -rc56624b9e4b9edd53a44f1fe7947a568e79cf5d8 -rd66f1d59f9802519653383ac842dce858b469724 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringStarterAction.java (.../NbAuthoringStarterAction.java) (revision c56624b9e4b9edd53a44f1fe7947a568e79cf5d8) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbAuthoringStarterAction.java (.../NbAuthoringStarterAction.java) (revision d66f1d59f9802519653383ac842dce858b469724) @@ -32,7 +32,8 @@ import org.apache.log4j.Logger; -import org.apache.struts.action.Action; +//import org.apache.struts.action.Action; +import org.lamsfoundation.lams.web.action.LamsAction; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; @@ -49,6 +50,7 @@ /**TODO: change into one utility class */ import org.apache.struts.action.ActionMessages; import org.apache.struts.action.ActionMessage; +import org.apache.struts.util.MessageResources; /** @@ -58,12 +60,21 @@ * * @struts:action path="/starter/authoring" name="NbAuthoringForm" scope="session" type="org.lamsfoundation.lams.tool.noticeboard.web.NbAuthoringStarterAction" * validate="false" + * @struts.action-exception key="error.exception.NbApplication" scope="request" + * type="org.lamsfoundation.lams.tool.noticeboard.NbApplicationException" + * path=".error" + * handler="org.lamsfoundation.lams.tool.noticeboard.web.CustomStrutsExceptionHandler" + * @struts.action-exception key="error.exception.NbApplication" scope="request" + * type="java.lang.NullPointerException" + * path=".error" + * handler="org.lamsfoundation.lams.tool.noticeboard.web.CustomStrutsExceptionHandler" + * * @struts:action-forward name="basic" path=".nb_basic" * @struts:action-forward name="displayMessage" path=".message" * ----------------XDoclet Tags-------------------- */ -public class NbAuthoringStarterAction extends Action { +public class NbAuthoringStarterAction extends LamsAction { static Logger logger = Logger.getLogger(NbAuthoringAction.class.getName()); @@ -82,16 +93,20 @@ */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws NbApplicationException { + MessageResources resources = getResources(request); + NbAuthoringForm nbForm = (NbAuthoringForm)form; Long contentId = NbWebUtil.convertToLong(request.getParameter(NoticeboardConstants.TOOL_CONTENT_ID)); - nbForm.setToolContentId(contentId.toString()); - + if(contentId == null) - { - String error = "Tool content id missing. Unable to continue."; + { + //String error = "Tool content id missing. Unable to continue."; + String error = resources.getMessage(NoticeboardConstants.ERR_MISSING_PARAM, "Tool Content Id"); + logger.error(error); throw new NbApplicationException(error); } + nbForm.setToolContentId(contentId.toString()); /* if there is a defineLater request parameter, set the form value * If a defineLater request parameter is not present, then it is just set to null. @@ -115,6 +130,8 @@ // Pre-fill the form with the default content NoticeboardContent nb = nbService.retrieveNoticeboard(NoticeboardConstants.DEFAULT_CONTENT_ID); + /** TODO: add a check to see if object is null */ + //create a new noticeboard object and prefill with default content, save to database NoticeboardContent nbContentNew = new NoticeboardContent(contentId, nb.getTitle(), Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbMonitoringStarterAction.java =================================================================== diff -u -r0432fd8eb7147e5fe292fe0a98aadf25543e29c9 -rd66f1d59f9802519653383ac842dce858b469724 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbMonitoringStarterAction.java (.../NbMonitoringStarterAction.java) (revision 0432fd8eb7147e5fe292fe0a98aadf25543e29c9) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbMonitoringStarterAction.java (.../NbMonitoringStarterAction.java) (revision d66f1d59f9802519653383ac842dce858b469724) @@ -28,15 +28,15 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.apache.struts.action.Action; +//import org.apache.struts.action.Action; +import org.lamsfoundation.lams.web.action.LamsAction; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.tool.noticeboard.NbApplicationException; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardConstants; import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent; import org.lamsfoundation.lams.tool.noticeboard.web.NbMonitoringForm; -import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.tool.noticeboard.util.NbWebUtil; import org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService; @@ -53,11 +53,15 @@ * * @struts:action path="/starter/monitor" name="NbMonitoringForm" scope="session" type="org.lamsfoundation.lams.tool.noticeboard.web.NbMonitoringStarterAction" * input=".monitoringStarter" validate="false" + * @struts.action-exception key="error.exception.NbApplication" scope="request" + * type="org.lamsfoundation.lams.tool.noticeboard.NbApplicationException" + * path=".error" + * handler="org.lamsfoundation.lams.tool.noticeboard.web.CustomStrutsExceptionHandler" * @struts:action-forward name="monitorPage" path=".monitoringContent" * ----------------XDoclet Tags-------------------- */ -public class NbMonitoringStarterAction extends Action { +public class NbMonitoringStarterAction extends LamsAction { static Logger logger = Logger.getLogger(NbMonitoringStarterAction.class.getName()); @@ -69,7 +73,14 @@ INoticeboardService nbService = NoticeboardServiceProxy.getNbService(getServlet().getServletContext()); monitorForm.reset(); NbWebUtil.cleanMonitoringSession(request); - Long toolContentId = new Long(WebUtil.readLongParam(request, NoticeboardConstants.TOOL_CONTENT_ID)); + Long toolContentId = NbWebUtil.convertToLong(request.getParameter(NoticeboardConstants.TOOL_CONTENT_ID)); + + if (toolContentId == null) + { + String error = "Unable to continue. Tool content id missing"; + logger.error(error); + throw new NbApplicationException(error); + } monitorForm.setToolContentId(toolContentId.toString()); request.getSession().setAttribute(NoticeboardConstants.TOOL_CONTENT_ID_INMONITORMODE, toolContentId);