Index: lams_tool_dimdim/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -84,9 +84,7 @@ monitor.summary.dimdimSettings = Dim Dim Settings admin.title = Dim Dim Administration -config.standardServerURL = Standard Dim Dim Server URL -config.enterpriseServerURL = Enterprise Dim Dim Server URL -config.adminPassword = Administrator Password +config.serverURL = Dimdim Server URL config.version = Dimdim Version label.version.standard=Standard Index: lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql =================================================================== diff -u -rfb540cea0851caf305bbc44c833f2c6e898dd1b0 -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (.../create_lams_tool_dimdim.sql) (revision fb540cea0851caf305bbc44c833f2c6e898dd1b0) +++ lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (.../create_lams_tool_dimdim.sql) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -55,10 +55,7 @@ ); -- default configuration values -INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("standard_server_url", "http://172.20.100.253/"); -INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("enterprise_server_url", "http://209.217.107.183/"); -INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("admin_login", "Administrator"); --- INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("admin_password", "dimdim123"); +INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("server_url", "http://172.20.100.253/"); -- INSERT INTO tl_laddim10_config (config_key, config_value) VALUES ("version", "enterprise"); Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ConfigDTO.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ConfigDTO.java (.../ConfigDTO.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ConfigDTO.java (.../ConfigDTO.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -26,39 +26,21 @@ public class ConfigDTO { - String adminPassword; - String enterpriseServerURL; - String standardServerURL; + String serverURL; + String version; - public String getAdminPassword() { - return adminPassword; + public String getServerURL() { + return serverURL; } - - public String getEnterpriseServerURL() { - return enterpriseServerURL; - } - - public String getStandardServerURL() { - return standardServerURL; - } - public String getVersion() { return version; } - public void setAdminPassword(String adminPassword) { - this.adminPassword = adminPassword; + public void setServerURL(String serverURL) { + this.serverURL = serverURL; } - public void setEnterpriseServerURL(String enterpriseServerURL) { - this.enterpriseServerURL = enterpriseServerURL; - } - - public void setStandardServerURL(String standardServerURL) { - this.standardServerURL = standardServerURL; - } - public void setVersion(String version) { this.version = version; } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (.../DimdimService.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (.../DimdimService.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -444,13 +444,13 @@ public String getDimdimJoinConferenceURL(UserDTO userDTO, String meetingKey) throws Exception { // Get Dimdim server url - String standardServerURL = getConfigValue(Constants.CFG_STANDARD_SERVER_URL); - if (standardServerURL == null) { - logger.error("Config item : '" + Constants.CFG_STANDARD_SERVER_URL + "' not defined"); + String serverURL = getConfigValue(Constants.CFG_SERVER_URL); + if (serverURL == null) { + logger.error("Config item : '" + Constants.CFG_SERVER_URL + "' not defined"); throw new DimdimException("Standard server url not defined"); } - URL url = new URL(standardServerURL + "/dimdim/JoinConferenceCheck.action?" + "email=" + URL url = new URL(serverURL + "/dimdim/JoinConferenceCheck.action?" + "email=" + URLEncoder.encode(userDTO.getEmail(), "UTF8") + "&displayName=" + URLEncoder.encode(userDTO.getFirstName() + " " + userDTO.getLastName(), "UTF8") + "&confKey=" + URLEncoder.encode(meetingKey, "UTF8")); @@ -460,9 +460,9 @@ String result = DimdimUtil.getResult(response); if (result.equals("success")) { - String path = DimdimUtil.getStandardURL(response); + String path = DimdimUtil.getURL(response); - return standardServerURL + path; + return serverURL + path; } else { logger.error("getDimdimJoinConferenceURL: result: " + result); } @@ -472,118 +472,50 @@ public String getDimdimStartConferenceURL(UserDTO userDTO, String meetingKey, String returnURL, int maxAttendeeMikes) throws Exception { - // Get Standard Dimdim Server URL - String standardServerURL = getConfigValue(Constants.CFG_STANDARD_SERVER_URL); - if (standardServerURL == null) { - logger.error("Config item : '" + Constants.CFG_STANDARD_SERVER_URL + "' not defined"); + String serverURL = getConfigValue(Constants.CFG_SERVER_URL); + if (serverURL == null) { + logger.error("Config item : '" + Constants.CFG_SERVER_URL + "' not defined"); throw new DimdimException("Standard server url not defined"); } - // get dimdim url - - URL url = new URL(standardServerURL + "/dimdim/StartNewConferenceCheck.action?" + "email=" - + URLEncoder.encode(userDTO.getEmail(), "UTF8") + "&displayName=" - + URLEncoder.encode(userDTO.getFirstName() + " " + userDTO.getLastName(), "UTF8") + "&confKey=" - + URLEncoder.encode(meetingKey, "UTF8") + "&lobby=false" + "&networkProfile=3" + "&meetingHours=99" - + "&maxAttendeeMikes=" + maxAttendeeMikes + "&returnUrl=" + URLEncoder.encode(returnURL, "UTF8") - + "&presenterAV=av" + "&privateChatEnabled=true" + "&publicChatEnabled=true" - + "&screenShareEnabled=true" + "&whiteboardEnabled=true"); - - String response = sendRequest(url); - - String path = DimdimUtil.getStandardURL(response); - - return standardServerURL + path; - } - - /** - * Create user for enterprise version. - */ - public String createUser(Long toolSessionID) throws Exception { - - String enterpriseServerURL = getConfigValue(Constants.CFG_ENTERPRISE_SERVER_URL); - if (enterpriseServerURL == null) { - logger.error("Config item : '" + Constants.CFG_ENTERPRISE_SERVER_URL + "' not defined"); - throw new DimdimException("Enterprise server url not defined"); + String version = getConfigValue(Constants.CFG_VERSION); + if (version == null) { + logger.error("Config value " + Constants.CFG_VERSION + " returned null"); + throw new DimdimException("Server version not defined"); } - String adminPassword = getConfigValue(Constants.CFG_ADMIN_PASSWORD); - if (adminPassword == null) { - logger.error("Config item : '" + Constants.CFG_ADMIN_PASSWORD + "' not defined"); - throw new DimdimException("Administrator credentials not defined"); - } + String response; + URL url; + if (version.equals(Constants.CFG_VERSION_STANDARD)) { - URL url = new URL(enterpriseServerURL + "/portal/enterprise/CreateUser.action?" + "adminpassword=" - + adminPassword + "&name=" + "dimdim_" + toolSessionID + "&password=" + "dimdim_" + toolSessionID - + "&email=TODO@mail.com" + "&userType=Premium"); + url = new URL(serverURL + "/dimdim/StartNewConferenceCheck.action?" + "email=" + + URLEncoder.encode(userDTO.getEmail(), "UTF8") + "&displayName=" + + URLEncoder.encode(userDTO.getFirstName() + " " + userDTO.getLastName(), "UTF8") + "&confKey=" + + URLEncoder.encode(meetingKey, "UTF8") + "&lobby=false" + "&networkProfile=3" + "&meetingHours=99" + + "&maxAttendeeMikes=" + maxAttendeeMikes + "&returnUrl=" + URLEncoder.encode(returnURL, "UTF8") + + "&presenterAV=av" + "&privateChatEnabled=true" + "&publicChatEnabled=true" + + "&screenShareEnabled=true" + "&whiteboardEnabled=true"); - String response = sendRequest(url); + } else if (version.equals(Constants.CFG_VERSION_ENTERPRISE)) { - return DimdimUtil.getCode(response); - } + url = new URL(serverURL + "/dimdim/StartNewConferenceCheck.action?" + "email=" + + URLEncoder.encode(userDTO.getEmail(), "UTF8") + "&meetingRoomName=" + + URLEncoder.encode(meetingKey, "UTF8") + "&displayName=" + + URLEncoder.encode(userDTO.getFirstName() + " " + userDTO.getLastName(), "UTF8") + "&confName=" + + "QandA" + "&lobby=" + "false" + "&networkProfile=" + "3" + "&meetingHours" + "=2" + + "&meetingMinutes=" + "0" + "&presenterAV=" + "av" + "&maxAttendeeMikes=" + maxAttendeeMikes + + "&returnUrl=" + URLEncoder.encode(returnURL, "UTF8") + "&whiteboardEnabled=" + "true" + + "&screenShareEnabled=" + "true" + "&participantListEnabled=true" + "&dialInfoVisible=true"); - public String startAction(String username, String password, String returnURL, Integer maxAttendeeMikes) - throws Exception { - - String enterpriseServerURL = getConfigValue(Constants.CFG_ENTERPRISE_SERVER_URL); - if (enterpriseServerURL == null) { - logger.error("Config item : '" + Constants.CFG_ENTERPRISE_SERVER_URL + "' not defined"); - throw new DimdimException("Enterprise server url not defined"); - } - - String adminPassword = getConfigValue(Constants.CFG_ADMIN_PASSWORD); - if (adminPassword == null) { - logger.error("Config item : '" + Constants.CFG_ADMIN_PASSWORD + "' not defined"); - throw new DimdimException("Administrator credentials not defined"); - } - - URL url = new URL(enterpriseServerURL + "/portal/start.action?" + "name=" - + URLEncoder.encode("dimdim_" + username, "UTF8") + "&password=" - + URLEncoder.encode("dimdim_" + password, "UTF8") + "&returnurl=" - + URLEncoder.encode(returnURL, "UTF8") + "&waitingarea=false" + "&network=H" + "&hours=99" + "&mikes=" - + maxAttendeeMikes + "&audioVideo=V" + "&featurePrivateChat=true" + "&featurePublicChat=true" - + "&featurePublisher=true" + "&featureWhiteboard=true" + "&response=json"); - - String response = sendRequest(url); - - String returnCode = DimdimUtil.getCode(response); - - if (returnCode.equals("200")) { - return DimdimUtil.getEnterpriseURL(response); } else { - logger.error("startAction: unsuccessfull return code: " + returnCode); + logger.error("Unknown version type: " + version); + throw new DimdimException("Unknown version type"); } - return null; - } - public String joinMeeting(DimdimUser user) throws Exception { + response = sendRequest(url); + String path = DimdimUtil.getURL(response); - String enterpriseServerURL = getConfigValue(Constants.CFG_ENTERPRISE_SERVER_URL); - if (enterpriseServerURL == null) { - logger.error("Config item : '" + Constants.CFG_ENTERPRISE_SERVER_URL + "' not defined"); - throw new DimdimException("Enterprise server url not defined"); - } - - String adminPassword = getConfigValue(Constants.CFG_ADMIN_PASSWORD); - if (adminPassword == null) { - logger.error("Config item : '" + Constants.CFG_ADMIN_PASSWORD + "' not defined"); - throw new DimdimException("Administrator credentials not defined"); - } - - URL url = new URL(enterpriseServerURL + "/portal/join.action?" + "meetingRoomName=" - + URLEncoder.encode("dimdim_" + user.getDimdimSession().getSessionId(), "UTF8") + "&displayname=" - + URLEncoder.encode(user.getFirstName() + " " + user.getLastName(), "UTF8") + "&response=json"); - - String response = sendRequest(url); - - String returnCode = DimdimUtil.getCode(response); - - if (returnCode.equals("200")) { - return DimdimUtil.getEnterpriseURL(response); - } else { - logger.error("startAction: unsuccessfull return code: " + returnCode); - } - return null; + return serverURL + path; } public void saveOrUpdateDimdim(Dimdim dimdim) { Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (.../IDimdimService.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (.../IDimdimService.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -162,13 +162,13 @@ * @param key */ DimdimConfig getConfig(String key); - + /** * * @param key */ String getConfigValue(String key); - + /** * * @param key @@ -178,6 +178,7 @@ /** * Start a standard meeting + * * @param userDTO * @param meetingKey * @param maxAttendeeMikes @@ -189,37 +190,32 @@ /** * Join a standard meeting + * * @param userDTO * @param meetingKey * @return Meeting url */ String getDimdimJoinConferenceURL(UserDTO userDTO, String meetingKey) throws Exception; - /** - * Create a user on an enterprise server - * @param toolSessionID - * @return Return code - */ - public String createUser(Long toolSessionID) throws Exception; + // /** + // * Start an enterprise meeting. + // * + // * @param username + // * @param password + // * @param returnURL + // * @param maxAttendeeMikes + // * @return Meeting url + // * @throws Exception + // */ + // public String startAction(UserDTO user, Long toolSessionId, String returnURL, Integer maxAttendeeMikes) + // throws Exception; + // + // /** + // * Join an enterprise meeting. + // * + // * @param userDTO + // * @return Meeting url + // */ + // public String joinMeeting(DimdimUser user) throws Exception; - - /** - * Start an enterprise meeting. - * @param username - * @param password - * @param returnURL - * @param maxAttendeeMikes - * @return Meeting url - * @throws Exception - */ - public String startAction(String username, String password, String returnURL, - Integer maxAttendeeMikes) throws Exception; - - /** - * Join an enterprise meeting. - * @param userDTO - * @return Meeting url - */ - public String joinMeeting(DimdimUser user) throws Exception; - } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java (.../Constants.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/Constants.java (.../Constants.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -41,9 +41,7 @@ public static final String ATTR_USER_DTO = "userDTO"; // Configuration keys - public static final String CFG_ADMIN_PASSWORD = "admin_password"; - public static final String CFG_ENTERPRISE_SERVER_URL = "enterprise_server_url"; - public static final String CFG_STANDARD_SERVER_URL = "standard_server_url"; + public static final String CFG_SERVER_URL = "server_url"; public static final String CFG_VERSION = "version"; public static final String CFG_VERSION_ENTERPRISE = "enterprise"; public static final String CFG_VERSION_STANDARD = "standard"; Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimUtil.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimUtil.java (.../DimdimUtil.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimUtil.java (.../DimdimUtil.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -24,16 +24,15 @@ package org.lamsfoundation.lams.tool.dimdim.util; -import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; public class DimdimUtil { - public static String generateMeetingKey() { - return new Long(System.currentTimeMillis()).toString() + "-" + (new Random().nextInt()); + public static String getMeetingKey(Long toolSessionId) { + return "dimdim_" + toolSessionId; } public static String getReturnURL(HttpServletRequest request) { @@ -56,7 +55,6 @@ // helper functions to extract info from json response. - // get return code -- enterprise version private static Pattern patternCode = Pattern.compile("code:\"(.*?)\""); @@ -75,20 +73,11 @@ return matcher.group(1); } - // enterprise version - private static Pattern patternEnterpriseURL = Pattern.compile("data:\\{text:\"(.*?)\""); - - public static String getEnterpriseURL(String json) { - Matcher matcherUrl = patternEnterpriseURL.matcher(json); - matcherUrl.find(); - return matcherUrl.group(1); - } - // standard version - private static Pattern patternStandardURL = Pattern.compile("url:\"(.*?)\""); + private static Pattern patternURL = Pattern.compile("url:\"(.*?)\""); - public static String getStandardURL(String response) throws Exception { - Matcher matcher = patternStandardURL.matcher(response); + public static String getURL(String response) throws Exception { + Matcher matcher = patternURL.matcher(response); matcher.find(); return matcher.group(1); } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (.../AdminAction.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (.../AdminAction.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -73,9 +73,7 @@ ConfigDTO configDTO = new ConfigDTO(); - configDTO.setStandardServerURL(dimdimService.getConfigValue(Constants.CFG_STANDARD_SERVER_URL)); - configDTO.setEnterpriseServerURL(dimdimService.getConfigValue(Constants.CFG_ENTERPRISE_SERVER_URL)); - configDTO.setAdminPassword(dimdimService.getConfigValue(Constants.CFG_ADMIN_PASSWORD)); + configDTO.setServerURL(dimdimService.getConfigValue(Constants.CFG_SERVER_URL)); configDTO.setVersion(dimdimService.getConfigValue(Constants.CFG_VERSION)); request.setAttribute(Constants.ATTR_CONFIG_DTO, configDTO); @@ -87,9 +85,7 @@ AdminForm adminForm = (AdminForm) form; - adminForm.setStandardServerURL(dimdimService.getConfigValue(Constants.CFG_STANDARD_SERVER_URL)); - adminForm.setEnterpriseServerURL(dimdimService.getConfigValue(Constants.CFG_ENTERPRISE_SERVER_URL)); - adminForm.setAdminPassword(dimdimService.getConfigValue(Constants.CFG_ADMIN_PASSWORD)); + adminForm.setServerURL(dimdimService.getConfigValue(Constants.CFG_SERVER_URL)); adminForm.setVersion(dimdimService.getConfigValue(Constants.CFG_VERSION)); String version = adminForm.getVersion(); @@ -115,9 +111,7 @@ updateConfig(Constants.CFG_VERSION, adminForm.getVersion()); } - updateConfig(Constants.CFG_STANDARD_SERVER_URL, adminForm.getStandardServerURL()); - updateConfig(Constants.CFG_ENTERPRISE_SERVER_URL, adminForm.getEnterpriseServerURL()); - updateConfig(Constants.CFG_ADMIN_PASSWORD, adminForm.getAdminPassword()); + updateConfig(Constants.CFG_SERVER_URL, adminForm.getServerURL()); } Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (.../LearningAction.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (.../LearningAction.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -145,28 +145,18 @@ return user; } - private static final String CODE_OK = "200"; - private static final String CODE_USER_EXISTS = "302"; - public ActionForward openLearnerMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // get user uid parameter Long uid = WebUtil.readLongParam(request, Constants.PARAM_USER_UID); DimdimUser user = dimdimService.getUserByUID(uid); - DimdimSession session = user.getDimdimSession(); - // Create new user on enterprise dimdim server using the toolSessionId as the name. - String returnCode = dimdimService.createUser(session.getSessionId()); + String meetingKey = DimdimUtil.getMeetingKey(user.getDimdimSession().getSessionId()); + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + String meetingURL = dimdimService.getDimdimJoinConferenceURL(lamsUserDTO, meetingKey); - if (!returnCode.equals(CODE_OK) && !returnCode.equals(CODE_USER_EXISTS)) { - logger.error("Could not create dimdim enterprise user with id :" + session.getSessionId()); - throw new DimdimException("Unable to start dimdim enterprise meeting"); - } - - // Start a new dimdim web meeting - String meetingURL = dimdimService.joinMeeting(user); - if (meetingURL != null) { response.sendRedirect(meetingURL); } else { @@ -207,18 +197,19 @@ DimdimUser user = dimdimService.getUserByUID(uid); DimdimSession session = user.getDimdimSession(); - // Create new user on enterprise dimdim server using the toolSessionId as the name. - String returnCode = dimdimService.createUser(session.getSessionId()); + // Get LAMS userDTO + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); - if (!returnCode.equals(CODE_OK) && !returnCode.equals(CODE_USER_EXISTS)) { - logger.error("Could not create dimdim enterprise user with id :" + session.getSessionId()); - throw new DimdimException("Unable to start dimdim enterprise meeting"); - } - // Start a new dimdim web meeting - String meetingURL = dimdimService.startAction(session.getSessionId().toString(), session.getSessionId() - .toString(), DimdimUtil.getReturnURL(request), session.getDimdim().getMaxAttendeeMikes()); + String meetingKey = DimdimUtil.getMeetingKey(session.getSessionId()); + String returnURL = DimdimUtil.getReturnURL(request); + Integer maxAttendeeMikes = session.getDimdim().getMaxAttendeeMikes(); + + String meetingURL = dimdimService.getDimdimStartConferenceURL(lamsUserDTO, meetingKey, returnURL, + maxAttendeeMikes); + if (meetingURL != null) { response.sendRedirect(meetingURL); } else { @@ -322,57 +313,29 @@ } request.setAttribute(Constants.ATTR_USER_DTO, userDTO); - // Get LAMS userDTO - org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager - .getSession().getAttribute(AttributeNames.USER); - String meetingURL = new String(); - boolean meetingOpen = false; String version = dimdimService.getConfigValue(Constants.CFG_VERSION); if (version == null) { logger.error("Config value " + Constants.CFG_VERSION + " returned null"); throw new DimdimException("Server version not defined"); } - if (version.equals(Constants.CFG_VERSION_ENTERPRISE)) { - // Enterprise Version - if (mode.isAuthor()) { - - meetingURL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + Constants.TOOL_SIGNATURE - + "/learning.do?dispatch=openPreviewMeeting&" + Constants.PARAM_USER_UID + "=" - + user.getUid(); - meetingOpen = true; - } else { - if (session.isMeetingCreated()) { - meetingURL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + Constants.TOOL_SIGNATURE - + "/learning.do?dispatch=openLearnerMeeting&" + Constants.PARAM_USER_UID + "=" - + user.getUid(); - meetingOpen = true; - } // otherwise, meeting has not been started in monitoring - } - - } else if (version.equals(Constants.CFG_VERSION_STANDARD)) { - // Standard Version - - if (mode.isAuthor()) { - String meetingKey = DimdimUtil.generateMeetingKey(); - String returnURL = DimdimUtil.getReturnURL(request); - meetingURL = dimdimService.getDimdimStartConferenceURL(lamsUserDTO, meetingKey, returnURL, dimdim - .getMaxAttendeeMikes()); - meetingOpen = true; - } else { - if (session.isMeetingCreated()) { - meetingURL = dimdimService.getDimdimJoinConferenceURL(lamsUserDTO, session.getMeetingKey()); - meetingOpen = true; - } // otherwise, meeting has not been started in monitoring - } + String dispatchValue = new String(); + boolean meetingOpen = false; + if (mode.isAuthor()) { + dispatchValue = "openPreviewMeeting"; + meetingOpen = true; } else { - // Illegal version value. - logger.error("Unknown dimdim version :'" + version + "'"); - throw new DimdimException("Unknown dimdim version"); + if (session.isMeetingCreated()) { + dispatchValue = "openLearnerMeeting"; + meetingOpen = true; + } // otherwise, meeting has not been started in monitoring } + String meetingURL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + Constants.TOOL_SIGNATURE + + "/learning.do?dispatch=" + dispatchValue + "&" + Constants.PARAM_USER_UID + "=" + user.getUid(); + request.setAttribute(Constants.ATTR_MEETING_OPEN, meetingOpen); request.setAttribute(Constants.ATTR_MEETING_URL, meetingURL); Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -132,55 +132,17 @@ org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager .getSession().getAttribute(AttributeNames.USER); - // Get dimdim version - String version = dimdimService.getConfigValue(Constants.CFG_VERSION); - - if (version == null) { - logger.error("Config value " + Constants.CFG_VERSION + " returned null"); - throw new DimdimException("Server version not defined"); - } - - if (version.equals(Constants.CFG_VERSION_STANDARD)) { - // Standard Version - String meetingKey = DimdimUtil.generateMeetingKey(); - session.setMeetingCreated(true); - session.setMeetingKey(meetingKey); + // Enterprise Version + String meetingStartURL = dimdimService + .getDimdimStartConferenceURL(lamsUserDTO, DimdimUtil.getMeetingKey(session.getSessionId()), DimdimUtil + .getReturnURL(request), session.getMaxAttendeeMikes()); - String returnURL = DimdimUtil.getReturnURL(request); - - String startConferenceURL = dimdimService.getDimdimStartConferenceURL(lamsUserDTO, session.getMeetingKey(), - returnURL, session.getMaxAttendeeMikes()); - - response.sendRedirect(startConferenceURL); - } else if (version.equals(Constants.CFG_VERSION_ENTERPRISE)) { - // Enterprise Version - - // Create new user on enterprise dimdim server using the toolSessionId as the name. - // NB User may already exist - String returnCode = dimdimService.createUser(session.getSessionId()); - - if (!returnCode.equals("200") && !returnCode.equals("302")) { - // 200 = success, 302 = user already exists - logger.error("Could not create dimdim enterprise user with id :" + session.getSessionId()); - throw new DimdimException("Unable to start dimdim enterprise meeting"); - } - - // Start a new dimdim web meeting - String meetingStartURL = dimdimService.startAction(session.getSessionId().toString(), session - .getSessionId().toString(), DimdimUtil.getReturnURL(request), session.getMaxAttendeeMikes()); - - if (meetingStartURL != null) { - session.setMeetingCreated(true); - response.sendRedirect(meetingStartURL); - } else { - logger.error("startAction did not return a url to start the meeting"); - throw new DimdimException("Unable to start meeting"); - } - + if (meetingStartURL != null) { + session.setMeetingCreated(true); + response.sendRedirect(meetingStartURL); } else { - // Illegal version value. - logger.error("Unknown dimdim version :'" + version + "'"); - throw new DimdimException("Unknown dimdim version"); + logger.error("startAction did not return a url to start the meeting"); + throw new DimdimException("Unable to start meeting"); } dimdimService.saveOrUpdateDimdimSession(session); Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (.../AdminForm.java) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (.../AdminForm.java) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -43,44 +43,24 @@ private static final long serialVersionUID = 8367278543453322252L; - // Fields + private String serverURL; - private String adminPassword; - - private String enterpriseServerURL; - - private String standardServerURL; - private String version; - public String getAdminPassword() { - return adminPassword; - } + // Fields - public String getEnterpriseServerURL() { - return enterpriseServerURL; + public String getServerURL() { + return serverURL; } - public String getStandardServerURL() { - return standardServerURL; - } - public String getVersion() { return version; } - public void setAdminPassword(String adminPassword) { - this.adminPassword = adminPassword; + public void setServerURL(String serverURL) { + this.serverURL = serverURL; } - public void setEnterpriseServerURL(String enterpriseServerURL) { - this.enterpriseServerURL = enterpriseServerURL; - } - - public void setStandardServerURL(String standardServerURL) { - this.standardServerURL = standardServerURL; - } - public void setVersion(String version) { this.version = version; } @@ -92,29 +72,17 @@ MessageResources resources = MessageResources.getMessageResources(Constants.APP_RESOURCES); - if (this.version.equals(Constants.CFG_VERSION_STANDARD)) { - // check standard options - if (StringUtils.isBlank(this.standardServerURL)) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources - .getMessage("config.standardServerURL"))); - } - - } else if (this.version.equals(Constants.CFG_VERSION_ENTERPRISE)) { - // check enterprise options - - if (StringUtils.isBlank(this.enterpriseServerURL)) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources - .getMessage("config.enterpriseServerURL"))); - } - - if (StringUtils.isBlank(this.adminPassword)) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources - .getMessage("config.adminPassword"))); - } - } else { + if (!this.version.equals(Constants.CFG_VERSION_STANDARD) + && !this.version.equals(Constants.CFG_VERSION_ENTERPRISE)) { errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources .getMessage("config.version"))); } + + if (StringUtils.isBlank(this.serverURL)) { + errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources + .getMessage("config.serverURL"))); + } + return errors; } Index: lams_tool_dimdim/web/pages/admin/edit.jsp =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/web/pages/admin/edit.jsp (.../edit.jsp) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/web/pages/admin/edit.jsp (.../edit.jsp) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -4,28 +4,6 @@ - -

@@ -62,18 +40,9 @@ - - + + - - - - - - - - -
Index: lams_tool_dimdim/web/pages/admin/view.jsp =================================================================== diff -u -rcd6be92480151a7cfb6ae306f5b1f8b41870dadd -r7bb18278d88ece8eb4f86532540d5d366597fe3b --- lams_tool_dimdim/web/pages/admin/view.jsp (.../view.jsp) (revision cd6be92480151a7cfb6ae306f5b1f8b41870dadd) +++ lams_tool_dimdim/web/pages/admin/view.jsp (.../view.jsp) (revision 7bb18278d88ece8eb4f86532540d5d366597fe3b) @@ -10,17 +10,9 @@ - - + + - - - - - - - -