Index: lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java,v diff -u -r1.8 -r1.9 --- lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java 21 Sep 2007 03:11:05 -0000 1.8 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java 21 Sep 2007 03:34:24 -0000 1.9 @@ -57,7 +57,7 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.HashUtil; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.audit.IAuditService; import org.lamsfoundation.lams.web.session.SessionManager; @@ -856,7 +856,7 @@ // set locale to default system locale if cell is empty private SupportedLocale getLocale(String localeId){ if (localeId==null || localeId=="") { - return LangUtil.getDefaultLocale(); + return LanguageUtil.getDefaultLocale(); } else { try { return (SupportedLocale)service.findById(SupportedLocale.class, new Integer(localeId)); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java,v diff -u -r1.4 -r1.5 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java 21 Sep 2007 03:11:05 -0000 1.4 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java 21 Sep 2007 03:34:24 -0000 1.5 @@ -48,7 +48,7 @@ import org.lamsfoundation.lams.usermanagement.SupportedLocale; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -105,7 +105,7 @@ org.setParentOrganisation(userService.getRootOrganisation()); org.setOrganisationType((OrganisationType)userService.findById(OrganisationType.class,OrganisationType.COURSE_TYPE)); org.setOrganisationState((OrganisationState)userService.findById(OrganisationState.class,OrganisationState.ACTIVE)); - SupportedLocale locale = LangUtil.getDefaultLocale(); + SupportedLocale locale = LanguageUtil.getDefaultLocale(); org.setLocale(locale); userService.saveOrganisation(org, user.getUserID()); serverOrgMapForm.set("orgId", org.getOrganisationId()); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java,v diff -u -r1.45 -r1.46 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 21 Sep 2007 03:11:05 -0000 1.45 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 21 Sep 2007 03:34:24 -0000 1.46 @@ -49,7 +49,7 @@ import org.lamsfoundation.lams.usermanagement.UserOrganisation; import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; @@ -138,7 +138,7 @@ request.setAttribute("globalRoles", getGlobalRoles(user)); } else { // create a user try { - SupportedLocale locale = LangUtil.getDefaultLocale(); + SupportedLocale locale = LanguageUtil.getDefaultLocale(); userForm.set("localeId", locale.getLocaleId()); } catch(Exception e) { log.debug(e); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/Attic/ImportV1ContentsSaveAction.java,v diff -u -r1.6 -r1.7 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java 21 Sep 2007 03:11:05 -0000 1.6 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java 21 Sep 2007 03:34:24 -0000 1.7 @@ -55,7 +55,7 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.HashUtil; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -111,7 +111,7 @@ boolean onlyMembers = importV1ContentsForm.getOnlyMembers(); // default import options - SupportedLocale locale = LangUtil.getDefaultLocale(); + SupportedLocale locale = LanguageUtil.getDefaultLocale(); final OrganisationType courseType = (OrganisationType)service.findById( OrganisationType.class, OrganisationType.COURSE_TYPE); final OrganisationState activeState = (OrganisationState)service.findById( Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java,v diff -u -r1.10 -r1.11 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java 21 Sep 2007 03:11:05 -0000 1.10 +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java 21 Sep 2007 03:34:23 -0000 1.11 @@ -28,7 +28,7 @@ import org.lamsfoundation.lams.usermanagement.UserOrganisation; import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; import org.springframework.web.context.support.WebApplicationContextUtils; public class RegisterServiceSoapBindingImpl implements Register { @@ -76,7 +76,7 @@ AuthenticationMethod.class, AuthenticationMethod.DB)); user.setCreateDate(new Date()); user.setDisabledFlag(false); - user.setLocale(LangUtil.getDefaultLocale()); + user.setLocale(LanguageUtil.getDefaultLocale()); user.setFlashTheme(service.getDefaultFlashTheme()); user.setHtmlTheme(service.getDefaultHtmlTheme()); service.save(user); Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java,v diff -u -r1.12 -r1.13 --- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 21 Sep 2007 03:11:07 -0000 1.12 +++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java 21 Sep 2007 03:34:24 -0000 1.13 @@ -55,7 +55,7 @@ import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.CSVUtil; import org.lamsfoundation.lams.util.HashUtil; -import org.lamsfoundation.lams.util.LangUtil; +import org.lamsfoundation.lams.util.LanguageUtil; /** *
@@ -133,12 +133,13 @@
private ExtCourseClassMap createExtCourseClassMap(ExtServerOrgMap serverMap, User user, String extCourseId, String countryIsoCode, String langIsoCode) {
Organisation org = new Organisation();
+ // TODO group name could be more human readable, need name as well as id from 3rd party server?
org.setName(buildName(serverMap.getPrefix(), extCourseId));
org.setDescription(extCourseId);
- org.setParentOrganisation(serverMap.getOrganisation());
- org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.CLASS_TYPE));
+ org.setParentOrganisation(service.getRootOrganisation());
+ org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.COURSE_TYPE));
org.setOrganisationState((OrganisationState)service.findById(OrganisationState.class,OrganisationState.ACTIVE));
- org.setLocale(LangUtil.getSupportedLocale(langIsoCode, countryIsoCode));
+ org.setLocale(LanguageUtil.getSupportedLocale(langIsoCode, countryIsoCode));
service.saveOrganisation(org, user.getUserId());
addMemberships(user,org);
ExtCourseClassMap map = new ExtCourseClassMap();
@@ -169,7 +170,7 @@
user.setAuthenticationMethod((AuthenticationMethod)service.findById(AuthenticationMethod.class, AuthenticationMethod.DB));
user.setCreateDate(new Date());
user.setDisabledFlag(false);
- user.setLocale(LangUtil.getSupportedLocale(userData[13], userData[12]));
+ user.setLocale(LanguageUtil.getSupportedLocale(userData[13], userData[12]));
user.setFlashTheme(service.getDefaultFlashTheme());
user.setHtmlTheme(service.getDefaultHtmlTheme());
service.save(user);
@@ -178,6 +179,8 @@
map.setExtUsername(extUsername);
map.setUser(user);
service.save(map);
+ // every integration user is added to the group for their 3rd party server;
+ // becomes the 'public' folder for that server
addMemberships(user, serverMap.getOrganisation());
return map;
}
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java,v
diff -u -r1.4 -r1.5
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 21 Sep 2007 03:11:07 -0000 1.4
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 21 Sep 2007 03:34:24 -0000 1.5
@@ -53,7 +53,7 @@
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
-import org.lamsfoundation.lams.util.LangUtil;
+import org.lamsfoundation.lams.util.LanguageUtil;
/**
* @author jliew
@@ -100,12 +100,12 @@
if (index>0) {
String language = attribute.substring(0, index);
String country = attribute.substring(index);
- return LangUtil.getSupportedLocale(language, country);
+ return LanguageUtil.getSupportedLocale(language, country);
} else {
- return LangUtil.getSupportedLocale(attribute);
+ return LanguageUtil.getSupportedLocale(attribute);
}
}
- return LangUtil.getDefaultLocale();
+ return LanguageUtil.getDefaultLocale();
}
public boolean createLDAPUser(Attributes attrs) {
Fisheye: Tag 1.3 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/util/LangUtil.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java,v
diff -u -r1.6 -r1.7
--- lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java 17 Sep 2006 06:14:17 -0000 1.6
+++ lams_common/src/java/org/lamsfoundation/lams/util/LanguageUtil.java 21 Sep 2007 03:34:24 -0000 1.7
@@ -23,9 +23,19 @@
/* $$Id$$ */
package org.lamsfoundation.lams.util;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.TimeZone;
+import org.lamsfoundation.lams.usermanagement.SupportedLocale;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
+import org.lamsfoundation.lams.web.util.HttpSessionManager;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
/**
* Various internationalisation (internationalization) utilities.
*
@@ -37,7 +47,17 @@
public static final String DEFAULT_LANGUAGE = "en";
public static final String DEFAULT_COUNTRY = "AU";
public static final String DEFAULT_DIRECTION = "LTR";
-
+ private static IUserManagementService service;
+
+ private static IUserManagementService getService() {
+ if (service == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils
+ .getWebApplicationContext(HttpSessionManager.getInstance().getServletContext());
+ service = (IUserManagementService) ctx.getBean("userManagementService");
+ }
+ return service;
+ }
+
/**
* Get the default language, country, based on entries in the
* server configuration file.
@@ -86,5 +106,54 @@
public static TimeZone getDefaultTimeZone() {
return TimeZone.getDefault();
}
+
+ /**
+ * Returns server default locale.
+ */
+ public static SupportedLocale getDefaultLocale() {
+ String localeName = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
+ return getSupportedLocale(localeName.substring(0,2),localeName.substring(3));
+ }
+
+ /**
+ * Searches for a locale based on language, then country, matching the single input string.
+ * Otherwise returns server default locale.
+ */
+ public static SupportedLocale getSupportedLocale(String input) {
+ List list = getService().findByProperty(SupportedLocale.class, "languageIsoCode", input);
+ if (list!=null && list.size()>0) {
+ return (SupportedLocale)list.get(0);
+ } else {
+ list = getService().findByProperty(SupportedLocale.class, "countryIsoCode", input);
+ if (list!=null && list.size()>0) {
+ return (SupportedLocale)list.get(0);
+ }
+ }
+ return getDefaultLocale();
+ }
+
+ /**
+ * Finds a locale based on language and/or country.
+ */
+ public static SupportedLocale getSupportedLocale(String langIsoCode, String countryIsoCode) {
+ SupportedLocale locale = null;
+ Map