You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2013/08/11 02:26:38 UTC

svn commit: r1512841 - in /openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings: axis/services/ data/basic/dao/ data/calendar/daos/ data/calendar/management/ data/conference/ data/user/ data/user/dao/ installation/ ldap/ persistence/beans...

Author: sebawagner
Date: Sun Aug 11 00:26:38 2013
New Revision: 1512841

URL: http://svn.apache.org/r1512841
Log:
Part 1 of OPENMEETINGS-746

Modified:
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/CalendarWebService.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/RoomWebService.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/basic/dao/OmTimeZoneDao.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/conference/InvitationManager.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/UserManager.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/dao/UsersDao.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/installation/ImportInitvalues.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/ldap/LdapLoginManagement.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/persistence/beans/user/User.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/CalendarService.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/UserService.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/test/invitiation/TestInvitation.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/app/WebSession.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserProfilePanel.java
    openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserSearchPanel.java

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/CalendarWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/CalendarWebService.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/CalendarWebService.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/CalendarWebService.java Sun Aug 11 00:26:38 2013
@@ -358,15 +358,11 @@ public class CalendarWebService {
 			Long user_level = userManager.getUserLevelByID(users_id);
 			if (authLevelUtil.checkUserLevel(user_level)) {
 
-				log.debug("appointmentId " + appointmentId);
-
 				appointmentLogic.getAppointMentById(appointmentId);
 
-				User user = userManager.getUserById(users_id);
-
 				return appointmentDao.updateAppointmentByTime(appointmentId,
 						appointmentstart, appointmentend, users_id, baseurl,
-						languageId, user.getOmTimeZone().getIcal());
+						languageId);
 			}
 		} catch (Exception err) {
 			log.error("[updateAppointment]", err);
@@ -489,14 +485,12 @@ public class CalendarWebService {
 				roomDao.update(room, users_id);
 			}
 
-			User user = userManager.getUserById(users_id);
-
 			return appointmentDao.updateAppointment(appointmentId,
 					appointmentName, appointmentDescription, appointmentstart
 							.getTime(), appointmentend.getTime(), isDaily,
 					isWeekly, isMonthly, isYearly, categoryId, remind, newList,
 					users_id, baseurl, languageId, isPasswordProtected,
-					password, user.getOmTimeZone().getIcal(),
+					password,
 					appointmentLocation);
 
 		} catch (Exception err) {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/RoomWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/RoomWebService.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/axis/services/RoomWebService.java Sun Aug 11 00:26:38 2013
@@ -45,7 +45,6 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.room.Client;
 import org.apache.openmeetings.persistence.beans.room.Room;
 import org.apache.openmeetings.persistence.beans.room.RoomType;
-import org.apache.openmeetings.persistence.beans.user.User;
 import org.apache.openmeetings.remote.ConferenceService;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.session.ISessionManager;
@@ -2289,8 +2288,6 @@ public class RoomWebService {
 					return rooms_id;
 				}
 
-				User us = userManager.getUserById(users_id);
-
 				appointmentDao.addAppointment("appointmentName", users_id,
 						"appointmentLocation", "appointmentDescription", dFrom,
 						dTo, // appointmentstart, appointmentend,
@@ -2301,7 +2298,7 @@ public class RoomWebService {
 						roomDao.get(rooms_id), 1L, // language_id
 						isPasswordProtected, // isPasswordProtected
 						password, // password
-						false, us.getOmTimeZone().getJname());
+						false);
 
 				return rooms_id;
 

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/basic/dao/OmTimeZoneDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/basic/dao/OmTimeZoneDao.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/basic/dao/OmTimeZoneDao.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/basic/dao/OmTimeZoneDao.java Sun Aug 11 00:26:38 2013
@@ -27,7 +27,6 @@ import javax.persistence.TypedQuery;
 
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
-import org.apache.openmeetings.persistence.beans.user.User;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,31 +44,6 @@ public class OmTimeZoneDao {
 	@Autowired
 	private ConfigurationDao configurationDao;
 
-	/**
-	 * Get a default {@link OmTimeZone}, if user is set, it will return the
-	 * {@link OmTimeZone} of the user, if not it will try to load it from the
-	 * server's config
-	 * 
-	 * @param user
-	 *            can be null
-	 * @return
-	 */
-	public OmTimeZone getDefaultOmTimeZone(User user) {
-		
-		if (user != null && user.getOmTimeZone() != null) {
-			return user.getOmTimeZone();
-		}
-		
-		String jNameTimeZone = configurationDao.getConfValue(
-				"default.timezone", String.class, "Europe/Berlin");
-		
-		OmTimeZone omTimeZone = this.getOmTimeZone(jNameTimeZone);
-		if (omTimeZone == null) {
-			throw new RuntimeException("Could not find default.timezone, misconfiguration of database");
-		}
-		return omTimeZone;
-	}
-
 	public Long addOmTimeZone(String name, String label, String iCal,
 			Integer orderId) {
 		try {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java Sun Aug 11 00:26:38 2013
@@ -204,7 +204,7 @@ public class AppointmentDao {
 			Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
 			Long categoryId, Long remind, Room room, Long language_id,
 			Boolean isPasswordProtected, String password,
-			Boolean isConnectedEvent, String jNameTimeZone) {
+			Boolean isConnectedEvent) {
 		try {
 
 			Appointment ap = new Appointment();
@@ -450,7 +450,7 @@ public class AppointmentDao {
 			Date appointmentend, Boolean isDaily, Boolean isWeekly,
 			Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
 			@SuppressWarnings("rawtypes") List mmClient, Long users_id, String baseUrl, Long language_id,
-			Boolean isPasswordProtected, String password, String iCalTimeZone, String appointmentLocation) {
+			Boolean isPasswordProtected, String password, String appointmentLocation) {
 
 		log.debug("AppointmentDAOImpl.updateAppointment");
 		try {
@@ -663,7 +663,7 @@ public class AppointmentDao {
 
 	public Long updateAppointmentByTime(Long appointmentId,
 			Date appointmentstart, Date appointmentend, Long users_id,
-			String baseUrl, Long language_id, String iCalTimeZone) {
+			String baseUrl, Long language_id) {
 
 		log.debug("AppointmentDAOImpl.updateAppointment");
 		try {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java Sun Aug 11 00:26:38 2013
@@ -212,7 +212,7 @@ public class AppointmentLogic {
 					userId, appointmentLocation, appointmentDescription,
 					appointmentstart, appointmentend, isDaily, isWeekly,
 					isMonthly, isYearly, categoryId, remind, room, language_id,
-					isPasswordProtected, password, false, user.getOmTimeZone().getJname());
+					isPasswordProtected, password, false);
 
 			String invitorName = user.getFirstname() + " " + user.getLastname()
 					+ " [" + user.getAdresses().getEmail() + "]";

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/conference/InvitationManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/conference/InvitationManager.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/conference/InvitationManager.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/conference/InvitationManager.java Sun Aug 11 00:26:38 2013
@@ -238,7 +238,7 @@ public class InvitationManager {
 			invitation.setInvitationWasUsed(false);
 			log.debug(baseUrl);
 			invitation.setBaseUrl(baseUrl);
-			invitation.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(createdBy.getOmTimeZone().getJname()).getID());
+			invitation.setTimeZoneId(timezoneUtil.getTimezoneByUser(createdBy).getID());
 
 			// valid period of Invitation
 			if (valid == 1) {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/UserManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/UserManager.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/UserManager.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/UserManager.java Sun Aug 11 00:26:38 2013
@@ -28,6 +28,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.TimeZone;
 
 import javax.persistence.EntityManager;
 import javax.persistence.NoResultException;
@@ -50,7 +51,6 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.beans.basic.SearchResult;
 import org.apache.openmeetings.data.user.dao.StateDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.basic.Sessiondata;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.room.Client;
@@ -66,6 +66,7 @@ import org.apache.openmeetings.utils.Dao
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.utils.mail.MailHandler;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.red5.io.utils.ObjectMap;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IClient;
@@ -114,6 +115,8 @@ public class UserManager {
 	private AuthLevelUtil authLevelUtil;
 	@Autowired
 	private ISessionManager sessionManager;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
 
 	/**
 	 * query for a list of users
@@ -476,8 +479,7 @@ public class UserManager {
 					us.setAvailible(availible);
 					us.setStatus(status);
 					us.setSalutations_id((long)salutations_id);
-					us.setOmTimeZone(omTimeZoneDaoImpl
-							.getOmTimeZone(jNameTimeZone));
+					us.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(jNameTimeZone).getID());
 					us.setLanguage_id(language_id);
 					us.setForceTimeZoneCheck(forceTimeZoneCheck);
 
@@ -813,7 +815,8 @@ public class UserManager {
 				town, language_id, sendWelcomeMessage,
 				organisations, phone, sendSMS, baseURL,
 				sendConfirmation,
-				omTimeZoneDaoImpl.getOmTimeZone(jname_timezone), forceTimeZoneCheck,
+				timezoneUtil.getTimezoneByInternalJName(jname_timezone), 
+				forceTimeZoneCheck,
 				userOffers, userSearchs, showContactData,
 				showContactDataToContacts, null);
 	}
@@ -860,7 +863,7 @@ public class UserManager {
 			String town, long language_id, boolean sendWelcomeMessage,
 			List<Long> organisations, String phone, boolean sendSMS, String baseURL,
 			Boolean sendConfirmation,
-			OmTimeZone timezone, Boolean forceTimeZoneCheck,
+			TimeZone timezone, Boolean forceTimeZoneCheck,
 			String userOffers, String userSearchs, Boolean showContactData,
 			Boolean showContactDataToContacts, String activatedHash) throws Exception {
 		// TODO: make phone number persistent
@@ -977,7 +980,7 @@ public class UserManager {
 	public Long addUser(long level_id, int availible, int status,
 			String firstname, String login, String lastname, long language_id,
 			String userpass, Address adress, boolean sendSMS, Date age, String hash,
-			OmTimeZone timezone,
+			TimeZone timezone,
 			Boolean forceTimeZoneCheck, String userOffers, String userSearchs,
 			Boolean showContactData, Boolean showContactDataToContacts, List<Long> orgIds) {
 		try {
@@ -997,7 +1000,7 @@ public class UserManager {
 			users.setSalutations_id(1L);
 			users.setStarttime(new Date());
 			users.setActivatehash(hash);
-			users.setOmTimeZone(timezone);
+			users.setTimeZoneId(timezone.getID());
 			users.setForceTimeZoneCheck(forceTimeZoneCheck);
 
 			users.setUserOffers(userOffers);
@@ -1087,7 +1090,7 @@ public class UserManager {
 			users.setStarttime(new Date());
 			users.setActivatehash(hash);
 			users.setPictureuri(pictureuri);
-			users.setOmTimeZone(omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone));
+			users.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(jNameTimeZone).getID());
 
 			users.setExternalUserId(externalUserId);
 			users.setExternalUserType(externalUserType);
@@ -1174,9 +1177,7 @@ public class UserManager {
 
 					savedUser.setLanguage_id(Long.parseLong(values.get(
 							"languages_id").toString()));
-					savedUser.setOmTimeZone(omTimeZoneDaoImpl
-							.getOmTimeZone((values.get("jnameTimeZone")
-									.toString())));
+					savedUser.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(values.get("jnameTimeZone").toString()).getID());
 
 					String password = values.get("password").toString();
 					if (password != null && !password.isEmpty()) {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/dao/UsersDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/dao/UsersDao.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/dao/UsersDao.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/data/user/dao/UsersDao.java Sun Aug 11 00:26:38 2013
@@ -40,6 +40,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.user.User;
 import org.apache.openmeetings.utils.DaoHelper;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -68,6 +69,8 @@ public class UsersDao implements IDataPr
 	private OmTimeZoneDao omTimeZoneDaoImpl;
 	@Autowired
 	private StateDao stateDaoImpl;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
 
 	/**
 	 * Get a new instance of the {@link User} entity, with all default values
@@ -84,7 +87,7 @@ public class UsersDao implements IDataPr
 									// configurable
 		user.setLevel_id(1L);
 		user.setLanguage_id(configurationDao.getConfValue(DEFAUT_LANG_KEY, Long.class, "1"));
-		user.setOmTimeZone(omTimeZoneDaoImpl.getDefaultOmTimeZone(currentUser));
+		user.setTimeZoneId(timezoneUtil.getTimezoneByUser(currentUser).getID());
 		user.setForceTimeZoneCheck(false);
 		user.setSendSMS(false);
 		user.setAge(new Date());

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/installation/ImportInitvalues.java Sun Aug 11 00:26:38 2013
@@ -66,6 +66,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.user.oauth.OAuthServer.RequestMethod;
 import org.apache.openmeetings.utils.ImportHelper;
 import org.apache.openmeetings.utils.OmFileHelper;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.dom4j.Document;
 import org.dom4j.Element;
 import org.dom4j.io.SAXReader;
@@ -110,6 +111,10 @@ public class ImportInitvalues {
 	private SipDao sipDao;
 	@Autowired
 	private OAuth2Dao oauthDao;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
+	
+	
 	private int progress = 0;
 
 	public int getProgress() {
@@ -714,7 +719,7 @@ public class ImportInitvalues {
 				new java.util.Date(), "street", "no", "fax", "zip", 1,
 				"town", default_lang_id, false,
 				Arrays.asList(organisation_id), "phone", false, "", false,
-				omTimeZoneDaoImpl.getOmTimeZoneByIcal(cfg.ical_timeZone),
+				timezoneUtil.getTimezoneByInternalJName(cfg.ical_timeZone),
 				false, "", "", false, true, null);
 
 		log.debug("Installation - User Added user-Id " + user_id);

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/ldap/LdapLoginManagement.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/ldap/LdapLoginManagement.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/ldap/LdapLoginManagement.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/ldap/LdapLoginManagement.java Sun Aug 11 00:26:38 2013
@@ -38,13 +38,13 @@ import org.apache.openmeetings.data.user
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.ldap.config.ConfigReader;
 import org.apache.openmeetings.persistence.beans.basic.LdapConfig;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.room.Client;
 import org.apache.openmeetings.persistence.beans.user.State;
 import org.apache.openmeetings.persistence.beans.user.User;
 import org.apache.openmeetings.remote.util.SessionVariablesUtil;
 import org.apache.openmeetings.utils.OmFileHelper;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IClient;
 import org.slf4j.Logger;
@@ -76,6 +76,8 @@ public class LdapLoginManagement {
 	private ManageCryptStyle cryptManager;
 	@Autowired
 	private UsersDao usersDao;
+	@Autowired
+	private TimezoneUtil timezoneUtil;
 
 	// External User Types
 	public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
@@ -823,13 +825,9 @@ public class LdapLoginManagement {
 	
 		String jName_timeZone = "";
 		if (userdata.containsKey(ldapAttrs.get("timezoneAttr"))
-				&& userdata.get(ldapAttrs.get("timezoneAttr")) != null)
+				&& userdata.get(ldapAttrs.get("timezoneAttr")) != null) {
 			jName_timeZone = userdata.get(ldapAttrs.get("timezoneAttr"));
-		
-		//only change the timezone if there can be found some in the OpenMeetings database
-		OmTimeZone omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jName_timeZone);
-		if (omTimeZone != null) {
-			user.setOmTimeZone(omTimeZone);
+			user.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(jName_timeZone).getID());
 		}
 	
 	}

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/persistence/beans/user/User.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/persistence/beans/user/User.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/persistence/beans/user/User.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/persistence/beans/user/User.java Sun Aug 11 00:26:38 2013
@@ -52,7 +52,6 @@ import org.apache.openjpa.persistence.Lo
 import org.apache.openjpa.persistence.jdbc.ForeignKey;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.persistence.beans.IDataProviderEntity;
-import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.basic.Sessiondata;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.sip.asterisk.AsteriskSipUser;
@@ -228,11 +227,12 @@ public class User implements Serializabl
 	@Element(data = true, required = false)
 	private String externalUserType;
 
-	@ManyToOne(fetch = FetchType.EAGER)
-	@JoinColumn(name = "omtimezoneId", insertable = true, updatable = true)
-	@ForeignKey(enabled = true)
+	/**
+	 * java.util.TimeZone Id
+	 */
+	@Column(name = "time_zone_id")
 	@Element(data = true, required = false)
-	private OmTimeZone omTimeZone; // In UTC +/- hours
+	private String timeZoneId;
 
 	@Transient
 	private Sessiondata sessionData;
@@ -548,12 +548,11 @@ public class User implements Serializabl
 		this.sipUser = sipUser;
 	}
 
-	public OmTimeZone getOmTimeZone() {
-		return omTimeZone;
+	public String getTimeZoneId() {
+		return timeZoneId;
 	}
-
-	public void setOmTimeZone(OmTimeZone omTimeZone) {
-		this.omTimeZone = omTimeZone;
+	public void setTimeZoneId(String timeZoneId) {
+		this.timeZoneId = timeZoneId;
 	}
 
 	public Boolean getForceTimeZoneCheck() {

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/CalendarService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/CalendarService.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/CalendarService.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/CalendarService.java Sun Aug 11 00:26:38 2013
@@ -206,11 +206,9 @@ public class CalendarService {
 				appointmentLogic
 						.getAppointMentById(appointmentId);
 
-				User user = userManager.getUserById(users_id);
-				
 				return appointmentDao.updateAppointmentByTime(appointmentId,
 						appointmentstart, appointmentend, users_id, baseurl,
-						language_id, user.getOmTimeZone().getIcal());
+						language_id);
 
 			}
 		} catch (Exception err) {
@@ -280,8 +278,8 @@ public class CalendarService {
 						appointmentName, appointmentDescription,
 						appointmentstart, appointmentend, isDaily, isWeekly,
 						isMonthly, isYearly, categoryId, remind, mmClient,
-						users_id, baseUrl, language_id, isPasswordProtected, password, user
-								.getOmTimeZone().getIcal(), appointmentLocation);
+						users_id, baseUrl, language_id, isPasswordProtected, password, 
+						appointmentLocation);
 			}
 		} catch (Exception err) {
 			log.error("[updateAppointment]", err);

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/UserService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/UserService.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/UserService.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/remote/UserService.java Sun Aug 11 00:26:38 2013
@@ -600,7 +600,7 @@ public class UserService {
 
 				User us = userManager.getUserById(users_id);
 
-				us.setOmTimeZone(omTimeZoneDaoImpl.getOmTimeZone(jname));
+				us.setTimeZoneId(timezoneUtil.getTimezoneByInternalJName(jname).getID());
 				us.setForceTimeZoneCheck(false);
 				us.setUpdatetime(new Date());
 
@@ -1032,7 +1032,7 @@ public class UserService {
 
 					room = roomDao.get(room_id);
 
-					String sendJNameTimeZone = from.getOmTimeZone().getJname();
+					String sendJNameTimeZone = from.getTimeZoneId();
 
 					appointmentId = this.addAppointmentToUser(subject, message,
 							from, recipients, room, appointmentstart,
@@ -1042,7 +1042,7 @@ public class UserService {
 
 				recipients.add(from.getAdresses().getEmail());
 
-				String sendJNameTimeZone = from.getOmTimeZone().getJname();
+				String sendJNameTimeZone = from.getTimeZoneId();
 
 				String profile_link = baseURL + "?cuser=1";
 
@@ -1197,7 +1197,7 @@ public class UserService {
 		Long appointmentId = appointmentDao.addAppointment(subject,
 				to.getUser_id(), "", message, appointmentstart, appointmentend,
 				false, false, false, false, 1L, 2L, room, to.getLanguage_id(),
-				false, "", isConnectedEvent, sendJNameTimeZone);
+				false, "", isConnectedEvent);
 
 		for (String email : recipients) {
 

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java Sun Aug 11 00:26:38 2013
@@ -283,12 +283,15 @@ public class BackupImportController exte
 		{
 			List<User> list = readUserList(f, "users.xml", "users");
 			for (User u : list) {
-				OmTimeZone tz = u.getOmTimeZone();
-				if (tz == null || tz.getJname() == null) {
+				
+				//FIXME: OPENMEETINGS-750
+				//Convert old Backups with OmTimeZone to new schema
+				
+				String tz = u.getTimeZoneId();
+				if (tz == null) {
 					String jNameTimeZone = configurationDao.getConfValue(
 							"default.timezone", String.class, "Europe/Berlin");
-					OmTimeZone omTimeZone = omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone);
-					u.setOmTimeZone(omTimeZone);
+					u.setTimeZoneId(jNameTimeZone);
 					u.setForceTimeZoneCheck(true);
 				} else {
 					u.setForceTimeZoneCheck(false);

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/test/invitiation/TestInvitation.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/test/invitiation/TestInvitation.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/test/invitiation/TestInvitation.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/test/invitiation/TestInvitation.java Sun Aug 11 00:26:38 2013
@@ -32,7 +32,7 @@ public class TestInvitation extends Abst
 			User us = (User) userManager.loginUser(sessionData.getSession_id(), username, userpass, null, null, false);
 			
 			invitationService.sendInvitationHash(sessionData.getSession_id(), username, "message", "baseurl", "sebawagner@apache.org", 
-					"subject", 1L, "", false, "", 1, new Date(), "12:00", new Date(), "14:00", 1L, us.getOmTimeZone().getJname(), true);
+					"subject", 1L, "", false, "", 1, new Date(), "12:00", new Date(), "14:00", 1L, us.getTimeZoneId(), true);
 			
 		} catch (Exception err) {
 			log.error("[testSendInvitationLink]", err);

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/utils/math/TimezoneUtil.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/utils/math/TimezoneUtil.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/utils/math/TimezoneUtil.java Sun Aug 11 00:26:38 2013
@@ -102,10 +102,9 @@ public class TimezoneUtil {
 	 */
 	public TimeZone getTimezoneByUser(User user) {
 
-		if (user != null && user.getOmTimeZone() != null) {
+		if (user != null && user.getTimeZoneId() != null) {
 
-			TimeZone timeZone = TimeZone.getTimeZone(user.getOmTimeZone()
-					.getIcal());
+			TimeZone timeZone = TimeZone.getTimeZone(user.getTimeZoneId());
 
 			if (timeZone != null) {
 				return timeZone;

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/app/WebSession.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/app/WebSession.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/app/WebSession.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/app/WebSession.java Sun Aug 11 00:26:38 2013
@@ -48,6 +48,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.persistence.beans.user.State;
 import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.apache.openmeetings.web.user.dashboard.PrivateRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
@@ -135,7 +136,7 @@ public class WebSession extends Abstract
 			User user = (User)u;
 			userId = user.getUser_id();
 			languageId = user.getLanguage_id();
-			tz = TimeZone.getTimeZone(user.getOmTimeZone().getIcal());
+			tz = getBean(TimezoneUtil.class).getTimezoneByUser(user);
 			ISO8601FORMAT.setTimeZone(tz);
 			//FIXMW locale need to be set by User language first
 			sdf = DateFormat.getDateTimeInstance(SHORT, SHORT, getLocale());

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Sun Aug 11 00:26:38 2013
@@ -39,6 +39,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.user.State;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.ActivatePage;
 import org.apache.openmeetings.web.pages.MainPage;
@@ -190,7 +191,7 @@ public class RegisterDialog extends Abst
 					Arrays.asList(getBean(ConfigurationDao.class).getConfValue("default_domain_id", Long.class, null)),
 					"" /*phone*/, false, baseURL,
 					sendConfirmation,
-					getBean(OmTimeZoneDao.class).getOmTimeZone(tzModel.getObject().getJname()),
+					getBean(TimezoneUtil.class).getTimezoneByInternalJName(tzModel.getObject().getJname()),
 					false /*forceTimeZoneCheck*/,
 					"" /*userOffers*/, "" /*userSearchs*/,
 					false /*showContactData*/,

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java Sun Aug 11 00:26:38 2013
@@ -50,7 +50,7 @@ public class WelcomeWidgetView extends W
 		 //FIXME this need to be aligned according to Locale
 		add(new Label("firstname", Model.of(u.getFirstname())));
 		add(new Label("lastname", Model.of(u.getLastname())));
-		add(new Label("tz", Model.of(u.getOmTimeZone().getIcal())));
+		add(new Label("tz", Model.of(u.getTimeZoneId())));
 		add(new AjaxLink<Void>("openUnread") {
 			private static final long serialVersionUID = -1847619557485964386L;
 

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserProfilePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserProfilePanel.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserProfilePanel.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserProfilePanel.java Sun Aug 11 00:26:38 2013
@@ -57,8 +57,8 @@ public class UserProfilePanel extends Us
 		add(new ProfileImagePanel("img", userId));
 		add(new Label("firstname", u.getFirstname()));
 		add(new Label("lastname", u.getLastname()));
-		add(new Label("tz", u.getOmTimeZone().getJname()));
-		add(new Label("tzname", u.getOmTimeZone().getIcal()));
+		add(new Label("tz", u.getTimeZoneId()));
+		add(new Label("tzname", u.getTimeZoneId()));
 		add(new Label("created", u.getRegdate()));
 		add(new TextArea<String>("offer", Model.of(u.getUserOffers())).setEnabled(userId == getUserId()));
 		add(new TextArea<String>("interest", Model.of(u.getUserSearchs())).setEnabled(userId == getUserId()));

Modified: openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserSearchPanel.java?rev=1512841&r1=1512840&r2=1512841&view=diff
==============================================================================
--- openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserSearchPanel.java (original)
+++ openmeetings/branches/OPENMEETINGS-745/src/org/apache/openmeetings/web/user/profile/UserSearchPanel.java Sun Aug 11 00:26:38 2013
@@ -30,6 +30,7 @@ import org.apache.openmeetings.data.user
 import org.apache.openmeetings.data.user.dao.UserContactsDao;
 import org.apache.openmeetings.persistence.beans.user.PrivateMessage;
 import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.apache.openmeetings.web.common.PagingNavigatorPanel;
 import org.apache.openmeetings.web.common.UserPanel;
 import org.apache.openmeetings.web.util.ContactsHelper;
@@ -128,7 +129,7 @@ public class UserSearchPanel extends Use
 				User u = item.getModelObject();
 				final long userId = u.getUser_id();
 				item.add(new Label("name", getName(u)));
-				item.add(new Label("tz", getTz(u)));
+				item.add(new Label("tz", getBean(TimezoneUtil.class).getTimezoneByUser(u)));
 				item.add(new Label("offer", u.getUserOffers()));
 				item.add(new Label("search", u.getUserSearchs()));
 				item.add(new WebMarkupContainer("view").add(new AjaxEventBehavior("onclick") {
@@ -176,7 +177,4 @@ public class UserSearchPanel extends Use
 		return "" + u.getFirstname() + " " + u.getLastname() + " [" + u.getLogin() + "]"; //FIXME salutation
 	}
 
-	private String getTz(User u) {
-		return u.getOmTimeZone() == null ? "" : u.getOmTimeZone().getJname() + "(" + u.getOmTimeZone().getIcal() + ")";
-	}
 }