Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java
===================================================================
diff -u -ra766c8fe51dfa314947b20ef98e525d63b328fbe -r39af8b91ad929bde8a7b66abca038a5949a414b4
--- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision a766c8fe51dfa314947b20ef98e525d63b328fbe)
+++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision 39af8b91ad929bde8a7b66abca038a5949a414b4)
@@ -21,13 +21,19 @@
package org.lamsfoundation.lams.tool.noticeboard.service;
+import java.util.Date;
+
+
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent;
+import org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession;
import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardContentDAO;
+import org.lamsfoundation.lams.tool.noticeboard.dao.INoticeboardSessionDAO;
import org.springframework.dao.DataAccessException;
import org.lamsfoundation.lams.tool.noticeboard.NbApplicationException;
import org.lamsfoundation.lams.tool.ToolContentManager;
+
/**
* An implementation of the NoticeboardService interface.
* @author mtruong
@@ -40,9 +46,14 @@
private NoticeboardContent nbContent;
private INoticeboardContentDAO nbContentDAO=null;
+ private NoticeboardSession nbSession;
+ private INoticeboardSessionDAO nbSessionDAO = null;
+
private static Logger log = Logger.getLogger(NoticeboardServicePOJO.class);
-
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#retrieveNoticeboard(Long)
+ */
public NoticeboardContent retrieveNoticeboard(Long nbContentId)
{
try
@@ -59,6 +70,10 @@
return nbContent;
}
+
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#updateNoticeboard(org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent)
+ */
public void updateNoticeboard(NoticeboardContent nbContent)
{
try
@@ -74,6 +89,9 @@
}
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#saveNoticeboard(org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent)
+ */
public void saveNoticeboard(NoticeboardContent nbContent)
{
try
@@ -87,6 +105,9 @@
}
}
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#removeNoticeboardSessions(org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent)
+ */
public void removeNoticeboardSessions(NoticeboardContent nbContent)
{
try
@@ -100,7 +121,10 @@
}
}
-
+
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#removeNoticeboard(org.lamsfoundation.lams.tool.noticeboard.NoticeboardContent)
+ */
public void removeNoticeboard(Long nbContentId)
{
try
@@ -114,6 +138,23 @@
}
}
+ /**
+ * @see org.lamsfoundation.lams.tool.noticeboard.service.INoticeboardService#saveNoticeboardSession(org.lamsfoundation.lams.tool.noticeboard.NoticeboardSession)
+ */
+ public void saveNoticeboardSession(NoticeboardSession nbSession)
+ {
+ try
+ {
+ nbSessionDAO.saveNbSession(nbSession);
+ }
+ catch(DataAccessException e)
+ {
+ throw new NbApplicationException("EXCEPTION: An exception has occurred while trying to remove this noticeboard session: "
+ +e.getMessage(), e);
+ }
+ }
+
+
/* ===============Methods implemented from ToolContentManager =============== */
public void copyToolContent(Long fromContentId, Long toContentId) throws NbApplicationException
@@ -173,7 +214,55 @@
removeNoticeboard(toolContentId);
}
-/* getter setter methods to obtain the service bean */
+
+ /* ===============Methods implemented from ToolContentManager =============== */
+
+ /**
+ * Creates a new noticeboard session with noticeboard
+ * content with id toolContentId
+ * toolSessionId
and toolContentId
must not be null
+ *
+ * @param toolSessionId the new noticeboard session id to create
+ * @param toolContentId the tool content id which is associated with the toolSessionId
+ */
+ public void createToolSession(Long toolSessionId, Long toolContentId)
+ {
+ if (toolSessionId == null || toolContentId == null)
+ {
+ String error = "Noticeboard Session cannot be created, toolContentId or toolSessionId must not be null";
+ throw new NbApplicationException(error);
+ }
+
+ NoticeboardContent nbContent = retrieveNoticeboard(toolContentId);
+
+ NoticeboardSession nbSession = new NoticeboardSession(toolSessionId,
+ nbContent,
+ new Date(System.currentTimeMillis()),
+ NoticeboardSession.NOT_ATTEMPTED);
+
+ saveNoticeboardSession(nbSession);
+
+ }
+
+/* public String leaveToolSession(Long toolSessionId, User learner)
+ {
+
+ }
+
+ public ToolSessionExportOutputData exportToolSession(Long toolSessionId)
+ {
+
+ }
+
+ public ToolSessionExportOutputData exportToolSession(List toolSessionIds)
+ {
+
+ }
+
+*/
+
+
+ /* getter setter methods to obtain the service bean */
public INoticeboardContentDAO getNbContentDAO()
{
return nbContentDAO;
@@ -183,4 +272,14 @@
{
this.nbContentDAO = nbContentDAO;
}
+
+ public INoticeboardSessionDAO getNbSessionDAO()
+ {
+ return nbSessionDAO;
+ }
+
+ public void setNbSessionDAO(INoticeboardSessionDAO nbSessionDAO)
+ {
+ this.nbSessionDAO = nbSessionDAO;
+ }
}