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", "[email protected]", 
-                                       "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() + ")";
-       }
 }


Reply via email to