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); +}