You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/03/28 13:13:00 UTC

svn commit: r1582721 - in /openmeetings: branches/3.0.x/WebContent/src/base/ branches/3.0.x/WebContent/src/base/components/ branches/3.0.x/WebContent/src/base/components/dynamicCombobox/ branches/3.0.x/WebContent/src/base/hibernate/ branches/3.0.x/WebC...

Author: solomax
Date: Fri Mar 28 12:12:59 2014
New Revision: 1582721

URL: http://svn.apache.org/r1582721
Log:
[OPENMEETINGS-960] room is opened much faster

Removed:
    openmeetings/branches/3.0.x/WebContent/src/base/components/dynamicCombobox/
    openmeetings/trunk/singlewebapp/WebContent/src/base/components/dynamicCombobox/
Modified:
    openmeetings/branches/3.0.x/WebContent/src/base/components/library.lzx
    openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
    openmeetings/branches/3.0.x/WebContent/src/base/mainAttributes.lzx
    openmeetings/branches/3.0.x/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
    openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
    openmeetings/branches/3.0.x/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
    openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java
    openmeetings/trunk/singlewebapp/WebContent/src/base/components/library.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/inviteMainWindow.lzx
    openmeetings/trunk/singlewebapp/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
    openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java

Modified: openmeetings/branches/3.0.x/WebContent/src/base/components/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/components/library.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/components/library.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/components/library.lzx Fri Mar 28 12:12:59 2014
@@ -46,6 +46,5 @@
     <include href="presenter/" />
     <include href="lps/" />
     <include href="conferencebox/" />
-    <include href="dynamicCombobox/" />
 
 </library>

Modified: openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx Fri Mar 28 12:12:59 2014
@@ -24,9 +24,6 @@
 
 <dataset name="languagesSet" />        
 
-<dataset name="countrySet" />
-<dataset name="timeZoneSet" />
-
 <class name="userStatus" extends="view" width="250" height="30">
     <attribute name="statusText" type="string" />
     <attribute name="statusColor" type="number" value="0" />
@@ -627,19 +624,47 @@
                         if($debug) Debug.write("getRoomTypes");
                         parent.getRoomTypes.doCall();
                     } else {
-                    	if($debug) Debug.write("getStates");
-                        parent.initlanguageLoaded=true;
-                        parent.getStates.doCall(); // this is very long call let it be async
-                    	if($debug) Debug.write("getTimeZones");
-			            parent.getTimeZones.doCall(); // this is very long call let it be async
-                    	if($debug) Debug.write("getGeneralOptions");
-			            parent.getGeneralOptions.doCall();
+						parent.initlanguageLoaded=true;
+						if($debug) Debug.write("getGeneralOptions");
+						parent.getGeneralOptions.doCall();
+						if($debug) Debug.write("getTimeZones");
+						parent.getTimeZones.doCall(); // this is very long call let it be async
                     }
                 }
             ]]>
         </handler>  
     </netRemoteCallHib>
         
+	<netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones">
+		<attribute name="start" value="0" type="number" />
+		<attribute name="step" value="100" type="number" />
+		<netparam><method name="getValue">return parent.start;</method></netparam>
+		<netparam><method name="getValue">return parent.step;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("getTimeZones count: ", value.length);
+			if (canvas.thishib.loaderVar != null) {
+				canvas.thishib.loaderVar.setProgress();
+			}
+			if (start == 0) {
+				canvas.timeZones = new Array();
+			}
+			for (var i = 0; i < value.length; ++i) {
+				canvas.timeZones.push(value[i]);
+			}
+			if (value.length < step) {
+				//if($debug) Debug.write("canvas.timeZones == ", canvas.timeZones);
+				canvas.inviteMainWindow = new lz.inviteMainWindow(canvas);
+				if($debug) Debug.write("create invitationWindow: ",canvas.inviteMainWindow);
+			} else {
+				start += step;
+				doCall();
+			}
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
     <!--
         There must be a temporary SIP-Account created at this moment
      -->  
@@ -691,29 +716,6 @@
         </handler>  
     </netRemoteCallHib> 
     
-    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" dataobject="countrySet">
-        <handler name="ondata" args="value">
-            //The onResult-Handler will be called be the rtmpconnection
-            if ($debug) Debug.write("getStates: ",value);
-            canvas.statesInitValues = value;
-			if (canvas.thishib.loaderVar != null) {
-            	canvas.thishib.loaderVar.setProgress();
-            }
-        </handler>  
-    </netRemoteCallHib>  
-    
-    <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" dataobject="timeZoneSet">
-        <handler name="ondata" args="value">
-			//The onResult-Handler will be called be the rtmpconnection
-			if ($debug) Debug.write("getTimeZones: ",value);
-			if (canvas.thishib.loaderVar != null) {
-				canvas.thishib.loaderVar.setProgress();
-			}
-			canvas.inviteMainWindow = new lz.inviteMainWindow(canvas);
-			if($debug) Debug.write("create invitationWindow: ",canvas.inviteMainWindow);
-        </handler>
-    </netRemoteCallHib>
-
 	<netRemoteCallHib name="getGeneralOptions" funcname="xmlcrm.getGeneralOptions">
 		<handler name="ondata" args="value">
 		<![CDATA[
@@ -722,23 +724,23 @@
 			}
 			if ($debug) Debug.write("getGeneralOptions: ", value.length, value);
 			if (value != null) {
-				if (value.length > 0) {
+				if (value.length > 0 && value[0] != null) {
 					//if ($debug) Debug.write("Give exclusive audio keycode is: ", value[0].conf_value);
 					canvas.setAttribute('GIVE_EXCLUSIVE_AUDIO_KEY', value[0].conf_value);
 				}
-				if (value.length > 1) {
+				if (value.length > 1 && value[1] != null) {
 					if ($debug) Debug.write("red5sip.enable is: ", value[1].conf_value);
 					canvas.setAttribute('RED5_SIP_ENABLE', value[1].conf_value);
 				}
-				if (value.length > 2) {
+				if (value.length > 2 && value[2] != null) {
 					if ($debug) Debug.write("max_upload_size is: ", value[2].conf_value);
 					canvas.setAttribute('MAX_UPLOAD_SIZE', value[2].conf_value);
 				}
-				if (value.length > 3) {
+				if (value.length > 3 && value[3] != null) {
 					if ($debug) Debug.write("Mute/unmute keycode is: ", value[3].conf_value);
 					canvas.setAttribute('MUTE_AUDIO_KEY', value[3].conf_value);
 				}
-				if (value.length > 4) {
+				if (value.length > 4 && value[4] != null) {
 					if ($debug) Debug.write("redirect.url.for.external.users is: ", value[4].conf_value);
 					canvas.setAttribute('REDIRECT_URL_FOR_EXTERNAL_USERS', value[4].conf_value);
 				}

Modified: openmeetings/branches/3.0.x/WebContent/src/base/mainAttributes.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/mainAttributes.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/mainAttributes.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/mainAttributes.lzx Fri Mar 28 12:12:59 2014
@@ -276,6 +276,7 @@ the LAST RoomClient Object that has been
 <attribute name="firstName" value="" type="string" />
 <attribute name="timeZoneId" value="0" type="number" />
 <attribute name="jNameTimeZone" value="" type="string" />
+<attribute name="timeZones" type="object" />
 <attribute name="lastName" value="" type="string" />
 <attribute name="mail" value="" type="string" />
 <attribute name="lastLogin" value="" type="string" />

Modified: openmeetings/branches/3.0.x/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/invitation/autoloaderBarOnly.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/invitation/autoloaderBarOnly.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/invitation/autoloaderBarOnly.lzx Fri Mar 28 12:12:59 2014
@@ -67,23 +67,12 @@
 					this.doCall();
 	            } else {
             		parent.setProgress();
-            		parent.getStates.doCall();
+		            parent.getTimeZones.doCall();
 				}
 			]]>
         </handler>  
     </netRemoteCallHib>	 
     
-    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" 
-		remotecontext="$once{ canvas.thishib }" dataobject="countrySet"> 
-        <handler name="ondata" args="value">
-            //The onResult-Handler will be called be the rtmpconnection
-            if ($debug) Debug.write("getStates: ",value);
-            canvas.statesInitValues = value;
-            parent.setProgress();
-            parent.getTimeZones.doCall();
-        </handler>  
-    </netRemoteCallHib>   
-    
     <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" 
 		  remotecontext="$once{ canvas.thishib }" dataobject="timeZoneSet">
         <handler name="ondata" args="value">

Modified: openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx Fri Mar 28 12:12:59 2014
@@ -32,14 +32,36 @@
 		<attribute name="baseUrl" value="http://www.denic.de" type="string" />
 		<attribute name="currentHash" value="" type="string" />
 		<attribute name="display" value="false" type="boolean" />
+		<attribute name="addTimezoneItemsDelegate" value="null"/>
     	
 		<handler name="oninit">
 		<![CDATA[
     		this.setAttribute('visibility', 'hidden');
 			this.baseUrl = canvas.getAppBaseUrl();
 			if( $debug ) Debug.write("this.baseUrl: ", this.baseUrl);
+			if (addTimezoneItemsDelegate == null) {
+				addTimezoneItemsDelegate = new LzDelegate(this, "addTimezoneItems");
+				lz.Timer.addTimer(addTimezoneItemsDelegate, 2000);
+			}
 		]]>
 		</handler>
+		
+		<method name="addTimezoneItems" args="ignore=null">
+		<![CDATA[
+			var itemCount = _timeZone.cblist.getNumItems();
+			if ( itemCount < canvas.timeZones.length) {
+				for (var i = itemCount; i < Math.min(itemCount + 30, canvas.timeZones.length); ++i) {
+					_timeZone.addItem(canvas.timeZones[i], canvas.timeZones[i]);
+				}
+			} else {
+				lz.Timer.removeTimer(addTimezoneItemsDelegate);
+				addTimezoneItemsDelegate = null;
+			}
+			if ($debug) Debug.write(":: addTimezoneItems :: ", itemCount);
+			lz.Timer.resetTimer(addTimezoneItemsDelegate, 500);
+		]]>
+		</method>
+
         <handler name="onvisible" args="v">
     	<![CDATA[
     		if (v) {
@@ -131,12 +153,10 @@
 		<customEdittext name="_timeTo" enabled="${ ((parent._valid.value==2) ? true : false ) }"
 						width="50" x="232" y="314" text="$once{ getStringTime() }" regexpType="time" />				   
 
-        <labelText labelid="1143" width="200" y="344" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }"  x="4" />
-        <resetCombobox name="_timeZone" editable="false" y="344" width="270" x="120"
-         			   enabled="${ ((parent._valid.value==2) ? true : false ) }"
-         			   fontsize="11" style="componentStyle">
-            <labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'text()' }" value="$path{ 'text()' }"/>
-        </resetCombobox>
+		<labelText labelid="1143" width="200" y="344" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }"  x="4" />
+		<resetCombobox name="_timeZone" editable="false" y="344" width="270" x="120"
+				enabled="${ ((parent._valid.value==2) ? true : false ) }"
+				fontsize="11" style="componentStyle"/>
          
 		<labelText labelid="59" width="200" y="374" x="4" />
         <resetCombobox name="_languages" editable="false" y="374" width="270" x="120"

Modified: openmeetings/branches/3.0.x/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx Fri Mar 28 12:12:59 2014
@@ -24,9 +24,6 @@
 
 <dataset name="languagesSet" />        
 
-<dataset name="countrySet" />
-<dataset name="timeZoneSet" />
-
 <class name="userStatus" extends="view" width="250" height="30">
     <attribute name="statusText" type="string" />
     <attribute name="statusColor" type="number" value="0" />

Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java Fri Mar 28 12:12:59 2014
@@ -21,6 +21,7 @@ package org.apache.openmeetings.remote;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -44,7 +45,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
 import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.db.entity.user.State;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.Userdata;
 import org.apache.openmeetings.ldap.LdapLoginManagement;
@@ -62,8 +62,6 @@ import org.red5.server.api.service.IPend
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import edu.emory.mathcs.backport.java.util.Arrays;
-
 /**
  * 
  * @author swagner
@@ -447,18 +445,9 @@ public class MainService implements IPen
 		return -1L;
 	}
 
-	/**
-	 * get a list of all states, needs no authentication to load
-	 * 
-	 * @return List of State-Objects or null
-	 */
-	public List<State> getStates() {
-		return statemanagement.getStates();
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getTimeZones() {
-		return Arrays.asList(TimeZone.getAvailableIDs());
+	public String[] getTimeZones(int start, int count) {
+		String all[] = TimeZone.getAvailableIDs();
+		return Arrays.copyOfRange(all, start, Math.min(start + count, all.length));
 	}
 
 	public List<Configuration> getGeneralOptions(String SID) {

Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/components/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/components/library.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/components/library.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/components/library.lzx Fri Mar 28 12:12:59 2014
@@ -46,6 +46,5 @@
     <include href="presenter/" />
     <include href="lps/" />
     <include href="conferencebox/" />
-    <include href="dynamicCombobox/" />
 
 </library>

Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.lzx Fri Mar 28 12:12:59 2014
@@ -24,9 +24,6 @@
 
 <dataset name="languagesSet" />        
 
-<dataset name="countrySet" />
-<dataset name="timeZoneSet" />
-
 <class name="userStatus" extends="view" width="250" height="30">
     <attribute name="statusText" type="string" />
     <attribute name="statusColor" type="number" value="0" />
@@ -627,19 +624,47 @@
                         if($debug) Debug.write("getRoomTypes");
                         parent.getRoomTypes.doCall();
                     } else {
-                    	if($debug) Debug.write("getStates");
-                        parent.initlanguageLoaded=true;
-                        parent.getStates.doCall(); // this is very long call let it be async
-                    	if($debug) Debug.write("getTimeZones");
-			            parent.getTimeZones.doCall(); // this is very long call let it be async
-                    	if($debug) Debug.write("getGeneralOptions");
-			            parent.getGeneralOptions.doCall();
+						parent.initlanguageLoaded=true;
+						if($debug) Debug.write("getGeneralOptions");
+						parent.getGeneralOptions.doCall();
+						if($debug) Debug.write("getTimeZones");
+						parent.getTimeZones.doCall(); // this is very long call let it be async
                     }
                 }
             ]]>
         </handler>  
     </netRemoteCallHib>
         
+	<netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones">
+		<attribute name="start" value="0" type="number" />
+		<attribute name="step" value="100" type="number" />
+		<netparam><method name="getValue">return parent.start;</method></netparam>
+		<netparam><method name="getValue">return parent.step;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("getTimeZones count: ", value.length);
+			if (canvas.thishib.loaderVar != null) {
+				canvas.thishib.loaderVar.setProgress();
+			}
+			if (start == 0) {
+				canvas.timeZones = new Array();
+			}
+			for (var i = 0; i < value.length; ++i) {
+				canvas.timeZones.push(value[i]);
+			}
+			if (value.length < step) {
+				//if($debug) Debug.write("canvas.timeZones == ", canvas.timeZones);
+				canvas.inviteMainWindow = new lz.inviteMainWindow(canvas);
+				if($debug) Debug.write("create invitationWindow: ",canvas.inviteMainWindow);
+			} else {
+				start += step;
+				doCall();
+			}
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
     <!--
         There must be a temporary SIP-Account created at this moment
      -->  
@@ -691,29 +716,6 @@
         </handler>  
     </netRemoteCallHib> 
     
-    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" dataobject="countrySet">
-        <handler name="ondata" args="value">
-            //The onResult-Handler will be called be the rtmpconnection
-            if ($debug) Debug.write("getStates: ",value);
-            canvas.statesInitValues = value;
-			if (canvas.thishib.loaderVar != null) {
-            	canvas.thishib.loaderVar.setProgress();
-            }
-        </handler>  
-    </netRemoteCallHib>  
-    
-    <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" dataobject="timeZoneSet">
-        <handler name="ondata" args="value">
-			//The onResult-Handler will be called be the rtmpconnection
-			if ($debug) Debug.write("getTimeZones: ",value);
-			if (canvas.thishib.loaderVar != null) {
-				canvas.thishib.loaderVar.setProgress();
-			}
-			canvas.inviteMainWindow = new lz.inviteMainWindow(canvas);
-			if($debug) Debug.write("create invitationWindow: ",canvas.inviteMainWindow);
-        </handler>
-    </netRemoteCallHib>
-
 	<netRemoteCallHib name="getGeneralOptions" funcname="xmlcrm.getGeneralOptions">
 		<handler name="ondata" args="value">
 		<![CDATA[
@@ -722,23 +724,23 @@
 			}
 			if ($debug) Debug.write("getGeneralOptions: ", value.length, value);
 			if (value != null) {
-				if (value.length > 0) {
+				if (value.length > 0 && value[0] != null) {
 					//if ($debug) Debug.write("Give exclusive audio keycode is: ", value[0].conf_value);
 					canvas.setAttribute('GIVE_EXCLUSIVE_AUDIO_KEY', value[0].conf_value);
 				}
-				if (value.length > 1) {
+				if (value.length > 1 && value[1] != null) {
 					if ($debug) Debug.write("red5sip.enable is: ", value[1].conf_value);
 					canvas.setAttribute('RED5_SIP_ENABLE', value[1].conf_value);
 				}
-				if (value.length > 2) {
+				if (value.length > 2 && value[2] != null) {
 					if ($debug) Debug.write("max_upload_size is: ", value[2].conf_value);
 					canvas.setAttribute('MAX_UPLOAD_SIZE', value[2].conf_value);
 				}
-				if (value.length > 3) {
+				if (value.length > 3 && value[3] != null) {
 					if ($debug) Debug.write("Mute/unmute keycode is: ", value[3].conf_value);
 					canvas.setAttribute('MUTE_AUDIO_KEY', value[3].conf_value);
 				}
-				if (value.length > 4) {
+				if (value.length > 4 && value[4] != null) {
 					if ($debug) Debug.write("redirect.url.for.external.users is: ", value[4].conf_value);
 					canvas.setAttribute('REDIRECT_URL_FOR_EXTERNAL_USERS', value[4].conf_value);
 				}
@@ -1005,8 +1007,8 @@
                 if (value == null || value.isScreenClient) {
                     return;
                 }
-                if ($debug) Debug.write("canvas.currentBaseConferenceRoom._chatPanelStrict: ", canvas.currentBaseConferenceRoom._chatPanelStrict);
                 if (canvas.currentBaseConferenceRoom != null && canvas.currentBaseConferenceRoom._chatPanelStrict != null) {
+	                if ($debug) Debug.write("canvas.currentBaseConferenceRoom._chatPanelStrict: ", canvas.currentBaseConferenceRoom._chatPanelStrict);
                 	canvas.currentBaseConferenceRoom._chatPanelStrict.closeprivatechat(["close", value.publicSID]);
                 }
                 if (canvas.currentActivityList != null) {

Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx Fri Mar 28 12:12:59 2014
@@ -276,6 +276,7 @@ the LAST RoomClient Object that has been
 <attribute name="firstName" value="" type="string" />
 <attribute name="timeZoneId" value="0" type="number" />
 <attribute name="jNameTimeZone" value="" type="string" />
+<attribute name="timeZones" type="object" />
 <attribute name="lastName" value="" type="string" />
 <attribute name="mail" value="" type="string" />
 <attribute name="lastLogin" value="" type="string" />

Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.lzx Fri Mar 28 12:12:59 2014
@@ -67,23 +67,12 @@
 					this.doCall();
 	            } else {
             		parent.setProgress();
-            		parent.getStates.doCall();
+		            parent.getTimeZones.doCall();
 				}
 			]]>
         </handler>  
     </netRemoteCallHib>	 
     
-    <netRemoteCallHib name="getStates" funcname="xmlcrm.getStates" 
-		remotecontext="$once{ canvas.thishib }" dataobject="countrySet"> 
-        <handler name="ondata" args="value">
-            //The onResult-Handler will be called be the rtmpconnection
-            if ($debug) Debug.write("getStates: ",value);
-            canvas.statesInitValues = value;
-            parent.setProgress();
-            parent.getTimeZones.doCall();
-        </handler>  
-    </netRemoteCallHib>   
-    
     <netRemoteCallHib name="getTimeZones" funcname="xmlcrm.getTimeZones" 
 		  remotecontext="$once{ canvas.thishib }" dataobject="timeZoneSet">
         <handler name="ondata" args="value">

Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx Fri Mar 28 12:12:59 2014
@@ -30,7 +30,7 @@
 		
 		<handler name="oninit">
 			this.setRoomValues();
-			if (canvas.thishib.currentInvitation.isPasswordProtected){
+			if (canvas.thishib.currentInvitation.passwordProtected){
 				if ($debug) Debug.write("Is Password Protected");
 				this.pass_label.setAttribute('visibility','visible');
 				this._password.setAttribute('visibility','visible');
@@ -106,43 +106,39 @@
         	
 		</method>
 		
-    	<method name="login">
+		<method name="login">
 			this.userlang = Number(this.languages.getValue());
 			this.labellanguages.setAttribute('visibility','hidden');
 			this.languages.setAttribute('visibility','hidden');
 			this.connect.setAttribute('visibility','hidden');
 			this.labelloading.setAttribute('visibility','visible');
-           
-        	parent.userlang = Number(this.userlang);
-           
-        	var userObject = new Array();
-           
-        	canvas.setAttribute('currentuser',canvas.thishib.currentInvitation.invitedEMail);
-        	canvas.setAttribute('user_id',-1);
-        	canvas.setAttribute('firstName',"");
-        	canvas.setAttribute('lastName',canvas.thishib.currentInvitation.invitedEMail);	
-        	canvas.setAttribute('mail',canvas.mail);
-        	canvas.setAttribute('lastLogin','');
-        	canvas.setAttribute('official_code','');
-        	canvas.setAttribute('picture_uri','');
-        	canvas.setAttribute('language','');					
-       
-        	userObject["login"] = canvas.thishib.currentInvitation.invitedEMail;
-        	userObject["firstname"] = "";
-        	userObject["lastname"] = canvas.thishib.currentInvitation.invitedEMail;
-        	userObject["adresses"] = new Array();
-        	//userObject["adresses"]["emails"] = new Array();
-        	userObject["adresses"]["email"] = canvas.thishib.currentInvitation.invitedEMail;
-        	//userObject["adresses"]["emails"][0]["mail"] = new Array();
-        	//userObject["adresses"]["emails"][0]["mail"]["email"] = canvas.thishib.currentInvitation.invitedEMail;
-           
-        	hib.userobject = userObject;
-           
-        	hib.userlang = Number(this.userlang);
-        	canvas.thishib.loaderVar = new lz.autoloaderBarOnly(canvas);
+			
+			parent.userlang = Number(this.userlang);
+			
+			var invitee = canvas.thishib.currentInvitation.invitee;
+			var email = invitee.adresses.email;
+			var fName = invitee.firstname == null ? "" : invitee.firstname;
+			var lName = invitee.lastname == null ? email : invitee.lastname;
+			
+			canvas.setAttribute('currentuser', email);
+			canvas.setAttribute('user_id', -1);
+			canvas.setAttribute('firstName', fName);
+			canvas.setAttribute('lastName', lName);
+			canvas.setAttribute('mail', email);
+			canvas.setAttribute('lastLogin', invitee.lastlogin);
+			canvas.setAttribute('official_code','');
+			canvas.setAttribute('picture_uri', invitee.pictureuri);
+			canvas.setAttribute('language', invitee.language_id);
+			
+			hib.userobject = invitee;
+			hib.userobject.firstname = fName;
+			hib.userobject.lastname = lName;
+			
+			hib.userlang = Number(this.userlang);
+			canvas.thishib.loaderVar = new lz.autoloaderBarOnly(canvas);
 			canvas.thishib.loaderVar.setProgress();
 			this.close();
-        	canvas.thishib.loaderVar.getLanguageByIdAndMax.doCall();         
+			canvas.thishib.loaderVar.getLanguageByIdAndMax.doCall();         
 		</method>
 		 
 		<!-- label: password -->

Modified: openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/inviteMainWindow.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/inviteMainWindow.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/inviteMainWindow.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/modules/invitation/inviteMainWindow.lzx Fri Mar 28 12:12:59 2014
@@ -32,14 +32,36 @@
 		<attribute name="baseUrl" value="http://www.denic.de" type="string" />
 		<attribute name="currentHash" value="" type="string" />
 		<attribute name="display" value="false" type="boolean" />
+		<attribute name="addTimezoneItemsDelegate" value="null"/>
     	
 		<handler name="oninit">
 		<![CDATA[
     		this.setAttribute('visibility', 'hidden');
 			this.baseUrl = canvas.getAppBaseUrl();
 			if( $debug ) Debug.write("this.baseUrl: ", this.baseUrl);
+			if (addTimezoneItemsDelegate == null) {
+				addTimezoneItemsDelegate = new LzDelegate(this, "addTimezoneItems");
+				lz.Timer.addTimer(addTimezoneItemsDelegate, 2000);
+			}
 		]]>
 		</handler>
+		
+		<method name="addTimezoneItems" args="ignore=null">
+		<![CDATA[
+			var itemCount = _timeZone.cblist.getNumItems();
+			if ( itemCount < canvas.timeZones.length) {
+				for (var i = itemCount; i < Math.min(itemCount + 30, canvas.timeZones.length); ++i) {
+					_timeZone.addItem(canvas.timeZones[i], canvas.timeZones[i]);
+				}
+			} else {
+				lz.Timer.removeTimer(addTimezoneItemsDelegate);
+				addTimezoneItemsDelegate = null;
+			}
+			if ($debug) Debug.write(":: addTimezoneItems :: ", itemCount);
+			lz.Timer.resetTimer(addTimezoneItemsDelegate, 500);
+		]]>
+		</method>
+
         <handler name="onvisible" args="v">
     	<![CDATA[
     		if (v) {
@@ -131,12 +153,10 @@
 		<customEdittext name="_timeTo" enabled="${ ((parent._valid.value==2) ? true : false ) }"
 						width="50" x="232" y="314" text="$once{ getStringTime() }" regexpType="time" />				   
 
-        <labelText labelid="1143" width="200" y="344" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }"  x="4" />
-        <resetCombobox name="_timeZone" editable="false" y="344" width="270" x="120"
-         			   enabled="${ ((parent._valid.value==2) ? true : false ) }"
-         			   fontsize="11" style="componentStyle">
-            <labeldTextListItem datapath="timeZoneSet:/item" text="$path{ 'text()' }" value="$path{ 'text()' }"/>
-        </resetCombobox>
+		<labelText labelid="1143" width="200" y="344" fgcolor="${ ((parent._valid.value==2) ? 0x000000 : 0xCCCCCC ) }"  x="4" />
+		<resetCombobox name="_timeZone" editable="false" y="344" width="270" x="120"
+				enabled="${ ((parent._valid.value==2) ? true : false ) }"
+				fontsize="11" style="componentStyle"/>
          
 		<labelText labelid="59" width="200" y="374" x="4" />
         <resetCombobox name="_languages" editable="false" y="374" width="270" x="120"

Modified: openmeetings/trunk/singlewebapp/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/swf10/base/hibernate/hibRtmpConnection.lzx Fri Mar 28 12:12:59 2014
@@ -24,9 +24,6 @@
 
 <dataset name="languagesSet" />        
 
-<dataset name="countrySet" />
-<dataset name="timeZoneSet" />
-
 <class name="userStatus" extends="view" width="250" height="30">
     <attribute name="statusText" type="string" />
     <attribute name="statusColor" type="number" value="0" />

Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java?rev=1582721&r1=1582720&r2=1582721&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java Fri Mar 28 12:12:59 2014
@@ -21,6 +21,7 @@ package org.apache.openmeetings.remote;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -44,7 +45,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
 import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.db.entity.user.State;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.Userdata;
 import org.apache.openmeetings.ldap.LdapLoginManagement;
@@ -62,8 +62,6 @@ import org.red5.server.api.service.IPend
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import edu.emory.mathcs.backport.java.util.Arrays;
-
 /**
  * 
  * @author swagner
@@ -447,18 +445,9 @@ public class MainService implements IPen
 		return -1L;
 	}
 
-	/**
-	 * get a list of all states, needs no authentication to load
-	 * 
-	 * @return List of State-Objects or null
-	 */
-	public List<State> getStates() {
-		return statemanagement.getStates();
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<String> getTimeZones() {
-		return Arrays.asList(TimeZone.getAvailableIDs());
+	public String[] getTimeZones(int start, int count) {
+		String all[] = TimeZone.getAvailableIDs();
+		return Arrays.copyOfRange(all, start, Math.min(start + count, all.length));
 	}
 
 	public List<Configuration> getGeneralOptions(String SID) {