Index: lams_common/build.xml
===================================================================
diff -u -r4dc7a29fbadab19482cdbe649eb2fe66ddf0cf29 -r03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87
--- lams_common/build.xml (.../build.xml) (revision 4dc7a29fbadab19482cdbe649eb2fe66ddf0cf29)
+++ lams_common/build.xml (.../build.xml) (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -276,8 +276,8 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
+ output="${db.scripts}/notebook_table-schema.sql">
-
+
-
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/journal/model/JournalEntry.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml
===================================================================
diff -u
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml (revision 0)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/db/sql/create_journal_tables.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/db/sql/create_notebook_tables.sql
===================================================================
diff -u
--- lams_common/db/sql/create_notebook_tables.sql (revision 0)
+++ lams_common/db/sql/create_notebook_tables.sql (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,2 @@
+drop table if exists lams_notebook_entry;
+create table lams_notebook_entry (uid bigint not null auto_increment, external_id bigint, external_id_type integer, external_signature varchar(255), user_id integer, title varchar(255), entry varchar(255), primary key (uid));
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/db/sql/journal_table-schema.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/db/sql/notebook_table-schema.sql
===================================================================
diff -u
--- lams_common/db/sql/notebook_table-schema.sql (revision 0)
+++ lams_common/db/sql/notebook_table-schema.sql (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,2 @@
+drop table if exists lams_notebook_entry;
+create table lams_notebook_entry (uid bigint not null auto_increment, external_id bigint, external_id_type integer, external_signature varchar(255), user_id integer, title varchar(255), entry varchar(255), primary key (uid));
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -r4dc7a29fbadab19482cdbe649eb2fe66ddf0cf29 -r03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 4dc7a29fbadab19482cdbe649eb2fe66ddf0cf29)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -72,8 +72,8 @@
org/lamsfoundation/lams/themes/CSSStyle.hbm.xml
org/lamsfoundation/lams/themes/CSSThemeVisualElement.hbm.xml
-
- org/lamsfoundation/lams/journal/model/JournalEntry.hbm.xml
+
+ org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml
@@ -182,9 +182,9 @@
-
-
-
+
+
+
@@ -226,8 +226,8 @@
-
-
+
+
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/journal/dao/IJournalEntryDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/journal/dao/hibernate/JournalEntryDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/journal/model/JournalEntry.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/journal/service/IJournalService.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/journal/service/JournalService.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,40 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.notebook.dao;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+
+public interface INotebookEntryDAO {
+
+ void saveOrUpdate(NotebookEntry nb);
+
+ List get(String id, Long idType, Long userID);
+
+ NotebookEntry get(Long uid);
+
+}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,51 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.notebook.dao.hibernate;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
+import org.lamsfoundation.lams.notebook.dao.INotebookEntryDAO;
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+
+public class NotebookEntryDAO extends BaseDAO implements INotebookEntryDAO {
+
+ public static final String SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID = "";
+
+ public void saveOrUpdate(NotebookEntry notebookEntry) {
+ this.getHibernateTemplate().saveOrUpdate(notebookEntry);
+ this.getHibernateTemplate().flush();
+ }
+
+ public List get(String id, Long idType, Long userID) {
+ return getHibernateTemplate().find(SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID, new Object[]{id, idType, userID});
+ }
+
+ public NotebookEntry get(Long uid) {
+ Object o = getHibernateTemplate().get(NotebookEntry.class, uid);
+ return (NotebookEntry)o;
+ }
+}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,136 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.notebook.model;
+
+/**
+ * @hibernate.class table="lams_notebook_entry"
+ */
+public class NotebookEntry implements java.io.Serializable, Cloneable {
+
+ private static final long serialVersionUID = 653296132134948803L;
+
+ private Long uid;
+
+ private Long externalID;
+
+ private Integer externalIDType;
+
+ private String externalSignature;
+
+ private Integer userID;
+
+ private String title;
+
+ private String entry;
+
+ public NotebookEntry() {}
+
+ public NotebookEntry(Long externalID, Integer externalIDType, String externalSignature, Integer userID, String title, String entry) {
+ this.externalID = externalID;
+ this.externalIDType = externalIDType;
+ this.externalSignature = externalSignature;
+ this.userID = userID;
+ this.title = title;
+ this.entry = entry;
+ }
+
+ /**
+ * @hibernate.id generator-class="native" type="java.lang.Long" column="uid"
+ */
+ public Long getUid() {
+ return uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @hibernate.property column="external_id"
+ */
+ public Long getExternalID() {
+ return externalID;
+ }
+
+ public void setExternalID(Long externalID) {
+ this.externalID = externalID;
+ }
+
+ /**
+ * @hibernate.property column="external_id_type"
+ */
+ public Integer getExternalIDType() {
+ return externalIDType;
+ }
+
+ public void setExternalIDType(Integer externalIDType) {
+ this.externalIDType = externalIDType;
+ }
+
+ /**
+ * @hibernate.property column="external_signature"
+ */
+ public String getExternalSignature() {
+ return externalSignature;
+ }
+
+ public void setExternalSignature(String externalSignature) {
+ this.externalSignature = externalSignature;
+ }
+
+ /**
+ * @hibernate.property column="user_id"
+ */
+ public Integer getUserID() {
+ return userID;
+ }
+
+ public void setUserID(Integer userID) {
+ this.userID = userID;
+ }
+
+ /**
+ * @hibernate.property column="title"
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /**
+ * @hibernate.property column="entry"
+ */
+ public String getEntry() {
+ return entry;
+ }
+
+ public void setEntry(String entry) {
+ this.entry = entry;
+ }
+}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,91 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.notebook.service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.notebook.dao.INotebookEntryDAO;
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+
+public class CoreNotebookService implements ICoreNotebookService {
+
+ private static Logger log = Logger.getLogger(CoreNotebookService.class);
+
+ private INotebookEntryDAO notebookEntryDAO;
+
+ public Long createNotebookEntry(Long id, Integer idType, String signature,
+ Integer userID, String title, String entry) {
+
+ NotebookEntry notebookEntry = new NotebookEntry(id, idType, signature,
+ userID, title, entry);
+ saveOrUpdateNotebookEntry(notebookEntry);
+ return notebookEntry.getUid();
+ }
+
+ public List getEntry(String id, Long idType, Long userID) {
+ List list = notebookEntryDAO.get(id, idType, userID);
+ List notebookEntries = new ArrayList();
+ for (Iterator iter = list.iterator(); iter.hasNext();) {
+ NotebookEntry element = (NotebookEntry) iter.next();
+ notebookEntries.add(element);
+ }
+ return notebookEntries;
+ }
+
+ public NotebookEntry getEntry(Long uid) {
+ return notebookEntryDAO.get(uid);
+ }
+
+ public void updateEntry(Long uid, String title, String entry) {
+ NotebookEntry ne = getEntry(uid);
+ if (ne != null) {
+ ne.setTitle(title);
+ ne.setEntry(entry);
+ saveOrUpdateNotebookEntry(ne);
+ } else {
+ log.debug("updateEntry: uid " + uid + "does not exist");
+ }
+ }
+
+ public void updateEntry(NotebookEntry notebookEntry) {
+ saveOrUpdateNotebookEntry(notebookEntry);
+ }
+
+ /* Private methods */
+
+ private void saveOrUpdateNotebookEntry(NotebookEntry notebookEntry) {
+ notebookEntryDAO.saveOrUpdate(notebookEntry);
+ }
+
+ /* ********** Used by Spring to "inject" the linked objects ************* */
+
+ public void setNotebookEntryDAO(INotebookEntryDAO notebookEntryDAO) {
+ this.notebookEntryDAO = notebookEntryDAO;
+ }
+}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java (revision 03abda6aa87eacaaab4f2ffa4fdd2daa98bebf87)
@@ -0,0 +1,44 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.notebook.service;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+
+public interface ICoreNotebookService {
+
+ Long createNotebookEntry(Long id, Integer idType, String signature,
+ Integer userID, String title, String entry);
+
+ List getEntry(String id, Long idType, Long userID);
+
+ NotebookEntry getEntry(Long uid);
+
+ void updateEntry(Long uid, String title, String entry);
+
+ void updateEntry(NotebookEntry notebookEntry);
+}