Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapConfigItemDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapConfigItemDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapConfigItemDAO.java (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -0,0 +1,11 @@ +package org.lamsfoundation.lams.tool.gmap.dao; + + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; + +public interface IGmapConfigItemDAO extends IBaseDAO +{ + void saveOrUpdate(GmapConfigItem toConfig); + public GmapConfigItem getConfigItemByKey(final String configKey); +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapConfigItemDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapConfigItemDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapConfigItemDAO.java (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -0,0 +1,32 @@ +package org.lamsfoundation.lams.tool.gmap.dao.hibernate; + +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapConfigItemDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; +import org.springframework.orm.hibernate3.HibernateCallback; +public class GmapConfigItemDAO extends BaseDAO implements IGmapConfigItemDAO +{ + private static final String LOAD_CONFIG_ITEM_BY_KEY = "from GmapConfigItem configuration" + + " where configuration.configKey=:key"; + + public GmapConfigItem getConfigItemByKey(final String configKey) + { + return (GmapConfigItem) getHibernateTemplate().execute(new HibernateCallback() + { + public Object doInHibernate(Session session) throws HibernateException + { + return session.createQuery(LOAD_CONFIG_ITEM_BY_KEY) + .setString("key",configKey) + .uniqueResult(); + } + }); + + } + + public void saveOrUpdate(GmapConfigItem mdlForumConfigItem) { + this.getHibernateTemplate().saveOrUpdate(mdlForumConfigItem); + this.getHibernateTemplate().flush(); + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml =================================================================== diff -u -r866dc94326b7624341331da05940cfe57a8d9ccd -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml (.../gmapApplicationContext.xml) (revision 866dc94326b7624341331da05940cfe57a8d9ccd) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml (.../gmapApplicationContext.xml) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -20,6 +20,7 @@ org/lamsfoundation/lams/tool/gmap/model/GmapUser.hbm.xml org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.hbm.xml org/lamsfoundation/lams/tool/gmap/model/GmapMarker.hbm.xml + org/lamsfoundation/lams/tool/gmap/model/GmapConfigItem.hbm.xml @@ -35,6 +36,7 @@ + @@ -74,6 +76,10 @@ + + + + Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapConfigItem.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapConfigItem.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapConfigItem.java (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -0,0 +1,61 @@ +package org.lamsfoundation.lams.tool.gmap.model; + + +/** + * @hibernate.class table="tl_lagmap10_configuration" + */ +public class GmapConfigItem implements java.io.Serializable +{ + + private static final long serialVersionUID = 930482766653472636L; + + public static final String KEY_GMAP_KEY = "GmapKey"; + + Long id; + String configKey; + String configValue; + + // empty contsructor + public GmapConfigItem() {} + + + /** + * @hibernate.id generator-class="native" type="java.lang.Long" column="uid" + * + */ + public Long getId() { + return id; + } + + + + public void setId(Long id) { + this.id = id; + } + + + + /** + * @hibernate.property column="config_key" length="30" + * not-null="false" unique="true" + */ + public String getConfigKey() { + return configKey; + } + + public void setConfigKey(String configKey) { + this.configKey = configKey; + } + + /** + * @hibernate.property column="config_value" length="255" + * not-null="false" + */ + public String getConfigValue() { + return configValue; + } + + public void setConfigValue(String configValue) { + this.configValue = configValue; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java =================================================================== diff -u -r3813117828096a5d4063e220506bbc6357be2683 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (.../GmapService.java) (revision 3813117828096a5d4063e220506bbc6357be2683) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (.../GmapService.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -30,7 +30,6 @@ import java.util.Date; import java.util.HashSet; import java.util.Hashtable; -import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.SortedMap; @@ -59,8 +58,8 @@ import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException; import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService; import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException; -import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; import org.lamsfoundation.lams.tool.ToolOutput; @@ -71,15 +70,17 @@ import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.gmap.dao.IGmapAttachmentDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapConfigItemDAO; import org.lamsfoundation.lams.tool.gmap.dao.IGmapDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapMarkerDAO; import org.lamsfoundation.lams.tool.gmap.dao.IGmapSessionDAO; import org.lamsfoundation.lams.tool.gmap.dao.IGmapUserDAO; -import org.lamsfoundation.lams.tool.gmap.dao.IGmapMarkerDAO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; +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.model.GmapMarker; import org.lamsfoundation.lams.tool.gmap.util.GmapConstants; import org.lamsfoundation.lams.tool.gmap.util.GmapException; import org.lamsfoundation.lams.tool.gmap.util.GmapToolContentHandler; @@ -130,6 +131,8 @@ private IExportToolContentService exportContentService; private ICoreNotebookService coreNotebookService; + + private IGmapConfigItemDAO gmapConfigItemDAO; public GmapService() { super(); @@ -512,6 +515,18 @@ return gmapUser; } + public GmapConfigItem getConfigItem(String key) + { + return gmapConfigItemDAO.getConfigItemByKey(key); + } + + public void saveOrUpdateGmapConfigItem(GmapConfigItem item) + { + gmapConfigItemDAO.saveOrUpdate(item); + } + + + public IAuditService getAuditService() { return auditService; } @@ -776,7 +791,14 @@ this.gmapMarkerDAO = gmapMarkerDAO; } - + public IGmapConfigItemDAO getGmapConfigItemDAO() { + return gmapConfigItemDAO; + } + + public void setGmapConfigItemDAO(IGmapConfigItemDAO gmapConfigItemDAO) { + this.gmapConfigItemDAO = gmapConfigItemDAO; + } + public Long createNotebookEntry(Long id, Integer idType, String signature, Integer userID, String entry) { return coreNotebookService.createNotebookEntry(id, idType, signature, userID, "", entry); } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java =================================================================== diff -u -r3813117828096a5d4063e220506bbc6357be2683 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java (.../IGmapService.java) (revision 3813117828096a5d4063e220506bbc6357be2683) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java (.../IGmapService.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -27,14 +27,15 @@ import java.util.List; import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.gmap.model.Gmap; import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; +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.model.GmapMarker; import org.lamsfoundation.lams.tool.gmap.util.GmapException; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.notebook.model.NotebookEntry; /** * Defines the services available to the web layer from the Gmap Service @@ -187,4 +188,18 @@ * */ void updateEntry(NotebookEntry notebookEntry); + + /** + * Get the Gmap config item by key + * @param key + * @return + */ + public GmapConfigItem getConfigItem(String key); + + /** + * Save a Gmap configItem + * @param item + */ + public void saveOrUpdateGmapConfigItem(GmapConfigItem item); + } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java =================================================================== diff -u -r9ed689d51b8f41ba820bd7e6be8e3253703096a8 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java (.../GmapConstants.java) (revision 9ed689d51b8f41ba820bd7e6be8e3253703096a8) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java (.../GmapConstants.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -43,6 +43,7 @@ // Attribute names public static final String ATTR_MESSAGE = "message"; public static final String ATTR_SESSION_MAP = "sessionMap"; + public static final String ATTR_GMAP_KEY = "gmapKey"; public static final String ATTR_USER_DTO = "gmapUserDTO"; public static final String ATTR_USER = "gmapUser"; Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AdminAction.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AdminAction.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AdminAction.java (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -0,0 +1,72 @@ +package org.lamsfoundation.lams.tool.gmap.web.actions; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; +import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.web.forms.AdminForm; +import org.lamsfoundation.lams.web.action.LamsDispatchAction; + +/** + * @author + * @version + * + * @struts.action path="/lagmap10admin" parameter="dispatch" scope="request" + * name="lagmap10AdminForm" validate="false" + * + * @struts.action-forward name="config" path="/pages/admin/config.jsp" + */ +public class AdminAction extends LamsDispatchAction +{ + public IGmapService gmapService; + + + public ActionForward unspecified(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) + { + // set up mdlForumService + if (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(this.getServlet().getServletContext()); + } + + AdminForm adminForm = (AdminForm)form; + + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null) + adminForm.setGmapKey(gmapKey.getConfigValue()); + + request.setAttribute("error", false); + return mapping.findForward("config"); + } + + public ActionForward saveContent(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) + { + AdminForm adminForm = (AdminForm)form; + + if (adminForm.getGmapKey() != null && !adminForm.getGmapKey().equals("")) + { + // set up mdlForumService + if (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(this.getServlet().getServletContext()); + } + + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + gmapKey.setConfigValue(adminForm.getGmapKey()); + gmapService.saveOrUpdateGmapConfigItem(gmapKey); + + request.setAttribute("savedSuccess", true); + return mapping.findForward("config"); + } + else + { + request.setAttribute("error", true); + return mapping.findForward("config"); + } + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java =================================================================== diff -u -r3813117828096a5d4063e220506bbc6357be2683 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision 3813117828096a5d4063e220506bbc6357be2683) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -30,14 +30,10 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.io.PrintWriter; -import java.io.StringReader; -import org.xml.sax.InputSource; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -50,24 +46,21 @@ import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.gmap.model.Gmap; -import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; import org.lamsfoundation.lams.tool.gmap.model.GmapMarker; -import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; import org.lamsfoundation.lams.tool.gmap.util.GmapConstants; import org.lamsfoundation.lams.tool.gmap.web.forms.AuthoringForm; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.FileValidatorUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.web.session.SessionManager; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; /** * @author @@ -156,6 +149,13 @@ // add the sessionMap to HTTPSession. request.getSession().setAttribute(map.getSessionID(), map); request.setAttribute(GmapConstants.ATTR_SESSION_MAP, map); + + // get the gmap API key from the config table and add it to the session + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null && gmapKey.getConfigValue() != null) + { + request.setAttribute(GmapConstants.ATTR_GMAP_KEY, gmapKey.getConfigValue()); + } return mapping.findForward("success"); } @@ -236,6 +236,13 @@ authForm.setSessionMapID(map.getSessionID()); request.setAttribute(GmapConstants.ATTR_SESSION_MAP, map); + + // get the gmap API key from the config table and add it to the session + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null && gmapKey.getConfigValue() != null) + { + request.setAttribute(GmapConstants.ATTR_GMAP_KEY, gmapKey.getConfigValue()); + } return mapping.findForward("success"); } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== diff -u -r3813117828096a5d4063e220506bbc6357be2683 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (.../LearningAction.java) (revision 3813117828096a5d4063e220506bbc6357be2683) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (.../LearningAction.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -42,6 +42,7 @@ 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.GmapConfigItem; import org.lamsfoundation.lams.tool.gmap.model.GmapSession; import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; @@ -159,6 +160,13 @@ request.setAttribute("gmapSessionDTO", gmapSessionDTO); + // get the gmap API key from the config table and add it to the session + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null && gmapKey.getConfigValue() != null) + { + request.setAttribute(GmapConstants.ATTR_GMAP_KEY, gmapKey.getConfigValue()); + } + // set readOnly flag. if (mode.equals(ToolAccessMode.TEACHER) || (gmap.isLockOnFinished() && gmapUser.isFinishedActivity())) { request.setAttribute("contentEditable", false); Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java =================================================================== diff -u -r910b2ac5592ed40624543c6e5d22f5a80547d588 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 910b2ac5592ed40624543c6e5d22f5a80547d588) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -36,6 +36,7 @@ import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; import org.lamsfoundation.lams.tool.gmap.dto.GmapUserDTO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; import org.lamsfoundation.lams.tool.gmap.model.GmapSession; import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; @@ -114,6 +115,13 @@ } } + // get the gmap API key from the config table and add it to the session + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null && gmapKey.getConfigValue() != null) + { + request.setAttribute(GmapConstants.ATTR_GMAP_KEY, gmapKey.getConfigValue()); + } + request.setAttribute("gmapDTO", gmapDT0); request.setAttribute("contentFolderID", contentFolderID); return mapping.findForward("success"); Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AdminForm.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AdminForm.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AdminForm.java (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -0,0 +1,34 @@ +package org.lamsfoundation.lams.tool.gmap.web.forms; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.struts.action.ActionErrors; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +/** + * @struts.form name="lagmap10AdminForm" + */ +public class AdminForm extends ActionForm +{ + private static final long serialVersionUID = 414425664356226L; + + String gmapKey; + + @Override + public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) { + ActionErrors ac = new ActionErrors(); + ac.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("this is an error")); + return ac; + } + + public String getGmapKey() { + return gmapKey; + } + + public void setGmapKey(String gmapKey) { + this.gmapKey = gmapKey; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java =================================================================== diff -u -r46ba23ef919b23dbf3449d21555e549032706205 -ra8324ce68a8de301097e84ef4919751ecd0b8fe8 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java (.../ExportServlet.java) (revision 46ba23ef919b23dbf3449d21555e549032706205) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java (.../ExportServlet.java) (revision a8324ce68a8de301097e84ef4919751ecd0b8fe8) @@ -38,6 +38,7 @@ import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; import org.lamsfoundation.lams.tool.gmap.dto.GmapUserDTO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapConfigItem; import org.lamsfoundation.lams.tool.gmap.model.GmapSession; import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; @@ -92,6 +93,13 @@ logger.error("Cannot perform export for gmap tool."); } + // get the gmap API key from the config table and add it to the session + GmapConfigItem gmapKey = gmapService.getConfigItem(GmapConfigItem.KEY_GMAP_KEY); + if (gmapKey != null && gmapKey.getConfigValue() != null) + { + request.getSession().setAttribute(GmapConstants.ATTR_GMAP_KEY, gmapKey.getConfigValue()); + } + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();