Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapMarkerDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapMarkerDAO.java,v diff -u -r1.3 -r1.4 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapMarkerDAO.java 4 Jul 2008 02:36:02 -0000 1.3 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapMarkerDAO.java 8 Jul 2008 05:09:17 -0000 1.4 @@ -29,9 +29,20 @@ import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.tool.gmap.model.GmapMarker; +/** + * DAO for accessing markers + * + * @author lfoxton + * + */ public interface IGmapMarkerDAO extends IBaseDAO { void saveOrUpdate(GmapMarker toContent); + /** + * Gets the markers based on the session they belong to + * @param toolSessionId + * @return + */ List getByToolSessionId(Long toolSessionId); } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapMarkerDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapMarkerDAO.java,v diff -u -r1.2 -r1.3 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapMarkerDAO.java 4 Jul 2008 02:36:03 -0000 1.2 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapMarkerDAO.java 8 Jul 2008 05:09:17 -0000 1.3 @@ -1,8 +1,31 @@ +/**************************************************************** + * Copyright (C) 2008 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 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + package org.lamsfoundation.lams.tool.gmap.dao.hibernate; import java.util.List; - import org.lamsfoundation.lams.tool.gmap.dao.IGmapMarkerDAO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; import org.lamsfoundation.lams.tool.gmap.model.GmapMarker; Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java,v diff -u -r1.6 -r1.7 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java 4 Jul 2008 02:36:03 -0000 1.6 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java 8 Jul 2008 05:09:17 -0000 1.7 @@ -38,6 +38,11 @@ import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +/** + * DTO for gmap, contains all the same variables as gmap persistance object + session + * @author lfoxton + * + */ public class GmapDTO { private static Logger logger = Logger.getLogger(GmapDTO.class); Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapMarkerDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapMarkerDTO.java,v diff -u -r1.3 -r1.4 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapMarkerDTO.java 4 Jul 2008 02:36:03 -0000 1.3 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapMarkerDTO.java 8 Jul 2008 05:09:17 -0000 1.4 @@ -28,7 +28,8 @@ import org.lamsfoundation.lams.tool.gmap.model.GmapMarker; /** - * + * DTO for GmapMarker containts all the same variables as GMapMarker + * but with session added * @author lfoxton * */ Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java,v diff -u -r1.4 -r1.5 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java 8 Jul 2008 04:41:25 -0000 1.4 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java 8 Jul 2008 05:09:17 -0000 1.5 @@ -47,6 +47,11 @@ int numberOfFinishedLearners; + /** + * This set has been added here to simplify the ambiguity with gmap to marker set mappings + * There is one set of markers for each gmap session, whereas there are several for each gmap + * So much simpler to make the set a property of the gmap session object rather than the gmap object + */ Set markerDTOs = new HashSet(); public GmapSessionDTO(GmapSession session) { Fisheye: Tag 1.3 refers to a dead (removed) revision in file `lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/NotebookEntryDTO.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java,v diff -u -r1.4 -r1.5 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java 3 Jun 2008 03:53:20 -0000 1.4 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java 8 Jul 2008 05:09:17 -0000 1.5 @@ -39,71 +39,92 @@ public class Gmap implements java.io.Serializable, Cloneable { - /** - * - */ private static final long serialVersionUID = 938457189932877382L; static Logger log = Logger.getLogger(GmapService.class.getName()); - // Fields - /** - * - */ + // id private Long uid; + // create date private Date createDate; + // update date private Date updateDate; + // user who created gmap private Long createBy; + // gmap title private String title; + // activity instructions private String instructions; + // run offline flag private boolean runOffline; + // lock when user finishes activity private boolean lockOnFinished; + // allow users to edit markersr after saving private boolean allowEditMarkers; + // show other user's makres private boolean allowShowAllMarkers; + // limit the ammount of markers private boolean limitMarkers; + // the maximum number or markers private int maxMarkers; + // allow zooming option private boolean allowZoom; + // allow terrain map type private boolean allowTerrain; + // allow satellite map type private boolean allowSatellite; + // allow hybrid satellite/normal map type private boolean allowHybrid; + // latitude of centre of map private Double mapCenterLatitude; + // longitude of centre of map private Double mapCenterLongitude; + // zoom level of the map private int mapZoom; + // map type private String mapType; + // online instructions private String onlineInstructions; + // offline instructions private String offlineInstructions; + // flag for content in use private boolean contentInUse; + // flag for define later private boolean defineLater; + // tool content id private Long toolContentId; - private Set gmapAttachments; + // list of attached files for the gmap + private Set gmapAttachments; - private Set gmapSessions; + // list of sessions for this gmap + private Set gmapSessions; + // list of markers for this gmap private Set gmapMarkers; //*********** NON Persist fields @@ -123,7 +144,7 @@ boolean filteringEnabled, String filterKeywords, String onlineInstructions, String offlineInstructions, boolean contentInUse, boolean defineLater, Long toolContentId, - Set gmapAttachments, Set gmapSessions, Set markers) { + Set gmapAttachments, Set gmapSessions, Set markers) { this.createDate = createDate; this.updateDate = updateDate; this.createBy = createBy; @@ -325,11 +346,11 @@ * */ - public Set getGmapAttachments() { + public Set getGmapAttachments() { return this.gmapAttachments; } - public void setGmapAttachments(Set gmapAttachments) { + public void setGmapAttachments(Set gmapAttachments) { this.gmapAttachments = gmapAttachments; } @@ -340,11 +361,11 @@ * */ - public Set getGmapSessions() { + public Set getGmapSessions() { return this.gmapSessions; } - public void setGmapSessions(Set gmapSessions) { + public void setGmapSessions(Set gmapSessions) { this.gmapSessions = gmapSessions; } @@ -412,7 +433,7 @@ if (gmapAttachments != null) { // create a copy of the attachments - Iterator iter = gmapAttachments.iterator(); + Iterator iter = gmapAttachments.iterator(); while (iter.hasNext()) { GmapAttachment originalFile = (GmapAttachment) iter.next(); GmapAttachment newFile = (GmapAttachment) originalFile.clone(); @@ -423,7 +444,7 @@ if (gmapMarkers != null) { // create a copy of the attachments - Iterator iter = gmapMarkers.iterator(); + Iterator iter = gmapMarkers.iterator(); while (iter.hasNext()) { GmapMarker originalMarker = (GmapMarker) iter.next(); GmapMarker newMarker = (GmapMarker) originalMarker.clone(); @@ -473,7 +494,7 @@ public GmapMarker getMarkerByUid(Long uid) { - Iterator it = gmapMarkers.iterator(); + Iterator it = gmapMarkers.iterator(); GmapMarker ret = null; while (it.hasNext()) { @@ -489,8 +510,7 @@ public void removeMarker(Long uid) { - Iterator it = gmapMarkers.iterator(); - GmapMarker ret = null; + Iterator it = gmapMarkers.iterator(); while (it.hasNext()) { GmapMarker marker = (GmapMarker)it.next(); Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Attic/GmapAttachment.java,v diff -u -r1.2 -r1.3 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java 6 Jun 2008 00:24:19 -0000 1.2 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java 8 Jul 2008 05:09:17 -0000 1.3 @@ -40,18 +40,10 @@ public class GmapAttachment implements java.io.Serializable, Cloneable { - - - /** - * - */ private static final long serialVersionUID = 47452859888067500L; private static final Logger log = Logger.getLogger(GmapAttachment.class); - /** - * - */ private Long uid; private Long fileVersionId; Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java,v diff -u -r1.6 -r1.7 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java 4 Jul 2008 02:36:04 -0000 1.6 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java 8 Jul 2008 05:09:17 -0000 1.7 @@ -40,18 +40,18 @@ private static final Logger log = Logger.getLogger(GmapMarker.class); - private Long uid; - private Double longitude; - private Double latitude; - private String infoWindowMessage; - private String title; - private Date created; - private Date updated; - private boolean isAuthored; - private Gmap gmap; - private GmapUser createdBy; - private GmapUser updatedBy; - private GmapSession gmapSession; + private Long uid; // id + private Double longitude; // longitude of marker + private Double latitude; // latitude of marker + private String infoWindowMessage; // message box that appears when you click the marker + private String title; // marker title + private Date created; // date of creation + private Date updated; // date of last update + private boolean isAuthored; // flag for whether maker was made in author/learner + private Gmap gmap; // gmap to which marker belongs + private GmapUser createdBy; // user who created the marker + private GmapUser updatedBy; // last user to update the marker + private GmapSession gmapSession; // tool session to which marker belongs, null if there is in author /** @@ -259,8 +259,4 @@ public void setGmapSession(GmapSession gmapSession) { this.gmapSession = gmapSession; } - - - - } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java,v diff -u -r1.3 -r1.4 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java 7 Jul 2008 23:49:59 -0000 1.3 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java 8 Jul 2008 05:09:17 -0000 1.4 @@ -71,7 +71,7 @@ /** full constructor */ public GmapSession(Date sessionEndDate, Date sessionStartDate, Integer status, Long sessionId, String sessionName, Gmap gmap, - Set gmapUsers) { + Set gmapUsers) { this.sessionEndDate = sessionEndDate; this.sessionStartDate = sessionStartDate; this.status = status; @@ -185,7 +185,7 @@ return this.gmapUsers; } - public void setGmapUsers(Set gmapUsers) { + public void setGmapUsers(Set gmapUsers) { this.gmapUsers = gmapUsers; } @@ -239,7 +239,7 @@ GmapSession session = null; try{ session = (GmapSession) super.clone(); - session.gmapUsers = new HashSet(); + session.gmapUsers = new HashSet(); } catch (CloneNotSupportedException e) { log.error("When clone " + GmapSession.class + " failed"); } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java,v diff -u -r1.9 -r1.10 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java 8 Jul 2008 04:41:25 -0000 1.9 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java 8 Jul 2008 05:09:17 -0000 1.10 @@ -547,7 +547,71 @@ } return node; } + + /* + * (non-Javadoc) + * @see org.lamsfoundation.lams.tool.gmap.service.IGmapService#updateMarkerListFromXML(java.lang.String, org.lamsfoundation.lams.tool.gmap.model.Gmap, org.lamsfoundation.lams.tool.gmap.model.GmapUser, boolean, org.lamsfoundation.lams.tool.gmap.model.GmapSession) + */ + public void updateMarkerListFromXML(String markerXML, Gmap gmap, GmapUser guser, boolean isAuthored, GmapSession session) + { + try + { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + Document document = db.parse(new InputSource(new StringReader(markerXML))); + NodeList list = document.getElementsByTagName("marker"); + + for (int i =0; iTicket to login and access the Content Repository. @@ -704,63 +768,5 @@ this.gmapMarkerDAO = gmapMarkerDAO; } - public void updateMarkerListFromXML(String markerXML, Gmap gmap, GmapUser guser, boolean isAuthored, GmapSession session) - { - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - Document document = db.parse(new InputSource(new StringReader(markerXML))); - NodeList list = document.getElementsByTagName("marker"); - - for (int i =0; i()); map.put(KEY_DELETED_FILES, new LinkedList()); - Iterator iter = gmap.getGmapAttachments().iterator(); + Iterator iter = gmap.getGmapAttachments().iterator(); while (iter.hasNext()) { GmapAttachment attachment = (GmapAttachment) iter.next(); String type = attachment.getFileType(); Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java,v diff -u -r1.11 -r1.12 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 8 Jul 2008 04:41:25 -0000 1.11 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 8 Jul 2008 05:09:17 -0000 1.12 @@ -25,20 +25,14 @@ package org.lamsfoundation.lams.tool.gmap.web.actions; import java.io.IOException; -import java.io.StringReader; -import java.util.Date; -import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import org.apache.log4j.Logger; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -47,7 +41,6 @@ import org.lamsfoundation.lams.tool.gmap.dto.GmapUserDTO; import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; -import org.lamsfoundation.lams.tool.gmap.model.GmapMarker; import org.lamsfoundation.lams.tool.gmap.model.GmapSession; import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; @@ -60,11 +53,6 @@ import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.w3c.dom.Document; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; /** * @author