Index: lams_tool_dimdim/conf/language/ApplicationResources.properties =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -81,5 +81,6 @@ authoring.msg.cancel.save =Do you want to close this window without saving? button.try.again =Try Again +admin.dimdimServerURL = Dim Dim Server URL #======= End labels: Exported 74 labels for en AU ===== Index: lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (.../create_lams_tool_dimdim.sql) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (.../create_lams_tool_dimdim.sql) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -5,10 +5,12 @@ SET FOREIGN_KEY_CHECKS=0; drop table if exists tl_laddim10_attachment; drop table if exists tl_laddim10_dimdim; +drop table if exists tl_laddim10_dimdim_config; drop table if exists tl_laddim10_session; drop table if exists tl_laddim10_user; create table tl_laddim10_attachment (uid bigint not null auto_increment, file_version_id bigint, file_type varchar(255), file_name varchar(255), file_uuid bigint, create_date datetime, dimdim_uid bigint, primary key (uid)); create table tl_laddim10_dimdim (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, allow_rich_editor bit, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, topic varchar(255), meeting_key varchar(255), max_attendee_mikes integer, primary key (uid)); +create table tl_laddim10_dimdim_config (uid bigint not null auto_increment, config_key varchar(255), config_value varchar(255), primary key (uid)); create table tl_laddim10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), dimdim_uid bigint, topic varchar(255), meeting_key varchar(255), max_attendee_mikes integer, conf_key varchar(255), primary key (uid)); create table tl_laddim10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dimdim_session_uid bigint, entry_uid bigint, primary key (uid)); alter table tl_laddim10_attachment add index FK3525B03D7B14D4B (dimdim_uid), add constraint FK3525B03D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); Index: lams_tool_dimdim/db/sql/table-schema.sql =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/db/sql/table-schema.sql (.../table-schema.sql) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/db/sql/table-schema.sql (.../table-schema.sql) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -3,10 +3,12 @@ alter table tl_laddim10_user drop foreign key FK91F0D5AB77EFDAE4; drop table if exists tl_laddim10_attachment; drop table if exists tl_laddim10_dimdim; +drop table if exists tl_laddim10_dimdim_config; drop table if exists tl_laddim10_session; drop table if exists tl_laddim10_user; create table tl_laddim10_attachment (uid bigint not null auto_increment, file_version_id bigint, file_type varchar(255), file_name varchar(255), file_uuid bigint, create_date datetime, dimdim_uid bigint, primary key (uid)); create table tl_laddim10_dimdim (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, allow_rich_editor bit, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, topic varchar(255), meeting_key varchar(255), max_attendee_mikes integer, primary key (uid)); +create table tl_laddim10_dimdim_config (uid bigint not null auto_increment, config_key varchar(255), config_value varchar(255), primary key (uid)); create table tl_laddim10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), dimdim_uid bigint, topic varchar(255), meeting_key varchar(255), max_attendee_mikes integer, conf_key varchar(255), primary key (uid)); create table tl_laddim10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dimdim_session_uid bigint, entry_uid bigint, primary key (uid)); alter table tl_laddim10_attachment add index FK3525B03D7B14D4B (dimdim_uid), add constraint FK3525B03D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); Index: lams_tool_dimdim/db/sql/tool_insert.sql =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -55,7 +55,7 @@ 'tool/laddim10/contribute.do', 'tool/laddim10/moderate.do', 'http://wiki.lamsfoundation.org/display/lamsdocs/laddim10', -'tool/laddim10/admin.do', +'tool/laddim10/admin/main.do', 'org.lamsfoundation.lams.tool.dimdim.ApplicationResources', 'lams-tool-laddim10.jar', '/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml', Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimConfigDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimConfigDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimConfigDAO.java (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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 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.dimdim.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the Dimdim objects - interface defining methods to be + * implemented by the Hibernate or other implementation. + */ +public interface IDimdimConfigDAO extends IBaseDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java (.../IDimdimDAO.java) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java (.../IDimdimDAO.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -27,9 +27,9 @@ import org.lamsfoundation.lams.dao.IBaseDAO; /** - * DAO for accessing the Dimdim objects - interface defining methods to be + * DAO for accessing the DimdimConfig objects - interface defining methods to be * implemented by the Hibernate or other implementation. */ public interface IDimdimDAO extends IBaseDAO { - + } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimConfigDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimConfigDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimConfigDAO.java (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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 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.dimdim.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimConfigDAO; + +/** + * DAO for accessing the Dimdim objects - Hibernate specific code. + */ +public class DimdimConfigDAO extends BaseDAO implements IDimdimConfigDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml (.../dimdimApplicationContext.xml) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml (.../dimdimApplicationContext.xml) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -19,6 +19,7 @@ org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.hbm.xml org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.hbm.xml org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.hbm.xml + org/lamsfoundation/lams/tool/dimdim/model/DimdimConfig.hbm.xml @@ -33,6 +34,7 @@ + @@ -81,6 +83,10 @@ + + + + Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java (.../ContentDTO.java) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java (.../ContentDTO.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -86,6 +86,10 @@ this.onlineInstructionsFiles = new TreeSet(); this.offlineInstructionsFiles = new TreeSet(); + + this.topic = dimdim.getTopic(); + this.meetingKey = dimdim.getMeetingKey(); + this.maxAttendeeMikes = dimdim.getMaxAttendeeMikes(); for (DimdimAttachment att : dimdim.getDimdimAttachments()) { Set attSet = null; Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimConfig.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimConfig.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimConfig.java (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -0,0 +1,72 @@ +/**************************************************************** + * 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 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 + * **************************************************************** + */ +/* $$ */ + +package org.lamsfoundation.lams.tool.dimdim.model; + +/** + * @hibernate.class table="tl_laddim10_dimdim_config" + */ +public class DimdimConfig { + + private Long uid; + + private String key; + + private String value; + + /** + * @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="config_key" + * @return + */ + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * @hibernate.property column="config_value" + * @return + */ + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java (.../DimdimSession.java) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java (.../DimdimSession.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -230,23 +230,7 @@ this.maxAttendeeMikes = maxAttendeeMikes; } - /** - * @hibernate.property column="conf_key" - * @return - */ - public String getConfKey() { - return confKey; - } - - public void setConfKey(String confKey) { - this.confKey = confKey; - } - - private String confKey; - - - /** * toString * * @return String Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (.../DimdimService.java) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (.../DimdimService.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -61,11 +61,13 @@ import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimAttachmentDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimConfigDAO; import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimDAO; import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimSessionDAO; import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimUserDAO; import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimConfig; import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; import org.lamsfoundation.lams.tool.dimdim.util.Constants; @@ -98,6 +100,8 @@ private IDimdimUserDAO dimdimUserDAO = null; private IDimdimAttachmentDAO dimdimAttachmentDAO = null; + + private IDimdimConfigDAO dimdimConfigDAO = null; private ILearnerService learnerService; @@ -409,6 +413,7 @@ public DimdimUser getUserByUserIdAndSessionId(Long userId, Long toolSessionId) { + // TODO fix this return dimdimUserDAO.getByUserIdAndSessionId(userId, toolSessionId); } @@ -465,7 +470,21 @@ saveOrUpdateDimdimUser(dimdimUser); return dimdimUser; } + + public DimdimConfig getConfigEntry(String key) { + dimdimConfigDAO.findByProperty(DimdimConfig.class, "key", key); + List list = dimdimConfigDAO.findByProperty(DimdimConfig.class, "key", key); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + public void saveOrUpdateConfigEntry(DimdimConfig dimdimConfig) { + dimdimConfigDAO.insertOrUpdate(dimdimConfig); + } + public IAuditService getAuditService() { return auditService; } @@ -592,15 +611,13 @@ public IDimdimAttachmentDAO getDimdimAttachmentDAO() { return dimdimAttachmentDAO; } - public void setDimdimAttachmentDAO(IDimdimAttachmentDAO attachmentDAO) { this.dimdimAttachmentDAO = attachmentDAO; } public IDimdimDAO getDimdimDAO() { return dimdimDAO; } - public void setDimdimDAO(IDimdimDAO dimdimDAO) { this.dimdimDAO = dimdimDAO; } @@ -621,7 +638,15 @@ public void setDimdimSessionDAO(IDimdimSessionDAO sessionDAO) { this.dimdimSessionDAO = sessionDAO; } + + public IDimdimConfigDAO getDimdimConfigDAO() { + return dimdimConfigDAO; + } + public void setDimdimConfigDAO(IDimdimConfigDAO dimdimConfigDAO) { + this.dimdimConfigDAO = dimdimConfigDAO; + } + public ILamsToolService getToolService() { return toolService; } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (.../IDimdimService.java) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (.../IDimdimService.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -28,6 +28,7 @@ import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimConfig; import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; @@ -153,4 +154,17 @@ * @param entry */ void updateEntry(Long uid, String entry); + + /** + * + * @param key + */ + DimdimConfig getConfigEntry(String key); + + /** + * + * @param key + * @param value + */ + void saveOrUpdateConfigEntry(DimdimConfig dimdimConfig); } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java (.../Constants.java) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java (.../Constants.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -26,7 +26,10 @@ public interface Constants { public static final String TOOL_SIGNATURE = "laddim10"; - + + // Config keys + public static final String CONFIG_SERVER_URL = "server_url"; + // Authoring SessionMap key names public static final String KEY_TOOL_CONTENT_ID = "toolContentID"; public static final String KEY_CONTENT_FOLDER_ID = "contentFolderID"; @@ -46,4 +49,6 @@ // Parameter names public static final String PARAM_USER_UID = "userUID"; + + public static final String ATTR_CONFERENCE_URL = "conferenceURL"; } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (.../AdminAction.java) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (.../AdminAction.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -24,27 +24,29 @@ package org.lamsfoundation.lams.tool.dimdim.web.actions; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +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.apache.struts.actions.MappingDispatchAction; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimConfig; import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; +import org.lamsfoundation.lams.tool.dimdim.util.Constants; +import org.lamsfoundation.lams.tool.dimdim.web.forms.AdminForm; /** - * @struts.action path="/admin/editConfig" name="adminForm" - * parameter="editConfig" scope="request" validate="false" - * @struts.action-forward name="editConfig-success" - * path="tiles:/admin/editConfig" + * @struts.action path="/admin/main" name="adminForm" parameter="main" + * scope="request" validate="false" + * @struts.action-forward name="main-success" path="tiles:/admin/main" * - * @struts.action path="/admin/saveConfig" name="adminForm" - * parameter="saveConfig" scope="request" validate="false" - * @struts.action-forward name="saveConfig" path="tiles:/admin/saveConfig" + * @struts.action path="/admin/save" name="adminForm" parameter="save" + * scope="request" validate="false" + * @struts.action-forward name="save-success" redirect="true" + * path="/admin/main.do" * * @author Anthony Sukkar * @@ -53,28 +55,52 @@ private IDimdimService dimdimService; + private static final Logger logger = Logger.getLogger(AdminAction.class); + @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - + // set up dimdimService dimdimService = DimdimServiceProxy.getDimdimService(this.getServlet() .getServletContext()); return super.execute(mapping, form, request, response); } - public ActionForward editConfig(ActionMapping mapping, ActionForm form, - ServletRequest request, ServletResponse response) throws Exception { + public ActionForward main(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) + throws Exception { - return mapping.findForward("editConfig-success"); - } + AdminForm adminForm = (AdminForm) form; + DimdimConfig serverURL = dimdimService + .getConfigEntry(Constants.CONFIG_SERVER_URL); - public ActionForward saveConfig(ActionMapping mapping, ActionForm form, - ServletRequest request, ServletResponse response) throws Exception { + if (serverURL != null) { + adminForm.setDimdimServerURL(serverURL.getValue()); + } - return mapping.findForward("saveConfig-success"); + return mapping.findForward("main-success"); } + public ActionForward save(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) + throws Exception { + + AdminForm adminForm = (AdminForm) form; + + DimdimConfig dimdimConfig = dimdimService + .getConfigEntry(Constants.CONFIG_SERVER_URL); + + if (dimdimConfig == null) { + dimdimConfig = new DimdimConfig(); + dimdimConfig.setKey(Constants.CONFIG_SERVER_URL); + } + + dimdimConfig.setValue(adminForm.getDimdimServerURL()); + dimdimService.saveOrUpdateConfigEntry(dimdimConfig); + + return mapping.findForward("save-success"); + } } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (.../LearningAction.java) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (.../LearningAction.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -24,7 +24,14 @@ package org.lamsfoundation.lams.tool.dimdim.web.actions; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -40,6 +47,7 @@ import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.dimdim.dto.ContentDTO; import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimConfig; import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; @@ -164,6 +172,47 @@ request.setAttribute(Constants.ATTR_FINISHED_ACTIVITY, dimdimUser .isFinishedActivity()); + // Get LAMS userDTO + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + + // get dimdim url + DimdimConfig serverURL = dimdimService + .getConfigEntry(Constants.CONFIG_SERVER_URL); + + URL url = new URL(serverURL.getValue() + + "/dimdim/JoinConferenceCheck.action?" + + "email=" + + URLEncoder.encode(lamsUserDTO.getEmail(), "UTF8") + + "&displayName=" + + URLEncoder.encode(lamsUserDTO.getFirstName() + " " + + lamsUserDTO.getLastName(), "UTF8") + "&confKey=" + + URLEncoder.encode(dimdimSession.getMeetingKey(), "UTF8")); + + URLConnection connection = url.openConnection(); + + BufferedReader in = new BufferedReader(new InputStreamReader(connection + .getInputStream())); + String dimdimResponse = ""; + String line = ""; + + while ((line = in.readLine()) != null) + dimdimResponse += line; + in.close(); + + log.debug(dimdimResponse + "1"); + + // Extract the connect url from the json string. + Pattern pattern = Pattern.compile("url:\"(.*?)\""); + Matcher matcher = pattern.matcher(dimdimResponse); + + matcher.find(); + String connectURL = matcher.group(1); + + String s = new String(); + + request.setAttribute(Constants.ATTR_CONFERENCE_URL, serverURL.getValue() + connectURL); + return mapping.findForward("dimdim"); } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -32,6 +32,8 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -44,11 +46,13 @@ import org.lamsfoundation.lams.tool.dimdim.dto.ContentDTO; import org.lamsfoundation.lams.tool.dimdim.dto.UserDTO; import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimConfig; import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; import org.lamsfoundation.lams.tool.dimdim.util.Constants; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; import org.lamsfoundation.lams.tool.dimdim.web.forms.MonitoringForm; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; @@ -64,7 +68,6 @@ * @struts.action-forward name="success" path="tiles:/monitoring/main" * @struts.action-forward name="dimdim_display" * path="tiles:/monitoring/dimdim_display" - * */ public class MonitoringAction extends DispatchAction { @@ -137,7 +140,7 @@ public ActionForward startDimdim(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - MonitoringForm monitoringForm = new MonitoringForm(); + MonitoringForm monitoringForm = (MonitoringForm) form; // get dimdim session DimdimSession session = dimdimService @@ -148,41 +151,57 @@ session.setMeetingKey(monitoringForm.getMeetingKey()); session.setMaxAttendeeMikes(monitoringForm.getMaxAttendeeMikes()); + // Get Dimdim server url + DimdimConfig serverURL = dimdimService + .getConfigEntry(Constants.CONFIG_SERVER_URL); + + if (serverURL == null) { + throw new DimdimException("Dimdim server url not found"); + } + // Get LAMS userDTO org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager .getSession().getAttribute(AttributeNames.USER); - // get dimdim confkey + // get dimdim url try { - URL url = new URL( - "http://172.20.100.217:8080/dimdim/StartNewConferenceCheck.action?" - + "email=" - + URLEncoder.encode(lamsUserDTO.getEmail(), "UTF8") - + "&displayName=" - + URLEncoder.encode(lamsUserDTO.getFirstName() - + lamsUserDTO.getLastName(), "UTF8") - + "&confName=" - + URLEncoder.encode(session.getTopic(), "UTF8") - + "&confKey=" - + URLEncoder - .encode(session.getMeetingKey(), "UTF8") - + "&lobby=false" + "&networkProfile=3" - + "&meetingHours=99" + "&maxAttendeeMikes=0" - + "&returnUrl=asdf" + "&presenterAV=av" - + "&privateChatEnabled=true" - + "&publicChatEnabled=true" - + "&screenShareEnabled=true" - + "&whiteboardEnabled=true"); + URL url = new URL(serverURL.getValue() + + "/dimdim/StartNewConferenceCheck.action?" + + "email=" + + URLEncoder.encode(lamsUserDTO.getEmail(), "UTF8") + + "&displayName=" + + URLEncoder.encode(lamsUserDTO.getFirstName() + " " + + lamsUserDTO.getLastName(), "UTF8") + "&confName=" + + URLEncoder.encode(session.getTopic(), "UTF8") + + "&confKey=" + + URLEncoder.encode(session.getMeetingKey(), "UTF8") + + "&lobby=false" + "&networkProfile=3" + "&meetingHours=99" + + "&maxAttendeeMikes=0" + "&returnUrl=asdf" + + "&presenterAV=av" + "&privateChatEnabled=true" + + "&publicChatEnabled=true" + "&screenShareEnabled=true" + + "&whiteboardEnabled=true"); URLConnection connection = url.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader( connection.getInputStream())); - String inputLine; + String dimdimResponse = ""; + String line = ""; - while ((inputLine = in.readLine()) != null) - System.out.println(inputLine); + while ((line = in.readLine()) != null) + dimdimResponse += line; in.close(); + + log.debug(dimdimResponse + "1"); + + // Extract the connect url from the json string. + Pattern pattern = Pattern.compile("url:\"(.*?)\""); + Matcher matcher = pattern.matcher(dimdimResponse); + + matcher.find(); + String connectURL = matcher.group(1); + + response.sendRedirect(serverURL.getValue() + connectURL); } catch (MalformedURLException e) { // TODO Auto-generated catch block @@ -194,7 +213,8 @@ // TODO Auto-generated catch block e.printStackTrace(); } + + return null; - return mapping.findForward("dimdim_conference"); } } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (.../AdminForm.java) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (.../AdminForm.java) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -33,50 +33,36 @@ import org.apache.struts.action.ActionMapping; /** - * @struts.form name=adminForm" + * @struts.form name="adminForm" * @author Anthony Sukkar - * + */ public class AdminForm extends ActionForm { private static final long serialVersionUID = 8367278543453322252L; // Fields - private String dimdimServerHost; + private String dimdimServerURL; - private String dimdimServerPort; - @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); - if (StringUtils.isBlank(this.dimdimServerHost)) { + if (StringUtils.isBlank(this.dimdimServerURL)) { // TODO add error messages; } - - if (StringUtils.isBlank(this.dimdimServerPort)) { - // TODO add error messages; - } - return errors; } - public String getDimdimServerHost() { - return dimdimServerHost; + public String getDimdimServerURL() { + return dimdimServerURL; } - public void setDimdimServerHost(String dimdimServerHost) { - this.dimdimServerHost = dimdimServerHost; + public void setDimdimServerURL(String dimdimServerURL) { + this.dimdimServerURL = dimdimServerURL; } - public String getDimdimServerPort() { - return dimdimServerPort; - } - - public void setDimdimServerPort(String dimdimServerPort) { - this.dimdimServerPort = dimdimServerPort; - } } Index: lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -92,7 +92,7 @@ - + Index: lams_tool_dimdim/web/images/icon_dimdim.swf =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 Binary files differ Index: lams_tool_dimdim/web/pages/admin/admin.jsp =================================================================== diff -u -r4c8de20e6e3ea73f98892f70662508e4011e96f6 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/web/pages/admin/admin.jsp (.../admin.jsp) (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) +++ lams_tool_dimdim/web/pages/admin/admin.jsp (.../admin.jsp) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -1,2 +1,13 @@ <%@ include file="/common/taglibs.jsp"%> +
+ +

+ + + : + + + +
+ Index: lams_tool_dimdim/web/pages/learning/learning.jsp =================================================================== diff -u -rd5314b799a1d54d0a172c05468a6ec63efc6c514 -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/web/pages/learning/learning.jsp (.../learning.jsp) (revision d5314b799a1d54d0a172c05468a6ec63efc6c514) +++ lams_tool_dimdim/web/pages/learning/learning.jsp (.../learning.jsp) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -49,6 +49,11 @@ ${contentDTO.instructions}

+ + Open Conference /// + + +
Index: lams_tool_dimdim/web/pages/monitoring/summary.jsp =================================================================== diff -u -re317915cf5ff951ce28cc8ce3decd422b189ba8d -r2714c5d509bed30e460ccc453753e6504804d4a1 --- lams_tool_dimdim/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision e317915cf5ff951ce28cc8ce3decd422b189ba8d) +++ lams_tool_dimdim/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 2714c5d509bed30e460ccc453753e6504804d4a1) @@ -75,7 +75,7 @@ - + @@ -100,7 +100,7 @@
- + Open Conference