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 2016/11/27 16:49:19 UTC

svn commit: r1771605 [1/2] - in /openmeetings/application: branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/ branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ branches/3.1.x/o...

Author: solomax
Date: Sun Nov 27 16:49:18 2016
New Revision: 1771605

URL: http://svn.apache.org/viewvc?rev=1771605&view=rev
Log:
[OPENMEETINGS-1366] WB renaming seems to work as expected

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java Sun Nov 27 16:49:18 2016
@@ -33,15 +33,15 @@ import org.apache.openmeetings.db.dto.ro
  */
 public class WhiteBoardObjectListManagerById {
 	private Map<Long, WhiteboardObjectList> whiteBoardObjectList = new ConcurrentHashMap<>();
-	
+
 	private volatile AtomicLong whiteboardId = new AtomicLong(0);
-	
-	public long getNewWhiteboardId(Long roomId) throws Exception {
+
+	public long getNewWhiteboardId(Long roomId, String name) throws Exception {
 		long wbId = whiteboardId.getAndIncrement();
-		setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(), wbId);
+		setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(name), wbId);
 		return wbId;
 	}
-	
+
 	/*
 	 * Room items a Whiteboard
 	 */
@@ -54,7 +54,7 @@ public class WhiteBoardObjectListManager
 			return whiteboardObjectList;
 		}
 	}
-	
+
 	public WhiteboardObject getWhiteBoardObjectListByRoomIdAndWhiteboard(Long roomId, Long whiteBoardId){
 		WhiteboardObjectList whiteboardObjectList = getWhiteBoardObjectListByRoomId(roomId);
 		WhiteboardObject whiteboardObjects = whiteboardObjectList.getWhiteboardObjects().get(whiteBoardId);
@@ -63,16 +63,15 @@ public class WhiteBoardObjectListManager
 		}
 		return whiteboardObjects;
 	}
-	
+
 	/*
 	 * Whiteboard Object List
 	 * 
 	 */
-	
 	public void setWhiteBoardObjectListRoomObj(Long roomId, WhiteboardObjectList whiteboardObjectList){
 		whiteBoardObjectList.put(roomId, whiteboardObjectList);
 	}
-	
+
 	public void setWhiteBoardObjectListRoomObjAndWhiteboardId(Long roomId, WhiteboardObject whiteboardObjects, long whiteBoardId) {
 		WhiteboardObjectList whiteboardObjectList = getWhiteBoardObjectListByRoomId(roomId);
 		whiteboardObjects.setWhiteBoardId(whiteBoardId);

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java Sun Nov 27 16:49:18 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Map;
 
@@ -33,6 +34,7 @@ import org.apache.commons.collections4.C
 import org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectListManagerById;
 import org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectSyncManager;
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
@@ -62,7 +64,7 @@ public class WhiteBoardService implement
 	@Autowired
 	private UserDao userDao;
 	@Autowired
-	private ScopeApplicationAdapter scopeApplicationAdapter;
+	private ScopeApplicationAdapter scopeAdapter;
 	@Autowired
 	private ISessionManager sessionManager;
 	@Autowired
@@ -70,22 +72,24 @@ public class WhiteBoardService implement
 	@Autowired
 	private WhiteBoardObjectListManagerById wbListManagerById;
 	@Autowired
-	private SessiondataDao sessiondataDao;
+	private SessiondataDao sessionDao;
+	@Autowired
+	private LabelDao labelDao;
 
-	public Long getNewWhiteboardId() {
+	public boolean getNewWhiteboardId(String name) {
 		try {
 			IConnection current = Red5.getConnectionLocal();
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 			Long roomId = currentClient.getRoomId();
 
-			Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId);
-
-			return whiteBoardId;
-		} catch (Exception err) {
-			log.error("[deleteWhiteboard]", err);
+			Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId, name);
+			scopeAdapter.sendMessageAll(Arrays.asList("newWhiteboard", whiteBoardId, name));
+		} catch (Exception e) {
+			log.error("[getNewWhiteboardId]", e);
+			return false;
 		}
-		return null;
+		return true;
 	}
 
 	public boolean deleteWhiteboard(Long whiteBoardId) {
@@ -111,7 +115,8 @@ public class WhiteBoardService implement
 		return false;
 	}
 
-	public WhiteboardObjectList getRoomItemsBy() {
+	public Map<Long, WhiteboardObject> getRoomItemsBy() {
+		Map<Long, WhiteboardObject> result = new LinkedHashMap<>();
 		try {
 			IConnection current = Red5.getConnectionLocal();
 			String streamid = current.getClient().getId();
@@ -122,23 +127,37 @@ public class WhiteBoardService implement
 			WhiteboardObjectList whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 
 			if (whiteboardObjectList.getWhiteboardObjects().size() == 0) {
-				Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId);
-
-				wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(), whiteBoardId);
-
+				wbListManagerById.getNewWhiteboardId(roomId, labelDao.getString("615", userDao.get(currentClient.getUserId()).getLanguageId()));
 				log.debug("Init New Room List");
-
 				whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 			}
-			return whiteboardObjectList;
+			whiteboardObjectList.getWhiteboardObjects().entrySet().stream()
+					.sorted(Map.Entry.<Long, WhiteboardObject>comparingByKey().reversed())
+					.forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
 		} catch (Exception err) {
 			log.error("[getRoomItemsBy]", err);
 		}
-		return null;
+		return result;
 	}
 
-	public void rename(Long wbId, String name) {
-		//
+	public boolean rename(Long wbId, String name) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
+			Long roomId = currentClient.getRoomId();
+
+			WhiteboardObjectList whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
+			WhiteboardObject wb = whiteboardObjectList.getWhiteboardObjects().get(wbId);
+			wb.setName(name);
+
+			log.debug(" :: rename whiteBoard :: id = {}, name = {}", wbId, name);
+			scopeAdapter.sendMessageAll(Arrays.asList("renameWhiteboard", wbId, name));
+		} catch (Exception err) {
+			log.error("[rename]", err);
+			return false;
+		}
+		return true;
 	}
 
 	/**
@@ -157,7 +176,7 @@ public class WhiteBoardService implement
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 
-			Long users_id = sessiondataDao.check(SID);
+			Long users_id = sessionDao.check(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
 				if (currentClient.getIsMod()) {
@@ -170,7 +189,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -187,7 +206,7 @@ public class WhiteBoardService implement
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 
-			Long users_id = sessiondataDao.check(SID);
+			Long users_id = sessionDao.check(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
 				if (currentClient.getIsMod()) {
@@ -200,7 +219,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -217,7 +236,7 @@ public class WhiteBoardService implement
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 
-			Long userId = sessiondataDao.check(SID);
+			Long userId = sessionDao.check(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 				if (currentClient.getIsMod()) {
@@ -230,7 +249,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -248,7 +267,7 @@ public class WhiteBoardService implement
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 
-			Long users_id = sessiondataDao.check(SID);
+			Long users_id = sessionDao.check(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
 				if (currentClient.getIsMod()) {
@@ -261,7 +280,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateGiveAudioStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -293,7 +312,7 @@ public class WhiteBoardService implement
 			wbListManager.setWhiteBoardSyncListByRoomid(roomId, syncListRoom);
 			
 			//Sync to clients
-			scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncFlag", wSyncLockObject, true);
+			scopeAdapter.sendMessageToCurrentScope("sendSyncFlag", wSyncLockObject, true);
 
 			return wSyncLockObject;
 		} catch (Exception err) {
@@ -327,7 +346,7 @@ public class WhiteBoardService implement
 				int numberOfInitial = getNumberOfInitialLoaders(syncListRoom);
 
 				if (numberOfInitial == 0) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, true);
+					scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, true);
 				} else {
 					return;
 				}
@@ -373,7 +392,7 @@ public class WhiteBoardService implement
 			// Do only send the Token to show the Loading Splash for the
 			// initial-Request that starts the loading
 			if (isStarting) {
-				scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, true);
+				scopeAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, true);
 			}
 		} catch (Exception err) {
 			log.error("[startNewObjectSyncProcess]", err);
@@ -410,7 +429,7 @@ public class WhiteBoardService implement
 				log.debug("sendCompletedImagesSyncEvent numberOfInitial: " + numberOfInitial);
 
 				if (numberOfInitial == 0) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", wSyncLockObject, true);
+					scopeAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", wSyncLockObject, true);
 					return 1;
 				} else {
 					return -4;
@@ -447,7 +466,7 @@ public class WhiteBoardService implement
 				log.debug("scope " + scope);
 
 				if (numberOfInitial == 0 && scope != null) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, false);
+					scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, false);
 				}
 
 				// Check Image Loaders
@@ -463,7 +482,7 @@ public class WhiteBoardService implement
 				int numberOfImageLoaders = wbListManager.getWhiteBoardObjectSyncListByRoomid(roomId).size();
 
 				if (numberOfImageLoaders == 0 && scope != null) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new Object[] { "remove" }, true);
+					scopeAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new Object[] { "remove" }, true);
 				}
 			}
 		} catch (Exception err) {

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java Sun Nov 27 16:49:18 2016
@@ -36,6 +36,10 @@ public class WhiteboardObject {
 
 	public WhiteboardObject() {}
 
+	public WhiteboardObject(String name) {
+		this.name = name;
+	}
+
 	public long getWhiteBoardId() {
 		return whiteBoardId;
 	}

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Sun Nov 27 16:49:18 2016
@@ -1165,6 +1165,10 @@
 				// Not Used
 				//Debug.warn("Not Used");
 				canvas._drawarea.parent.parent.parent.newWhiteboard(value);
+			} else if (value[0] == 'renameWhiteboard'){
+				// Not Used
+				//Debug.warn("Not Used");
+				canvas._drawarea.parent.parent.parent.renameWhiteboard(value);
 			} else if (value[0]=='removeWindow'){
 				// Not Used
 				//Debug.warn("Not Used");
@@ -1266,11 +1270,6 @@
 			} else if (value.message[0]=='avsettings'){
 				canvas.commonVideoViewContent.setAVSettingsToClient(value.client);
 			} else if (value.message[0]=='whiteboard'){
-				//if (value.message[1]=='wmlloadcomplete'){
-				//	canvas._drawarea.sendCompleteWmlLoadedRClient(value.client);
-				//} else if (value.message[1]=='wmlsynccomplete'){
-				//	canvas._drawarea.sendCompleteWmlSync(value.client);
-				//} else
 				if (value.message[1]=='imageloadcomplete'){
 					canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
 				} else if (value.message[1]=='imagesynccomplete'){

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
-    	  
+  
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -33,25 +33,25 @@
 			this.sendVarsByWhiteboardId.doCall();
 		}
 	</handler>
-    
-    <netRemoteCallHib name="sendVarsByWhiteboardId" funcname="sendVarsByWhiteboardId" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objWhiteboard;</method></netparam>
-        <netparam><method name="getValue">return parent.parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-            	//if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <handler name="onvisible" args="v">
-    	<![CDATA[
-	    	if ($debug) Debug.write("onvisible :: ",v);
-    	]]>
-    </handler>
-    
+	
+	<netRemoteCallHib name="sendVarsByWhiteboardId" funcname="sendVarsByWhiteboardId" 
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objWhiteboard;</method></netparam>
+		<netparam><method name="getValue">return parent.parent.whiteboardId;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				//if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
+			]]>
+		</handler>
+	</netRemoteCallHib>
+	
+	<handler name="onvisible" args="v">
+	<![CDATA[
+		if ($debug) Debug.write("onvisible :: ",v);
+	]]>
+	</handler>
+
 	<method name="sendActiveWindow">
 		if ($debug) Debug.warn("sendActiveWindow :: ");
 		if (canvas.ismoderator || canvas.isAllowedToDraw) {
@@ -63,279 +63,255 @@
 			this.sendMessageToMembers.doCall();
 		}
 	</method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib> 
-    
+	
+	<netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers"
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("sendMessageToMembers :: ",value);
+			]]>
+		</handler>
+	</netRemoteCallHib> 
 </class>
-    
+
 <class name="fixedFileExplorerWhiteboardPanel" extends="basePropertyPanelWhiteboard" allowToggle="false"
-	   labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
-	<attribute name="whiteboardCount" value="0" type="number" />
-	<!--
-	
-	 -->
+		labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
+
 	<handler name="oninit">
 		canvas._drawarea = this;
 	</handler>
-	
+
 	<handler name="onopenWhiteBoard" >
-        if ($debug) Debug.write(".. onopenWhiteBoard ..");
-        this.loadInitObject();
-    </handler>
-            
-    <!--
-    	##########################################
-    	Add, remove and change Focus of Whiteboard
-    	##########################################
-     -->
-     
-    <method name="addNewItem">
-    	this.getNewWhiteboardId.doCall();
-    </method>
-    
-    <!--
-    public Long getNewWhiteboardId() {
-     -->
-    <netRemoteCallHib name="getNewWhiteboardId" funcname="whiteboardservice.getNewWhiteboardId"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## getNewWhiteboardId : ",value);
-                parent.addNewItemSynced(value);
-                parent.sendNewWindow(value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="addNewItemSynced" args="whiteboardId">
-    	for (var eg in this._bar.subviews) {
-    		this._bar.subviews[eg].isactive = false;
-    		this._bar.subviews[eg].onmouseout.sendEvent(null);
-    		this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
-    	}
-    	
-    	var whiteboard = new lz.multiWhiteboardPanel(this,{
-								    		whiteboardId:whiteboardId
-								    	});
-    	var tempWidth = this._bar.getCurrentSize();
-    	
-    	var whiteboardName = canvas.getLabelName(615) + (whiteboardCount > 0 ? " " + whiteboardCount : "");
-    	whiteboardCount++;
-    	var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
-                            	   objRef:whiteboard,
-                            	   width:tempWidth,
-                            	   isactive:true,
-                            	   btnName: whiteboardName
-                            	});
-        
-        this._bar.currentBtn = tWhiteboardBtn;
-                            	
-    	tWhiteboardBtn.onmouseout.sendEvent(null);
-        this.addNewItemButton.updatePosition();
-        canvas.whiteboardCount++;
-        return whiteboard;
-    </method>
-    
-    <method name="sendNewWindow" args="whiteboardId">
-    	if ($debug) Debug.warn("sendNewWindow :: ");
-    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
-    		if ($debug) Debug.warn("DO sendActiveWindow :: ");
-    		this.objMessage = new Array();
-    		this.objMessage[0] = "newWhiteboard";
-    		this.objMessage[1] = whiteboardId;
-    		this.sendMessageToMembers.doCall();
-    	}
-    </method>
-    
-    <method name="newWhiteboard" args="obj">
-    	if ($debug) Debug.write("newWhiteboard :: ",obj);
-    	this.addNewItemSynced(obj[1]);
-    </method>
-    
-    
-    <!--
-        ##########################################
-        Removal of Whiteboards
-        ##########################################
-     -->
-    <method name="sendRemoveWindow" args="whiteboardId">
-    	if ($debug) Debug.warn("sendRemoveWindow :: ");
-    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
-    		this.deleteWhiteboard.whiteboardId = whiteboardId;
-    		this.deleteWhiteboard.doCall();
-    		if ($debug) Debug.warn("DO sendRemoveWindow :: ");
-    		this.objMessage = new Array();
-    		this.objMessage[0] = "removeWindow";
-    		this.objMessage[1] = whiteboardId;
-    		this.sendMessageToMembers.doCall();
-	        canvas.whiteboardCount--;
-    	}
-    </method>
-    
-    <!--
-    public Boolean deleteWhiteboard(Long whiteBoardId)
-     -->
-    <netRemoteCallHib name="deleteWhiteboard" funcname="whiteboardservice.deleteWhiteboard"
-        remotecontext="$once{ canvas.thishib }" >
-    	<attribute name="whiteboardId" value="0" type="number" />
-        <netparam><method name="getValue">return parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## deleteWhiteboard : ", value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="removeWindow" args="obj">
-    	if ($debug) Debug.write("removeWindow :: ",obj);
-    	for (var eg in this._bar.subviews) {
-    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-    			this._bar.removeObjectSynced(this._bar.subviews[eg]);
-    			return;
-    		}
-    	}
-    </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <method name="sendWatchObjectByWhiteboard" args="obj">
-    	if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
-    	for (var eg in this.subviews) {
-    		if (obj.id == this.subviews[eg].whiteboardId) {
-    			this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
-    			return;
-    		}
-    	}
-    </method>
-    
-    <method name="loadWmlToWhiteboardById" args="obj">
-        if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
-        for (var eg in this.subviews) {
-            if (obj.id == this.subviews[eg].whiteboardId) {
-                this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
-                return;
-            }
-        }
-    </method>
-    
-    <method name="activateWhiteboard" args="obj">
-    	if ($debug) Debug.write("activateWhiteboard :: ",obj);
-    	for (var eg in this._bar.subviews) {
-    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-    			this._bar.subviews[eg].activateSynced();
-    			return;
-    		}
-    	}
-    </method>
-    
-    <!--
-    	##########################################
-    	StarUp Loading Of Objects
-    	##########################################
-     -->
-    
-    <method name="loadInitObject">
-    	this.getRoomItemsBy.doCall();
-    </method>
-    
+		if ($debug) Debug.write(".. onopenWhiteBoard ..");
+		this.loadInitObject();
+	</handler>
+
+	<!--
+		##########################################
+		Add, remove and change Focus of Whiteboard
+		##########################################
+	 -->
+	<method name="addNewItem">
+	<![CDATA[
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+			this.getNewWhiteboardId.wbName = canvas.getLabelName(615) + (canvas.whiteboardCount > 0 ? " " + canvas.whiteboardCount : "");
+			this.getNewWhiteboardId.doCall();
+		}
+	]]>
+	</method>
+
+	<netRemoteCallHib name="getNewWhiteboardId" funcname="whiteboardservice.getNewWhiteboardId" remotecontext="$once{ canvas.thishib }" >
+		<attribute name="wbName" type="string"/>
+		<netparam><method name="getValue">return parent.wbName;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("############## getNewWhiteboardId : ",value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="addNewItemSynced" args="whiteboardId, wbName">
+		for (var eg in this._bar.subviews) {
+			this._bar.subviews[eg].isactive = false;
+			this._bar.subviews[eg].onmouseout.sendEvent(null);
+			this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
+		}
+		var whiteboard = new lz.multiWhiteboardPanel(this,{
+							whiteboardId:whiteboardId
+						});
+		var tempWidth = this._bar.getCurrentSize();
+		var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
+									objRef:whiteboard,
+									width:tempWidth,
+									isactive:true,
+									btnName: wbName
+								});
+		this._bar.currentBtn = tWhiteboardBtn;
+		tWhiteboardBtn.onmouseout.sendEvent(null);
+		this.addNewItemButton.updatePosition();
+		canvas.whiteboardCount++;
+		return whiteboard;
+	</method>
+
+	<method name="newWhiteboard" args="obj">
+		if ($debug) Debug.write("newWhiteboard :: ",obj);
+		this.addNewItemSynced(obj[1], obj[2]);
+	</method>
+
+	<!--
+		##########################################
+		Removal of Whiteboards
+		##########################################
+	 -->
+	<method name="sendRemoveWindow" args="whiteboardId">
+		if ($debug) Debug.warn("sendRemoveWindow :: ");
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+			this.deleteWhiteboard.whiteboardId = whiteboardId;
+			this.deleteWhiteboard.doCall();
+			if ($debug) Debug.warn("DO sendRemoveWindow :: ");
+			this.objMessage = new Array();
+			this.objMessage[0] = "removeWindow";
+			this.objMessage[1] = whiteboardId;
+			this.sendMessageToMembers.doCall();
+		}
+	</method>
+
+	<netRemoteCallHib name="deleteWhiteboard" funcname="whiteboardservice.deleteWhiteboard"
+			remotecontext="$once{ canvas.thishib }" >
+		<attribute name="whiteboardId" value="0" type="number" />
+		<netparam><method name="getValue">return parent.whiteboardId;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("############## deleteWhiteboard : ", value);
+			]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="removeWindow" args="obj">
+		if ($debug) Debug.write("removeWindow :: ",obj);
+		for (var eg in this._bar.subviews) {
+			if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+				this._bar.removeObjectSynced(this._bar.subviews[eg]);
+				canvas.whiteboardCount--;
+				return;
+			}
+		}
+	</method>
+
+	<method name="renameWhiteboard" args="obj">
+		if ($debug) Debug.write("renameWhiteboard :: ", obj);
+		for (var eg in this._bar.subviews) {
+			var btn = this._bar.subviews[eg];
+			if (btn.objRef.whiteboardId == obj[1]) {
+				btn.setAttribute('btnName', obj[2]);
+				return;
+			}
+		}
+	</method>
+
+	<netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("sendMessageToMembers :: ",value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="sendWatchObjectByWhiteboard" args="obj">
+		if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
+		for (var eg in this.subviews) {
+			if (obj.id == this.subviews[eg].whiteboardId) {
+				this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
+				return;
+			}
+		}
+	</method>
+
+	<method name="loadWmlToWhiteboardById" args="obj">
+		if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+		for (var eg in this.subviews) {
+			if (obj.id == this.subviews[eg].whiteboardId) {
+				this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+				return;
+			}
+		}
+	</method>
+	
+	<method name="activateWhiteboard" args="obj">
+		if ($debug) Debug.write("activateWhiteboard :: ",obj);
+		for (var eg in this._bar.subviews) {
+			if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+				this._bar.subviews[eg].activateSynced();
+				return;
+			}
+		}
+	</method>
+	
+	<!--
+		##########################################
+		StarUp Loading Of Objects
+		##########################################
+	 -->
+	<method name="loadInitObject">
+		this.getRoomItemsBy.doCall();
+	</method>
+
 	<netRemoteCallHib name="getRoomItemsBy" funcname="whiteboardservice.getRoomItemsBy"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-            	//The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("############## getRoomItemsBy : ",value);
-            	parent.loadWhiteboards(value.whiteboardObjects);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>   
-    
+			remotecontext="$once{ canvas.thishib }" >
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("############## getRoomItemsBy : ",value);
+			parent.loadWhiteboards(value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
 	<method name="loadWhiteboards" args="whiteboardObjects">
 	<![CDATA[
-		if ($debug) Debug.write("whiteboardObjects :: ", whiteboardObjects.length);
-		var mainArray = new Array();
+		//if ($debug) Debug.write("!!!!!!!!!!! whiteboardObjects :: ", whiteboardObjects);
 		for (var eg in whiteboardObjects) {
-			mainArray.push(whiteboardObjects[eg]);
-		}
-		mainArray.reverse();
-		
-		for (var eg = 0; eg < mainArray.length; ++eg) {
-			var whiteBoard = this.addNewItemSynced(mainArray[eg].whiteBoardId);
-			whiteBoard._drawareaMask._drawarea.loadObjectList(mainArray[eg]);
+			var wb = whiteboardObjects[eg];
+			var whiteBoard = addNewItemSynced(wb.whiteBoardId, wb.name);
+			whiteBoard._drawareaMask._drawarea.loadObjectList(wb);
 		}
 	]]>
 	</method>
-      
-    
-    <whiteboardBarMenu name="_bar" height="20" y="21">
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    	
-    	<handler name="onsubview" args="newSub">
-    		parent.addNewItemButton.updatePosition();
-    	</handler>
-    	<handler name="onwidth" args="newSub">
-            parent.addNewItemButton.updatePosition();
-        </handler>
-    </whiteboardBarMenu>
-    
-    <view name="addNewItemButton" y="24" 
-    	  visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
-    	  >
-    	
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    	
-    	<method name="updatePosition">
-    		if (parent._bar.subviews.length != 0) {
-        		var borderItem = parent._bar.subviews[parent._bar.subviews.length-1];
-        		this.setAttribute("x",borderItem.x + borderItem.width + 2);
-    		} else {
-    			this.setAttribute("x",2);
-    		}
-    	</method>
-    	
-    	<handler name="onmouseover" args="refOb">
-    		this.bg.setAttribute("visibility","visible");
-    	</handler>
-    	
-    	<handler name="onmouseout" args="refOb">
-            this.bg.setAttribute("visibility","hidden");
-        </handler>
-        
-        <handler name="onclick" args="refOb">
-            parent.addNewItem();
-        </handler>
-        
-        <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" 
-        	  width="18" height="18" visibility="hidden" />
-    	
-    	<view resource="add_whiteboard_rsc" y="0" x="0" />
-    	
-    	<labelTooltip labelid="1596" />
-    </view>
-    
-    <view width="${ parent.width }" height="1" y="41"
-    	  bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    </view>
+
+	<whiteboardBarMenu name="_bar" height="20" y="21">
+		<attribute name="whiteboardId" value="-1" type="number" />
+		
+		<handler name="onsubview" args="newSub">
+			parent.addNewItemButton.updatePosition();
+		</handler>
+		<handler name="onwidth" args="newSub">
+			parent.addNewItemButton.updatePosition();
+		</handler>
+	</whiteboardBarMenu>
+
+	<view name="addNewItemButton" y="24" 
+			visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }">
+		<attribute name="whiteboardId" value="-1" type="number" />
+		
+		<method name="updatePosition">
+			if (parent._bar.subviews.length != 0) {
+				var borderItem = parent._bar.subviews[parent._bar.subviews.length-1];
+				this.setAttribute("x",borderItem.x + borderItem.width + 2);
+			} else {
+				this.setAttribute("x",2);
+			}
+		</method>
+		
+		<handler name="onmouseover" args="refOb">
+			this.bg.setAttribute("visibility","visible");
+		</handler>
+		
+		<handler name="onmouseout" args="refOb">
+			this.bg.setAttribute("visibility","hidden");
+		</handler>
+		
+		<handler name="onclick" args="refOb">
+			parent.addNewItem();
+		</handler>
+		
+		<view name="bg" bgcolor="0xEEEEEE" opacity="0.5" width="18" height="18" visibility="hidden" />
+		
+		<view resource="add_whiteboard_rsc" y="0" x="0" />
+		
+		<labelTooltip labelid="1596" />
+	</view>
+
+	<view width="${ parent.width }" height="1" y="41"
+		  bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+		<attribute name="whiteboardId" value="-1" type="number" />
+	</view>
 </class>
 
 </library>

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
-    	  
+  
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,85 +21,79 @@
 <library>
 
 <class name="whiteboardBarMenu" extends="view" width="${ parent.width }" x="0" y="21" 
-    height="20" layout="axis:x;spacing:1;inset:2" bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
-    
-    <attribute name="staticwidth" type="number" value="120" />
-    <attribute name="currentBtn" value="null" />
-    
-    <method name="getCurrentSize">
-        <![CDATA[
-            if ( ((this.subviews.length+1)*(this.staticwidth+1)) <= this.width) {
-                return this.staticwidth;
-            } else {
-                var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length+1));
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',newwidth);
-                }
-                return newwidth;
-            }   
-        ]]>
-    </method>
-    
-    <handler name="onwidth">
-        <![CDATA[
-            if ( ((this.subviews.length)*(this.staticwidth+1)) <= this.width) {
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',this.staticwidth);
-                }
-            } else {
-                var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length));
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',newwidth);
-                }
-            } 
-        ]]>
-    </handler>
-    
-    <method name="removeObject" args="btn">
-    	var whiteboardId = btn.objRef.whiteboardId;
-    	this.removeObjectSynced(btn);
-    	parent.sendRemoveWindow(whiteboardId);
-    </method>
-    
-    <method name="removeObjectSynced" args="btn">
-    <![CDATA[
-    	var removeCurrent = false;
-    	if (this.currentBtn == btn){
-    		removeCurrent = true;
-    	}
-    	btn.objRef.destroy();
-        btn.destroy();
-        if (this.subviews.length != 0 && removeCurrent) {
-        	this.sendActiveWindowSynced(this.subviews[this.subviews.length-1]);
-        }
-        parent.addNewItemButton.updatePosition();
-    ]]>
-    </method>
-
-    
-    <method name="sendActiveWindow" args="btn,win">
-        if ($debug) Debug.write("sendActiveWindow: ",btn,win);
-        this.sendActiveWindowSynced(btn);
-        this.currentBtn.objRef.sendActiveWindow();
-    </method>
-    
-    <method name="sendActiveWindowSynced" args="btn">
-    	<![CDATA[
-            if (this.currentBtn != null){
-                this.currentBtn.isactive=false;
-                if (this.currentBtn._minimizebtn_mo != null) this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
-                if (this.currentBtn._minimizebtn_dn != null) this.currentBtn._minimizebtn_dn.setAttribute('visibility','hidden');
-            }
-            this.currentBtn = btn;
-            this.currentBtn.objRef.setAttribute("visibility","visible");
-        	this.currentBtn.objRef.bringToFront();
-            //if ($debug) Debug.write("sendActiveWindow2: ",this.currentBtn);
-            this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
-            this.currentBtn._minimizebtn_dn.setAttribute('visibility','visible');
-            this.currentBtn.isactive=true;
-        ]]>
-    </method>
-    
+		height="20" layout="axis:x;spacing:1;inset:2" bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }">
+	<attribute name="staticwidth" type="number" value="120" />
+	<attribute name="currentBtn" value="null" />
+
+	<method name="getCurrentSize">
+	<![CDATA[
+		if ( ((this.subviews.length+1)*(this.staticwidth+1)) <= this.width) {
+			return this.staticwidth;
+		} else {
+			var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length+1));
+			for (var i=0;i<this.subviews.length;i++) {
+				this.subviews[i].setAttribute('width',newwidth);
+			}
+			return newwidth;
+		}
+	]]>
+	</method>
+
+	<handler name="onwidth">
+	<![CDATA[
+		if ( ((this.subviews.length)*(this.staticwidth+1)) <= this.width) {
+			for (var i=0;i<this.subviews.length;i++) {
+				this.subviews[i].setAttribute('width',this.staticwidth);
+			}
+		} else {
+			var newwidth = Math.round((this.width-this.subviews.length)/(this.subviews.length));
+			for (var i=0;i<this.subviews.length;i++) {
+				this.subviews[i].setAttribute('width',newwidth);
+			}
+		} 
+	]]>
+	</handler>
+
+	<method name="removeObject" args="btn">
+		var whiteboardId = btn.objRef.whiteboardId;
+		this.removeObjectSynced(btn);
+		parent.sendRemoveWindow(whiteboardId);
+	</method>
+
+	<method name="removeObjectSynced" args="btn">
+	<![CDATA[
+		var removeCurrent = this.currentBtn == btn;
+		btn.objRef.destroy();
+		btn.destroy();
+		if (this.subviews.length != 0 && removeCurrent) {
+			this.sendActiveWindowSynced(this.subviews[this.subviews.length-1]);
+		}
+		parent.addNewItemButton.updatePosition();
+	]]>
+	</method>
+
+	<method name="sendActiveWindow" args="btn,win">
+		if ($debug) Debug.write("sendActiveWindow: ",btn,win);
+		this.sendActiveWindowSynced(btn);
+		this.currentBtn.objRef.sendActiveWindow();
+	</method>
+
+	<method name="sendActiveWindowSynced" args="btn">
+	<![CDATA[
+		if (this.currentBtn != null){
+			this.currentBtn.isactive=false;
+			if (this.currentBtn._minimizebtn_mo != null) this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+			if (this.currentBtn._minimizebtn_dn != null) this.currentBtn._minimizebtn_dn.setAttribute('visibility','hidden');
+		}
+		this.currentBtn = btn;
+		this.currentBtn.objRef.setAttribute("visibility","visible");
+		this.currentBtn.objRef.bringToFront();
+		//if ($debug) Debug.write("sendActiveWindow2: ",this.currentBtn);
+		this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+		this.currentBtn._minimizebtn_dn.setAttribute('visibility','visible');
+		this.currentBtn.isactive=true;
+	]]>
+	</method>
 </class>
 
 </library>

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx Sun Nov 27 16:49:18 2016
@@ -60,17 +60,17 @@
 
 	<method name="calcTextWidth">
 	<![CDATA[
-			if (this.isHidden) {
-				return;
-			}
-			//if ($debug) Debug.write(this, this._text, this._text.getTextWidth());
-			if (this._text.getTextWidth() > (this.width-24)) {
-				this._long.setAttribute('visibility','visible');
-				this._text.setAttribute('width',this.width-26);
-			} else {
-				this._long.setAttribute('visibility','hidden');
-				this._text.setAttribute('width',this.width-18);
-			}
+		if (this.isHidden) {
+			return;
+		}
+		//if ($debug) Debug.write(this, this._text, this._text.getTextWidth());
+		if (this._text.getTextWidth() > (this.width-24)) {
+			this._long.setAttribute('visibility','visible');
+			this._text.setAttribute('width',this.width-26);
+		} else {
+			this._long.setAttribute('visibility','hidden');
+			this._text.setAttribute('width',this.width-18);
+		}
 	]]>
 	</method>
 
@@ -79,37 +79,7 @@
 		if (this.isHidden) {
 			return;
 		}
-		if (this.isactive && canvas.ismoderator) {
-			var tWidth = this._text.width;
-			var _y = this._text.getAttributeRelative("y", canvas);
-			var _x = this._text.getAttributeRelative("x", canvas);
-
-			var t = new lz.dynamicFileName(canvas, {
-					text: this._text.text
-					, refObj: this
-					, width: tWidth + 10
-					, onBlurFunc: function () {
-						if ($debug) Debug.write("WB blur:: ", objRef);
-						canvas.thishib._nc.call(
-								"whiteboardservice.rename"
-								, new Responder(
-										function ():void {
-											if ($debug) Debug.write("WB blur:: complete");
-											t.destroy();
-										}, function ():void {
-											if ($debug) Debug.write("WB blur:: error");
-											t.destroy()
-										})
-								, objRef.whiteboardId
-								, t.text
-							);
-					}
-					, x: _x
-					, y: _y
-				});
-			lz.Focus.setFocus(t, true);
-			lz.ModeManager.makeModal(t);
-		}
+		rename();
 		this._minimizebtn_mo.setAttribute('visibility','visible');
 		this._minimizebtn_dn.setAttribute('visibility','hidden');
 		if ($debug) Debug.write(" :: onclick :: ");
@@ -168,7 +138,47 @@
 	<view name="_minimizebtn_dn" width="${ parent.width-2 }" height="16"
 			bgcolor="black" opacity="0.3" visibility="hidden" x="1" y="1" />
 
-	<text text="${ parent.btnName }" fgcolor="0xFFFFFF" resize="false" x="1" fontsize="10" name="_text" />
+	<text text="${ parent.btnName }" fgcolor="0xFFFFFF" resize="false" x="1" fontsize="10" name="_text">
+		<contextmenu>
+			<contextmenuitem caption="$once{ canvas.getLabelName(711) }" onselect="this.parent.parent.parent.rename()" />
+		</contextmenu>
+	</text>
+
+	<method name="rename">
+	<![CDATA[
+		if (this.isactive && canvas.ismoderator) {
+			var tWidth = this._text.width;
+			var _y = this._text.getAttributeRelative("y", canvas);
+			var _x = this._text.getAttributeRelative("x", canvas);
+
+			var t = new lz.dynamicFileName(canvas, {
+					text: this._text.text
+					, refObj: this
+					, width: tWidth + 10
+					, onBlurFunc: function () {
+						if ($debug) Debug.write("WB blur:: ", objRef);
+						canvas.thishib._nc.call(
+								"whiteboardservice.rename"
+								, new Responder(
+										function ():void {
+											if ($debug) Debug.write("WB blur:: complete");
+											t.destroy();
+										}, function ():void {
+											if ($debug) Debug.write("WB blur:: error");
+											t.destroy()
+										})
+								, objRef.whiteboardId
+								, t.text
+							);
+					}
+					, x: _x
+					, y: _y
+				});
+			lz.Focus.setFocus(t, true);
+			lz.ModeManager.makeModal(t);
+		}
+	]]>
+	</method>
 
 	<view y="1" x="${ parent.width-18 }" name="_close"
 			resource="btn_presenter_close"
@@ -209,4 +219,3 @@
 </class>
 
 </library>
-

Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java Sun Nov 27 16:49:18 2016
@@ -33,15 +33,15 @@ import org.apache.openmeetings.db.dto.ro
  */
 public class WhiteBoardObjectListManagerById {
 	private Map<Long, WhiteboardObjectList> whiteBoardObjectList = new ConcurrentHashMap<>();
-	
+
 	private volatile AtomicLong whiteboardId = new AtomicLong(0);
-	
-	public long getNewWhiteboardId(Long roomId) throws Exception {
+
+	public long getNewWhiteboardId(Long roomId, String name) throws Exception {
 		long wbId = whiteboardId.getAndIncrement();
-		setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(), wbId);
+		setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(name), wbId);
 		return wbId;
 	}
-	
+
 	/*
 	 * Room items a Whiteboard
 	 */
@@ -54,7 +54,7 @@ public class WhiteBoardObjectListManager
 			return whiteboardObjectList;
 		}
 	}
-	
+
 	public WhiteboardObject getWhiteBoardObjectListByRoomIdAndWhiteboard(Long roomId, Long whiteBoardId){
 		WhiteboardObjectList whiteboardObjectList = getWhiteBoardObjectListByRoomId(roomId);
 		WhiteboardObject whiteboardObjects = whiteboardObjectList.getWhiteboardObjects().get(whiteBoardId);
@@ -63,16 +63,15 @@ public class WhiteBoardObjectListManager
 		}
 		return whiteboardObjects;
 	}
-	
+
 	/*
 	 * Whiteboard Object List
 	 * 
 	 */
-	
 	public void setWhiteBoardObjectListRoomObj(Long roomId, WhiteboardObjectList whiteboardObjectList){
 		whiteBoardObjectList.put(roomId, whiteboardObjectList);
 	}
-	
+
 	public void setWhiteBoardObjectListRoomObjAndWhiteboardId(Long roomId, WhiteboardObject whiteboardObjects, long whiteBoardId) {
 		WhiteboardObjectList whiteboardObjectList = getWhiteBoardObjectListByRoomId(roomId);
 		whiteboardObjects.setWhiteBoardId(whiteBoardId);

Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java Sun Nov 27 16:49:18 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Map;
 
@@ -33,6 +34,7 @@ import org.apache.commons.collections4.C
 import org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectListManagerById;
 import org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectSyncManager;
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
@@ -63,7 +65,7 @@ public class WhiteBoardService implement
 	@Autowired
 	private UserDao userDao;
 	@Autowired
-	private ScopeApplicationAdapter scopeApplicationAdapter;
+	private ScopeApplicationAdapter scopeAdapter;
 	@Autowired
 	private ISessionManager sessionManager;
 	@Autowired
@@ -72,21 +74,23 @@ public class WhiteBoardService implement
 	private WhiteBoardObjectListManagerById wbListManagerById;
 	@Autowired
 	private SessiondataDao sessionDao;
+	@Autowired
+	private LabelDao labelDao;
 
-	public Long getNewWhiteboardId() {
+	public boolean getNewWhiteboardId(String name) {
 		try {
 			IConnection current = Red5.getConnectionLocal();
 			String streamid = current.getClient().getId();
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 			Long roomId = currentClient.getRoomId();
 
-			Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId);
-
-			return whiteBoardId;
-		} catch (Exception err) {
-			log.error("[deleteWhiteboard]", err);
+			Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId, name);
+			scopeAdapter.sendMessageAll(Arrays.asList("newWhiteboard", whiteBoardId, name));
+		} catch (Exception e) {
+			log.error("[getNewWhiteboardId]", e);
+			return false;
 		}
-		return null;
+		return true;
 	}
 
 	public boolean deleteWhiteboard(Long whiteBoardId) {
@@ -112,7 +116,8 @@ public class WhiteBoardService implement
 		return false;
 	}
 
-	public WhiteboardObjectList getRoomItemsBy() {
+	public Map<Long, WhiteboardObject> getRoomItemsBy() {
+		Map<Long, WhiteboardObject> result = new LinkedHashMap<>();
 		try {
 			IConnection current = Red5.getConnectionLocal();
 			String streamid = current.getClient().getId();
@@ -123,23 +128,37 @@ public class WhiteBoardService implement
 			WhiteboardObjectList whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 
 			if (whiteboardObjectList.getWhiteboardObjects().size() == 0) {
-				Long whiteBoardId = wbListManagerById.getNewWhiteboardId(roomId);
-
-				wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new WhiteboardObject(), whiteBoardId);
-
+				wbListManagerById.getNewWhiteboardId(roomId, labelDao.getString("615", userDao.get(currentClient.getUserId()).getLanguageId()));
 				log.debug("Init New Room List");
-
 				whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 			}
-			return whiteboardObjectList;
+			whiteboardObjectList.getWhiteboardObjects().entrySet().stream()
+					.sorted(Map.Entry.<Long, WhiteboardObject>comparingByKey().reversed())
+					.forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
 		} catch (Exception err) {
 			log.error("[getRoomItemsBy]", err);
 		}
-		return null;
+		return result;
 	}
 
-	public void rename(Long wbId, String name) {
-		//
+	public boolean rename(Long wbId, String name) {
+		try {
+			IConnection current = Red5.getConnectionLocal();
+			String streamid = current.getClient().getId();
+			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
+			Long roomId = currentClient.getRoomId();
+
+			WhiteboardObjectList whiteboardObjectList = wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
+			WhiteboardObject wb = whiteboardObjectList.getWhiteboardObjects().get(wbId);
+			wb.setName(name);
+
+			log.debug(" :: rename whiteBoard :: id = {}, name = {}", wbId, name);
+			scopeAdapter.sendMessageAll(Arrays.asList("renameWhiteboard", wbId, name));
+		} catch (Exception err) {
+			log.error("[rename]", err);
+			return false;
+		}
+		return true;
 	}
 
 	/**
@@ -170,7 +189,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -199,7 +218,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -228,7 +247,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateDrawStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -258,7 +277,7 @@ public class WhiteBoardService implement
 						HashMap<Integer, Object> newMessage = new HashMap<Integer, Object>();
 						newMessage.put(0, "updateGiveAudioStatus");
 						newMessage.put(1, rcl);
-						scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+						scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
 						return true;
 					}
 				}
@@ -290,7 +309,7 @@ public class WhiteBoardService implement
 			wbListManager.setWhiteBoardSyncListByRoomid(roomId, syncListRoom);
 			
 			//Sync to clients
-			scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncFlag", wSyncLockObject, true);
+			scopeAdapter.sendMessageToCurrentScope("sendSyncFlag", wSyncLockObject, true);
 
 			return wSyncLockObject;
 		} catch (Exception err) {
@@ -324,7 +343,7 @@ public class WhiteBoardService implement
 				int numberOfInitial = getNumberOfInitialLoaders(syncListRoom);
 
 				if (numberOfInitial == 0) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, true);
+					scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, true);
 				} else {
 					return;
 				}
@@ -370,7 +389,7 @@ public class WhiteBoardService implement
 			// Do only send the Token to show the Loading Splash for the
 			// initial-Request that starts the loading
 			if (isStarting) {
-				scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, true);
+				scopeAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, true);
 			}
 		} catch (Exception err) {
 			log.error("[startNewObjectSyncProcess]", err);
@@ -407,7 +426,7 @@ public class WhiteBoardService implement
 				log.debug("sendCompletedImagesSyncEvent numberOfInitial: " + numberOfInitial);
 
 				if (numberOfInitial == 0) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", wSyncLockObject, true);
+					scopeAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", wSyncLockObject, true);
 					return 1;
 				} else {
 					return -4;
@@ -444,7 +463,7 @@ public class WhiteBoardService implement
 				log.debug("scope " + scope);
 
 				if (numberOfInitial == 0 && scope != null) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, false);
+					scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, false);
 				}
 
 				// Check Image Loaders
@@ -460,7 +479,7 @@ public class WhiteBoardService implement
 				int numberOfImageLoaders = wbListManager.getWhiteBoardObjectSyncListByRoomid(roomId).size();
 
 				if (numberOfImageLoaders == 0 && scope != null) {
-					scopeApplicationAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new Object[] { "remove" }, true);
+					scopeAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new Object[] { "remove" }, true);
 				}
 			}
 		} catch (Exception err) {

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java Sun Nov 27 16:49:18 2016
@@ -44,6 +44,10 @@ public class WhiteboardObject {
 
 	public WhiteboardObject() {}
 
+	public WhiteboardObject(String name) {
+		this.name = name;
+	}
+
 	public long getWhiteBoardId() {
 		return whiteBoardId;
 	}

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Sun Nov 27 16:49:18 2016
@@ -884,6 +884,10 @@
 				// Not Used
 				//Debug.warn("Not Used");
 				canvas._drawarea.parent.parent.parent.newWhiteboard(value);
+			} else if (value[0] == 'renameWhiteboard'){
+				// Not Used
+				//Debug.warn("Not Used");
+				canvas._drawarea.parent.parent.parent.renameWhiteboard(value);
 			} else if (value[0]=='removeWindow'){
 				// Not Used
 				//Debug.warn("Not Used");
@@ -963,11 +967,6 @@
 			} else if (value.message[0]=='avsettings'){
 				canvas.commonVideoViewContent.setAVSettingsToClient(value.client);
 			} else if (value.message[0]=='whiteboard'){
-				//if (value.message[1]=='wmlloadcomplete'){
-				//	canvas._drawarea.sendCompleteWmlLoadedRClient(value.client);
-				//} else if (value.message[1]=='wmlsynccomplete'){
-				//	canvas._drawarea.sendCompleteWmlSync(value.client);
-				//} else
 				if (value.message[1]=='imageloadcomplete'){
 					canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
 				} else if (value.message[1]=='imagesynccomplete'){

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
-    	  
+  
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -33,25 +33,25 @@
 			this.sendVarsByWhiteboardId.doCall();
 		}
 	</handler>
-    
-    <netRemoteCallHib name="sendVarsByWhiteboardId" funcname="sendVarsByWhiteboardId" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objWhiteboard;</method></netparam>
-        <netparam><method name="getValue">return parent.parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-            	//if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <handler name="onvisible" args="v">
-    	<![CDATA[
-	    	if ($debug) Debug.write("onvisible :: ",v);
-    	]]>
-    </handler>
-    
+	
+	<netRemoteCallHib name="sendVarsByWhiteboardId" funcname="sendVarsByWhiteboardId" 
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objWhiteboard;</method></netparam>
+		<netparam><method name="getValue">return parent.parent.whiteboardId;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				//if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
+			]]>
+		</handler>
+	</netRemoteCallHib>
+	
+	<handler name="onvisible" args="v">
+	<![CDATA[
+		if ($debug) Debug.write("onvisible :: ",v);
+	]]>
+	</handler>
+
 	<method name="sendActiveWindow">
 		if ($debug) Debug.warn("sendActiveWindow :: ");
 		if (canvas.ismoderator || canvas.isAllowedToDraw) {
@@ -63,280 +63,255 @@
 			this.sendMessageToMembers.doCall();
 		}
 	</method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib> 
-    
+	
+	<netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers"
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("sendMessageToMembers :: ",value);
+			]]>
+		</handler>
+	</netRemoteCallHib> 
 </class>
-    
+
 <class name="fixedFileExplorerWhiteboardPanel" extends="basePropertyPanelWhiteboard" allowToggle="false"
-	   labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
-	<attribute name="whiteboardCount" value="0" type="number" />
-	<!--
-	
-	 -->
+		labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
+
 	<handler name="oninit">
 		canvas._drawarea = this;
 	</handler>
-	
+
 	<handler name="onopenWhiteBoard" >
-        if ($debug) Debug.write(".. onopenWhiteBoard ..");
-        this.loadInitObject();
-    </handler>
-            
-    <!--
-    	##########################################
-    	Add, remove and change Focus of Whiteboard
-    	##########################################
-     -->
-     
-    <method name="addNewItem">
-    	this.getNewWhiteboardId.doCall();
-    </method>
-    
-    <!--
-    public Long getNewWhiteboardId() {
-     -->
-    <netRemoteCallHib name="getNewWhiteboardId" funcname="whiteboardservice.getNewWhiteboardId"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## getNewWhiteboardId : ",value);
-                parent.addNewItemSynced(value);
-                parent.sendNewWindow(value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="addNewItemSynced" args="whiteboardId">
-    	for (var eg in this._bar.subviews) {
-    		this._bar.subviews[eg].isactive = false;
-    		this._bar.subviews[eg].onmouseout.sendEvent(null);
-    		this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
-    	}
-    	
-    	var whiteboard = new lz.multiWhiteboardPanel(this,{
-								    		whiteboardId:whiteboardId
-								    	});
-    	var tempWidth = this._bar.getCurrentSize();
-    	
-    	var whiteboardName = canvas.getLabelName(615) + (whiteboardCount > 0 ? " " + whiteboardCount : "");
-    	whiteboardCount++;
-    	var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
-                            	   objRef:whiteboard,
-                            	   width:tempWidth,
-                            	   isactive:true,
-                            	   btnName: whiteboardName
-                            	});
-        
-        this._bar.currentBtn = tWhiteboardBtn;
-                            	
-    	tWhiteboardBtn.onmouseout.sendEvent(null);
-        this.addNewItemButton.updatePosition();
-        canvas.whiteboardCount++;
-        this._bar.setWhiteboardId(whiteboardId);
-        return whiteboard;
-    </method>
-    
-    <method name="sendNewWindow" args="whiteboardId">
-    	if ($debug) Debug.warn("sendNewWindow :: ");
-    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
-    		if ($debug) Debug.warn("DO sendActiveWindow :: ");
-    		this.objMessage = new Array();
-    		this.objMessage[0] = "newWhiteboard";
-    		this.objMessage[1] = whiteboardId;
-    		this.sendMessageToMembers.doCall();
-    	}
-    </method>
-    
-    <method name="newWhiteboard" args="obj">
-    	if ($debug) Debug.write("newWhiteboard :: ",obj);
-    	this.addNewItemSynced(obj[1]);
-    </method>
-    
-    
-    <!--
-        ##########################################
-        Removal of Whiteboards
-        ##########################################
-     -->
-    <method name="sendRemoveWindow" args="whiteboardId">
-    	if ($debug) Debug.warn("sendRemoveWindow :: ");
-    	if (canvas.ismoderator || canvas.isAllowedToDraw) {
-    		this.deleteWhiteboard.whiteboardId = whiteboardId;
-    		this.deleteWhiteboard.doCall();
-    		if ($debug) Debug.warn("DO sendRemoveWindow :: ");
-    		this.objMessage = new Array();
-    		this.objMessage[0] = "removeWindow";
-    		this.objMessage[1] = whiteboardId;
-    		this.sendMessageToMembers.doCall();
-	        canvas.whiteboardCount--;
-    	}
-    </method>
-    
-    <!--
-    public Boolean deleteWhiteboard(Long whiteBoardId)
-     -->
-    <netRemoteCallHib name="deleteWhiteboard" funcname="whiteboardservice.deleteWhiteboard"
-        remotecontext="$once{ canvas.thishib }" >
-    	<attribute name="whiteboardId" value="0" type="number" />
-        <netparam><method name="getValue">return parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## deleteWhiteboard : ", value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="removeWindow" args="obj">
-    	if ($debug) Debug.write("removeWindow :: ",obj);
-    	for (var eg in this._bar.subviews) {
-    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-    			this._bar.removeObjectSynced(this._bar.subviews[eg]);
-    			return;
-    		}
-    	}
-    </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
-    				  	showLoading="false" remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <method name="sendWatchObjectByWhiteboard" args="obj">
-    	if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
-    	for (var eg in this.subviews) {
-    		if (obj.id == this.subviews[eg].whiteboardId) {
-    			this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
-    			return;
-    		}
-    	}
-    </method>
-    
-    <method name="loadWmlToWhiteboardById" args="obj">
-        if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
-        for (var eg in this.subviews) {
-            if (obj.id == this.subviews[eg].whiteboardId) {
-                this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
-                return;
-            }
-        }
-    </method>
-    
-    <method name="activateWhiteboard" args="obj">
-    	if ($debug) Debug.write("activateWhiteboard :: ",obj);
-    	for (var eg in this._bar.subviews) {
-    		if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-    			this._bar.subviews[eg].activateSynced();
-    			return;
-    		}
-    	}
-    </method>
-    
-    <!--
-    	##########################################
-    	StarUp Loading Of Objects
-    	##########################################
-     -->
-    
-    <method name="loadInitObject">
-    	this.getRoomItemsBy.doCall();
-    </method>
-    
+		if ($debug) Debug.write(".. onopenWhiteBoard ..");
+		this.loadInitObject();
+	</handler>
+
+	<!--
+		##########################################
+		Add, remove and change Focus of Whiteboard
+		##########################################
+	 -->
+	<method name="addNewItem">
+	<![CDATA[
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+			this.getNewWhiteboardId.wbName = canvas.getLabelName(615) + (canvas.whiteboardCount > 0 ? " " + canvas.whiteboardCount : "");
+			this.getNewWhiteboardId.doCall();
+		}
+	]]>
+	</method>
+
+	<netRemoteCallHib name="getNewWhiteboardId" funcname="whiteboardservice.getNewWhiteboardId" remotecontext="$once{ canvas.thishib }" >
+		<attribute name="wbName" type="string"/>
+		<netparam><method name="getValue">return parent.wbName;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("############## getNewWhiteboardId : ",value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="addNewItemSynced" args="whiteboardId, wbName">
+		for (var eg in this._bar.subviews) {
+			this._bar.subviews[eg].isactive = false;
+			this._bar.subviews[eg].onmouseout.sendEvent(null);
+			this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
+		}
+		var whiteboard = new lz.multiWhiteboardPanel(this,{
+							whiteboardId:whiteboardId
+						});
+		var tempWidth = this._bar.getCurrentSize();
+		var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
+									objRef:whiteboard,
+									width:tempWidth,
+									isactive:true,
+									btnName: wbName
+								});
+		this._bar.currentBtn = tWhiteboardBtn;
+		tWhiteboardBtn.onmouseout.sendEvent(null);
+		this.addNewItemButton.updatePosition();
+		canvas.whiteboardCount++;
+		return whiteboard;
+	</method>
+
+	<method name="newWhiteboard" args="obj">
+		if ($debug) Debug.write("newWhiteboard :: ",obj);
+		this.addNewItemSynced(obj[1], obj[2]);
+	</method>
+
+	<!--
+		##########################################
+		Removal of Whiteboards
+		##########################################
+	 -->
+	<method name="sendRemoveWindow" args="whiteboardId">
+		if ($debug) Debug.warn("sendRemoveWindow :: ");
+		if (canvas.ismoderator || canvas.isAllowedToDraw) {
+			this.deleteWhiteboard.whiteboardId = whiteboardId;
+			this.deleteWhiteboard.doCall();
+			if ($debug) Debug.warn("DO sendRemoveWindow :: ");
+			this.objMessage = new Array();
+			this.objMessage[0] = "removeWindow";
+			this.objMessage[1] = whiteboardId;
+			this.sendMessageToMembers.doCall();
+		}
+	</method>
+
+	<netRemoteCallHib name="deleteWhiteboard" funcname="whiteboardservice.deleteWhiteboard"
+			remotecontext="$once{ canvas.thishib }" >
+		<attribute name="whiteboardId" value="0" type="number" />
+		<netparam><method name="getValue">return parent.whiteboardId;</method></netparam>
+		<handler name="ondata" args="value">
+			<![CDATA[
+				//The onResult-Handler will be called be the rtmpconnection
+				if ($debug) Debug.write("############## deleteWhiteboard : ", value);
+			]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="removeWindow" args="obj">
+		if ($debug) Debug.write("removeWindow :: ",obj);
+		for (var eg in this._bar.subviews) {
+			if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+				this._bar.removeObjectSynced(this._bar.subviews[eg]);
+				canvas.whiteboardCount--;
+				return;
+			}
+		}
+	</method>
+
+	<method name="renameWhiteboard" args="obj">
+		if ($debug) Debug.write("renameWhiteboard :: ", obj);
+		for (var eg in this._bar.subviews) {
+			var btn = this._bar.subviews[eg];
+			if (btn.objRef.whiteboardId == obj[1]) {
+				btn.setAttribute('btnName', obj[2]);
+				return;
+			}
+		}
+	</method>
+
+	<netRemoteCallHib name="sendMessageToMembers" funcname="sendMessageToMembers" 
+			showLoading="false" remotecontext="$once{ canvas.thishib }" >
+		<netparam><method name="getValue">return parent.parent.objMessage;</method></netparam>
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("sendMessageToMembers :: ",value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
+	<method name="sendWatchObjectByWhiteboard" args="obj">
+		if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
+		for (var eg in this.subviews) {
+			if (obj.id == this.subviews[eg].whiteboardId) {
+				this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
+				return;
+			}
+		}
+	</method>
+
+	<method name="loadWmlToWhiteboardById" args="obj">
+		if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+		for (var eg in this.subviews) {
+			if (obj.id == this.subviews[eg].whiteboardId) {
+				this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+				return;
+			}
+		}
+	</method>
+	
+	<method name="activateWhiteboard" args="obj">
+		if ($debug) Debug.write("activateWhiteboard :: ",obj);
+		for (var eg in this._bar.subviews) {
+			if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
+				this._bar.subviews[eg].activateSynced();
+				return;
+			}
+		}
+	</method>
+	
+	<!--
+		##########################################
+		StarUp Loading Of Objects
+		##########################################
+	 -->
+	<method name="loadInitObject">
+		this.getRoomItemsBy.doCall();
+	</method>
+
 	<netRemoteCallHib name="getRoomItemsBy" funcname="whiteboardservice.getRoomItemsBy"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-            	//The onResult-Handler will be called be the rtmpconnection
-            	if ($debug) Debug.write("############## getRoomItemsBy : ",value);
-            	parent.loadWhiteboards(value.whiteboardObjects);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>   
-    
+			remotecontext="$once{ canvas.thishib }" >
+		<handler name="ondata" args="value">
+		<![CDATA[
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("############## getRoomItemsBy : ",value);
+			parent.loadWhiteboards(value);
+		]]>
+		</handler>
+	</netRemoteCallHib>
+
 	<method name="loadWhiteboards" args="whiteboardObjects">
 	<![CDATA[
-		if ($debug) Debug.write("whiteboardObjects :: ", whiteboardObjects.length);
-		var mainArray = new Array();
+		//if ($debug) Debug.write("!!!!!!!!!!! whiteboardObjects :: ", whiteboardObjects);
 		for (var eg in whiteboardObjects) {
-			mainArray.push(whiteboardObjects[eg]);
-		}
-		mainArray.reverse();
-		
-		for (var eg = 0; eg < mainArray.length; ++eg) {
-			var whiteBoard = this.addNewItemSynced(mainArray[eg].whiteBoardId);
-			whiteBoard._drawareaMask._drawarea.loadObjectList(mainArray[eg]);
+			var wb = whiteboardObjects[eg];
+			var whiteBoard = addNewItemSynced(wb.whiteBoardId, wb.name);
+			whiteBoard._drawareaMask._drawarea.loadObjectList(wb);
 		}
 	]]>
 	</method>
-      
-    
-    <whiteboardBarMenu name="_bar" height="20" y="21">
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    	
-    	<handler name="onsubview" args="newSub">
-    		parent.addNewItemButton.updatePosition();
-    	</handler>
-    	<handler name="onwidth" args="newSub">
-            parent.addNewItemButton.updatePosition();
-        </handler>
-    </whiteboardBarMenu>
-    
-    <view name="addNewItemButton" y="24" 
-    	  visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }"
-    	  >
-    	
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    	
-    	<method name="updatePosition">
-    		if (parent._bar.subviews.length != 0) {
-        		var borderItem = parent._bar.subviews[parent._bar.subviews.length-1];
-        		this.setAttribute("x",borderItem.x + borderItem.width + 2);
-    		} else {
-    			this.setAttribute("x",2);
-    		}
-    	</method>
-    	
-    	<handler name="onmouseover" args="refOb">
-    		this.bg.setAttribute("visibility","visible");
-    	</handler>
-    	
-    	<handler name="onmouseout" args="refOb">
-            this.bg.setAttribute("visibility","hidden");
-        </handler>
-        
-        <handler name="onclick" args="refOb">
-            parent.addNewItem();
-        </handler>
-        
-        <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" 
-        	  width="18" height="18" visibility="hidden" />
-    	
-    	<view resource="add_whiteboard_rsc" y="0" x="0" />
-    	
-    	<labelTooltip labelid="1596" />
-    </view>
-    
-    <view width="${ parent.width }" height="1" y="41"
-    	  bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
-    	<attribute name="whiteboardId" value="-1" type="number" />
-    </view>
+
+	<whiteboardBarMenu name="_bar" height="20" y="21">
+		<attribute name="whiteboardId" value="-1" type="number" />
+		
+		<handler name="onsubview" args="newSub">
+			parent.addNewItemButton.updatePosition();
+		</handler>
+		<handler name="onwidth" args="newSub">
+			parent.addNewItemButton.updatePosition();
+		</handler>
+	</whiteboardBarMenu>
+
+	<view name="addNewItemButton" y="24" 
+			visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) ? true : false )) }">
+		<attribute name="whiteboardId" value="-1" type="number" />
+		
+		<method name="updatePosition">
+			if (parent._bar.subviews.length != 0) {
+				var borderItem = parent._bar.subviews[parent._bar.subviews.length-1];
+				this.setAttribute("x",borderItem.x + borderItem.width + 2);
+			} else {
+				this.setAttribute("x",2);
+			}
+		</method>
+		
+		<handler name="onmouseover" args="refOb">
+			this.bg.setAttribute("visibility","visible");
+		</handler>
+		
+		<handler name="onmouseout" args="refOb">
+			this.bg.setAttribute("visibility","hidden");
+		</handler>
+		
+		<handler name="onclick" args="refOb">
+			parent.addNewItem();
+		</handler>
+		
+		<view name="bg" bgcolor="0xEEEEEE" opacity="0.5" width="18" height="18" visibility="hidden" />
+		
+		<view resource="add_whiteboard_rsc" y="0" x="0" />
+		
+		<labelTooltip labelid="1596" />
+	</view>
+
+	<view width="${ parent.width }" height="1" y="41"
+		  bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+		<attribute name="whiteboardId" value="-1" type="number" />
+	</view>
 </class>
 
 </library>