Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
 Thu Aug 11 06:12:30 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
@@ -22,136 +22,110 @@
 
 <class name="baseDrawImage" extends="baseDrawLetter">
        
-       <!-- attribute shows if this image is loaded as part of a 
wml-file-object
+       <!-- attribute shows if this image is loaded as part of a 
wml-file-object
                if true it will send a onwmlLoaderSend message and NO extra 
loading bar
                if false it will show a loading abr for that image
        -->
        <attribute name="isWmlLoaderImage" value="false" type="boolean" />
-    
-    <!-- indicates if this client is still loading an old image for the 
screenViwer -->
-    <attribute name="isScreenImageLoading" value="false" type="boolean" />
-    <attribute name="screenImageRefNumber" value="1" type="number" />
-    <attribute name="screenImageRef1" value="null" />
-    <attribute name="screenImageRef2" value="null" />
-       
-    <event name="setNewScreenUserName" />
-       
-       <!-- invoked by clicking on the confirmation dialog after 
-               clicking on an image in the Library -->
-       <method name="addNewSyncImage" 
args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain">
-               if ($debug) Debug.write("urlname: ",urlname);
-               var now = new Date();
-               //This invokes a Method which is in the remoteWhiteboard.lzx
-               this.startNewObjectSyncProcess.isStarting = true;
-               this.startNewObjectSyncProcess.uniqueObjectSyncName = fileName 
+ now.getTime();
-               this.startNewObjectSyncProcess.doCall();
-               this.addNewImage(urlname,posx,posy,baseurl,fileName,
-                       moduleName,parentPath,room,domain,
-                       
this.startNewObjectSyncProcess.uniqueObjectSyncName,false);
-       </method>
-       
-       <!-- standard add Function -->
-       <method name="addNewImage" 
args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
-               if ($debug) Debug.write("urlname posx: ",urlname,posx);
-               this.addImageToLayer(this,'image'+this.getCounter(),urlname,
-                       posx,posy,0,0,
-                       true,
-                       
baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync);
-       </method>
-       
+       
+       <!-- indicates if this client is still loading an old image for the 
screenViwer -->
+       <attribute name="isScreenImageLoading" value="false" type="boolean" />
+       <attribute name="screenImageRefNumber" value="1" type="number" />
+       <attribute name="screenImageRef1" value="null" />
+       <attribute name="screenImageRef2" value="null" />
+       
+       <event name="setNewScreenUserName" />
+       
+       <!-- invoked by clicking on the confirmation dialog after 
+               clicking on an image in the Library -->
+       <method name="addNewSyncImage" 
args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain">
+               if ($debug) Debug.write("urlname: ",urlname);
+               var now = new Date();
+               //This invokes a Method which is in the remoteWhiteboard.lzx
+               this.startNewObjectSyncProcess.isStarting = true;
+               this.startNewObjectSyncProcess.uniqueObjectSyncName = fileName 
+ now.getTime();
+               this.startNewObjectSyncProcess.doCall();
+               this.addNewImage(urlname,posx,posy,baseurl,fileName,
+                       moduleName,parentPath,room,domain,
+                       
this.startNewObjectSyncProcess.uniqueObjectSyncName,false);
+       </method>
+       
+       <!-- standard add Function -->
+       <method name="addNewImage" 
args="urlname,posx,posy,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
+               if ($debug) Debug.write("urlname posx: ",urlname,posx);
+               this.addImageToLayer(this,'image'+this.getCounter(),urlname,
+                       posx,posy,0,0,
+                       true,
+                       
baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync);
+       </method>
+       
        <!--
                alterModus => this is added by the mod not remotely
-               
         -->
-       <method name="addImageToLayer" 
args="obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
-        <![CDATA[
-            if ($debug) Debug.write("addImageToLayer ",urlname);
-               
+       <method name="addImageToLayer" 
args="obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain,uniqueObjectSyncName,isLocalSync">
+               <![CDATA[
+                       if ($debug) Debug.write("addImageToLayer ",urlname);
+                       
                        var downloadurl = canvas.getUrl() + urlname + "?uid=" + 
canvas.publicSID;
-                       if ($debug) Debug.write("addImageToLayer urlname : ", 
downloadurl);
+                       if ($debug) Debug.write("addImageToLayer urlname : ", 
downloadurl);
                        if ($debug) Debug.write("alterModus: ",alterModus);
                        
-                       this.currentlayer = new lz.imageForDrawView(obj,{
-                               src: 
downloadurl,refObj:this,name:nameing,x:posx,y:posy,
-                               remotewidth:width,remoteheight:height,
-                               downloadurl:urlname,alterModus:alterModus,
-                               
baseurl:baseurl,fileName:fileName,moduleName:moduleName,
-                               parentPath:parentPath,room:room,domain:domain,
-                               uniqueObjectSyncName:uniqueObjectSyncName,
-                               isLocalSync:isLocalSync});      
+                       this.currentlayer = new lz.imageForDrawView(obj,{
+                               src: 
downloadurl,refObj:this,name:nameing,x:posx,y:posy,
+                               remotewidth:width,remoteheight:height,
+                               downloadurl:urlname,alterModus:alterModus,
+                               
baseurl:baseurl,fileName:fileName,moduleName:moduleName,
+                               parentPath:parentPath,room:room,domain:domain,
+                               uniqueObjectSyncName:uniqueObjectSyncName,
+                               isLocalSync:isLocalSync});      
                        
-                       //Add Layer to global Layer     
-                   return this.currentlayer;
+                       //Add Layer to global Layer     
+                       return this.currentlayer;
                ]]>
-       </method>
-       
-       <!--
-           @deprecated
-        -->
-       <method name="addImageToLayerRecorded" 
args="obj,nameing,urlname,posx,posy,width,height,alterModus,baseurl,fileName,moduleName,parentPath,room,domain">
-        <![CDATA[
-                       //only show if it is not part of wml-file-object
-                       if (!this.isWmlLoaderImage) {
-                               this.loadimageDataWinRef = new 
lz.loadWhiteboardWindow(canvas.main_content._content.inner,{refObj:this});
-                               
this.loadimageDataWinRef.setMessage(canvas.getLabelName(this.imageLoadMessageId));
-                       }
-                       var src = 
baseurl+'?fileName='+fileName+'&moduleName='+moduleName+'&parentPath='+parentPath+'&room_id='+room+'&sid='+canvas.sessionId;
-       
-                       this.currentlayer = new lz.imageForDrawView(obj,{
-                               src:src,refObj:this,name:nameing,x:posx,y:posy,
-                               
downloadurl:urlname,remotewidth:width,remoteheight:height,
-                               
alterModus:alterModus,baseurl:baseurl,fileName:fileName,
-                               moduleName:moduleName,parentPath:parentPath,
-                               room:room,domain:domain,recorderModus:true});
+       </method>
 
-                       
this.parent.parent.isloadingImage.sendEvent(this.currentlayer);
-                       //this.parent._loading.setAttribute('visible',true);
-                       //Add Layer to global Layer     
-                   return this.currentlayer;
-               ]]>
-       </method>
-       
-       <method name="incomingScreenSharing" args="value">
-        <![CDATA[
+
+       <method name="incomingScreenSharing" args="value">
+               <![CDATA[
                //only do if last image has been loading successfully
-            if (!this.isScreenImageLoading){
-                this.isScreenImageLoading = true;
-                var downloadurl = canvas.getUrl() + 'ScreenViewHandler?'
-                    +'fileName='+encodeURIComponent(value.fileName)
-                    +'&room='+hib.currentroomid
-                    +'&domain='+hib.conferencedomain
-                    +'&sid='+canvas.sessionId;
-            
-                //Debug.write("incomingScreenSharing URL: ",downloadurl);
-                if (this.screenImageRefNumber==1){
-                    this.screenImageRef1 = new 
lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen1',x:0,y:0,downloadurl:downloadurl});
-                    this.screenImageRefNumber = 2;
-                } else if (this.screenImageRefNumber==2){
-                    this.screenImageRef2 = new 
lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen2',x:0,y:0,downloadurl:downloadurl});
-                    this.screenImageRefNumber = 1;
-                }
-                this.setNewScreenUserName.sendEvent('Screen of User: 
'+value.user.firstname+','+value.user.lastname);
-            } else {
-                //Debug.write("frame dropped!");
-                Debug.warn("frame dropped!");
-                (new 
lz.singletonErrorPopupHolder()).setError(canvas.getLabelName(240));
-            }
+                       if (!this.isScreenImageLoading){
+                               this.isScreenImageLoading = true;
+                               var downloadurl = canvas.getUrl() + 
'ScreenViewHandler?'
+                                       
+'fileName='+encodeURIComponent(value.fileName)
+                                       +'&room='+hib.currentroomid
+                                       +'&domain='+hib.conferencedomain
+                                       +'&sid='+canvas.sessionId;
+                       
+                               //Debug.write("incomingScreenSharing URL: 
",downloadurl);
+                               if (this.screenImageRefNumber==1){
+                                       this.screenImageRef1 = new 
lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen1',x:0,y:0,downloadurl:downloadurl});
+                                       this.screenImageRefNumber = 2;
+                               } else if (this.screenImageRefNumber==2){
+                                       this.screenImageRef2 = new 
lz.imageForScreenViewer(this,{visible:false,src:downloadurl,refObj:this,name:'screen2',x:0,y:0,downloadurl:downloadurl});
+                                       this.screenImageRefNumber = 1;
+                               }
+                               this.setNewScreenUserName.sendEvent('Screen of 
User: '+value.user.firstname+','+value.user.lastname);
+                       } else {
+                               //Debug.write("frame dropped!");
+                               Debug.warn("frame dropped!");
+                               (new 
lz.singletonErrorPopupHolder()).setError(canvas.getLabelName(240));
+                       }
                ]]>
-       </method>   
-    
-    <!--
-    TODO: Make new Base Class including the Screen sharing Functions
-     -->
-    <method name="toggleVisibleScreenSharing">
-        if (this.screenImageRefNumber==1){
-            if (this.screenImageRef1) this.screenImageRef1.destroy();
-            this.screenImageRef2.setAttribute('visible',true);
-        } else if (this.screenImageRefNumber==2){
-            this.screenImageRef1.setAttribute('visible',true);
-            if (this.screenImageRef2) this.screenImageRef2.destroy();
-        }
-        this.isScreenImageLoading = false;
-    </method> 
+       </method>   
+       
+       <!--
+       TODO: Make new Base Class including the Screen sharing Functions
+        -->
+       <method name="toggleVisibleScreenSharing">
+               if (this.screenImageRefNumber==1){
+                       if (this.screenImageRef1) 
this.screenImageRef1.destroy();
+                       this.screenImageRef2.setAttribute('visible',true);
+               } else if (this.screenImageRefNumber==2){
+                       this.screenImageRef1.setAttribute('visible',true);
+                       if (this.screenImageRef2) 
this.screenImageRef2.destroy();
+               }
+               this.isScreenImageLoading = false;
+       </method> 
        
        <!--
                actionObject => attributes neccessary for loading image
@@ -163,48 +137,48 @@
        <!-- method adds a new Image to the Layer,
        but without making an Update-Event, 
        Image added by remote host -->  
-       <method name="addImageToLayerHistorySynced" args="actionObject,refObj">
-               if ($debug) Debug.write("addImageToLayerHistory: 
",actionObject,refObj);
-               //start sync process using the remote uniqueObjectSyncName as 
identifier
-               //This invokes a Method which is in the remoteWhiteboard.lzx
-               this.startNewObjectSyncProcess.isStarting = false;
-               this.startNewObjectSyncProcess.uniqueObjectSyncName = 
actionObject[8];
-               this.startNewObjectSyncProcess.doCall();
-               
this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
-                               
actionObject[actionObject.length-5],actionObject[actionObject.length-4],
-                               
actionObject[actionObject.length-3],actionObject[actionObject.length-2],
-                               false,
-                               
actionObject[2],actionObject[3],actionObject[4],actionObject[5],
-                               
actionObject[6],actionObject[7],actionObject[8],false);
-                               
-               
this.doSWFDocumentStatus(this.currentlayer,actionObject[actionObject.length-7]);
-       </method>
-                       
-       <!--- 
+       <method name="addImageToLayerHistorySynced" args="actionObject,refObj">
+               if ($debug) Debug.write("addImageToLayerHistory: 
",actionObject,refObj);
+               //start sync process using the remote uniqueObjectSyncName as 
identifier
+               //This invokes a Method which is in the remoteWhiteboard.lzx
+               this.startNewObjectSyncProcess.isStarting = false;
+               this.startNewObjectSyncProcess.uniqueObjectSyncName = 
actionObject[8];
+               this.startNewObjectSyncProcess.doCall();
+               
this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
+                               
actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+                               
actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+                               false,
+                               
actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+                               
actionObject[6],actionObject[7],actionObject[8],false);
+                               
+               
this.doSWFDocumentStatus(this.currentlayer,actionObject[actionObject.length-7]);
+       </method>
+                       
+       <!--- 
                invoke by the initial Loading process in remoteWhiteboard.lzx, 
                does not invoke any Update Handler
                once this object is loaded, it will throw an Update event of 
kind
                addImageToLayerHistoryToLocalLoaded             
-        -->
-       <method name="addImageToLayerHistoryToLocal" args="actionObject,refObj">
-               if ($debug) Debug.write("addImageToLayerHistoryToLocal: 
",actionObject,refObj);
-               
this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
-                               
actionObject[actionObject.length-5],actionObject[actionObject.length-4],
-                               
actionObject[actionObject.length-3],actionObject[actionObject.length-2],
-                               false,
-                               
actionObject[2],actionObject[3],actionObject[4],actionObject[5],
-                               
actionObject[6],actionObject[7],actionObject[8],true);
-       </method>
-       
-       <!-- 
-               this handler is implemented also in remoteWhiteboard.lzx to 
sync a Local Object list
-               but throws NO Update Event, cause its only needed Locally, the 
whole Sync Process
-               has a different Sync-Object for Loading the complete Object 
List from the Sever.
-               Each Object is loaded Locally, once all Objects are loaded the 
Complete-Event is broadcasted
-               to the server, but every Item on the List is only controlled 
locally
-       -->
-       <handler name="addImageToLayerHistoryToLocalLoaded" args="objRef">
-               if ($debug) Debug.write("addImageToLayerHistoryToLocal: 
",objRef);
+        -->
+       <method name="addImageToLayerHistoryToLocal" args="actionObject,refObj">
+               if ($debug) Debug.write("addImageToLayerHistoryToLocal: 
",actionObject,refObj);
+               
this.addImageToLayer(refObj,actionObject[actionObject.length-1],actionObject[1],
+                               
actionObject[actionObject.length-5],actionObject[actionObject.length-4],
+                               
actionObject[actionObject.length-3],actionObject[actionObject.length-2],
+                               false,
+                               
actionObject[2],actionObject[3],actionObject[4],actionObject[5],
+                               
actionObject[6],actionObject[7],actionObject[8],true);
+       </method>
+       
+       <!-- 
+               this handler is implemented also in remoteWhiteboard.lzx to 
sync a Local Object list
+               but throws NO Update Event, cause its only needed Locally, the 
whole Sync Process
+               has a different Sync-Object for Loading the complete Object 
List from the Sever.
+               Each Object is loaded Locally, once all Objects are loaded the 
Complete-Event is broadcasted
+               to the server, but every Item on the List is only controlled 
locally
+       -->
+       <handler name="addImageToLayerHistoryToLocalLoaded" args="objRef">
+               if ($debug) Debug.write("addImageToLayerHistoryToLocal: 
",objRef);
                this.syncImageRefObj = objRef;
                
                this.registerNewImage(this.syncImageRefObj.src,
@@ -214,29 +188,15 @@
                        
this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
                        this.syncImageRefObj.room,this.syncImageRefObj.domain,
                        
false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
-                this.getZIndex());
-       </handler>
-       
-       <!--- @keywords deprecated
-       TODO: uniqueObjectSyncName missing
-        -->
-       <method name="addImageToLayerHistoryRecorded" 
args="actionObject,refObj,isWmlLoader">
-               this.isWmlLoaderImage = isWmlLoader;
-               this.addImageToLayerRecorded(refObj,
-                       actionObject[actionObject.length-1],actionObject[1],
-                       
actionObject[actionObject.length-5],actionObject[actionObject.length-4],
-                       
actionObject[actionObject.length-3],actionObject[actionObject.length-2],
-                       false,
-                       
actionObject[2],actionObject[3],actionObject[4],actionObject[5],
-                       actionObject[6],actionObject[7]);
-       </method>
-       
-       <method name="registerNewImage" 
args="urlname,posx,posy,width,height,baseurl,fileName,moduleName,parentPath,room,domain,doCallUpdate,uniqueObjectSyncName,swfObj,zIndex">
+                               this.getZIndex());
+       </handler>
+
+       <method name="registerNewImage" 
args="urlname,posx,posy,width,height,baseurl,fileName,moduleName,parentPath,room,domain,doCallUpdate,uniqueObjectSyncName,swfObj,zIndex">
                if ($debug) Debug.write("registerNewImage doCallUpdate: 
",doCallUpdate);
                if ($debug) Debug.write("registerNewImage swfObj: ",swfObj);
                var actionObject = new Array();
-           actionObject.push('image');
-           actionObject.push(urlname);
+               actionObject.push('image');
+               actionObject.push(urlname);
                actionObject.push(baseurl);
                actionObject.push(fileName);
                actionObject.push(moduleName);
@@ -247,15 +207,23 @@
                actionObject.push(zIndex);//-8
                actionObject.push(swfObj);//-7
                actionObject.push(this.counter);//-6
-           actionObject.push(posx);//-5
-           actionObject.push(posy);//-4
-           actionObject.push(width);//-3
-           actionObject.push(height);//-2
-           actionObject.push(this.currentlayer.name);//-1
-           this.baseactionobjectList.push(actionObject);       
-           this.checkStepLayers();
-           if (doCallUpdate) this.onsharedMessage('draw',actionObject);        
-       </method>
+               actionObject.push(posx);//-5
+               actionObject.push(posy);//-4
+               actionObject.push(width);//-3
+               actionObject.push(height);//-2
+               actionObject.push(this.currentlayer.name);//-1
+               this.checkStepLayers();
+               for (var i = this.baseactionobjectList.length - 1; i > -1; --i) 
{
+                       var l = this.baseactionobjectList[i];
+                       if (this.currentlayer.name == l[l.length - 1]) {
+                               this.baseactionobjectList.splice(i, 1);
+                               break;
+                       }
+               }
+               this.baseactionobjectList.push(actionObject);
+               if ($debug) Debug.write(" :: -image- baseactionobjectList.push 
:: ", this.baseactionobjectList.length, this.baseactionobjectList);
+               if (doCallUpdate) this.onsharedMessage('draw',actionObject);    
+       </method>
        
        <!-- 
                adds the Image to the Layers and throws a onsharedMessage,
@@ -277,13 +245,13 @@
                        
this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
                        this.syncImageRefObj.room,this.syncImageRefObj.domain,
                        
true,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
-                this.getZIndex());             
+                               this.getZIndex());              
        
        </method>
        
        <!--- @keywords deprecated
-       TODO: check Recorder Modus
-        -->
+       TODO: check Recorder Modus
+        -->
        <method name="storeTempValsAndLoadSyncListRecording" args="objRef">
                if ($debug) Debug.write("########### 
storeTempValsAndLoadSyncListRecording: ",objRef);
                this.syncImageRefObj = objRef;
@@ -301,29 +269,29 @@
                        
this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
                        this.syncImageRefObj.room,this.syncImageRefObj.domain,
                        
false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
-                this.getZIndex());     
+                               this.getZIndex());      
                //This invokes a Method which is in the remoteWhiteboard.lzx
                this.sendCompletedObjectSyncEvent.uniqueObjectSyncName = 
this.syncImageRefObj.uniqueObjectSyncName;
                this.sendCompletedObjectSyncEvent.doCall();
        </method>
-    
-    <!--- @keywords deprecated
-    TODO: Check recorder Modus
-     -->
-    <method name="doRegisterAfterLoadingOrRecording">
-       if ($debug) Debug.write("########### 
doRegisterAfterLoadingOrRecording");
+       
+       <!--- @keywords deprecated
+       TODO: Check recorder Modus
+        -->
+       <method name="doRegisterAfterLoadingOrRecording">
+               if ($debug) Debug.write("########### 
doRegisterAfterLoadingOrRecording");
                this.imageSyncMessageText = 
canvas.getLabelName(this.imageSyncMessageId);
                //now send notifications to connected clients
                this.setAttribute('drawmodus','image');
                this.registerNewImage(this.syncImageRefObj.src,
-                             this.syncImageRefObj.x,this.syncImageRefObj.y,
-                             
this.syncImageRefObj.width,this.syncImageRefObj.height,
-                             
this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
-                             
this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
-                             
this.syncImageRefObj.room,this.syncImageRefObj.domain,
-                             
false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
-                      this.getZIndex());               
-    </method>
+                                         
this.syncImageRefObj.x,this.syncImageRefObj.y,
+                                         
this.syncImageRefObj.width,this.syncImageRefObj.height,
+                                         
this.syncImageRefObj.baseurl,this.syncImageRefObj.fileName,
+                                         
this.syncImageRefObj.moduleName,this.syncImageRefObj.parentPath,
+                                         
this.syncImageRefObj.room,this.syncImageRefObj.domain,
+                                         
false,this.syncImageRefObj.uniqueObjectSyncName,this.getSWFDocumentStatus(),
+                                         this.getZIndex());            
+       </method>
        
 </class>
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/drawViewNew.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/drawViewNew.lzx?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/drawViewNew.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/drawViewNew.lzx
 Thu Aug 11 06:12:30 2016
@@ -53,7 +53,7 @@
                                parent.redrawRectItemByScaling(this);
                        } else if  (this.name.indexOf('ellipse')>=0) {
                                parent.redrawEllipseItemByScaling(this);
-                       }                       
+                       }
                }
         ]]>
     </handler>
@@ -70,11 +70,11 @@
                                parent.redrawRectItemByScaling(this);
                        } else if  (this.name.indexOf('ellipse')>=0) {
                                parent.redrawEllipseItemByScaling(this);
-                       }       
+                       }
                }       
-        ]]>   
+        ]]>
     </handler>
-    <!-- 
+    <!--
     <dragstate name="dragger" drag_axis="both"
            drag_min_x="0"
            drag_max_x="$once{parent.width - this.width}"

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/remoteWhiteboard.lzx
 Thu Aug 11 06:12:30 2016
@@ -222,7 +222,8 @@
                if ($debug) Debug.write("[store actionObject] ",actionObject);
                
                this.baseactionobjectList.push(actionObject);
-                       
+               if ($debug) Debug.write(" :: baseactionobjectList.push :: ", 
this.baseactionobjectList.length, this.baseactionobjectList);
+               
        ]]>
        </method>
        

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/whiteboardVideoPlayer.lzx
 Thu Aug 11 06:12:30 2016
@@ -75,7 +75,7 @@
                                + canvas.publicSID + '&preview=true';
                        
parent._content._preview.imagePreview.setAttribute("src", downloadurl)
                        parent._content._preview.bringToFront();
-                                                       
+
                        if (parent.sendInit) {
                                parent.parent.sendNewVideoRemote(parent);
                        }
@@ -120,7 +120,7 @@
                        this._content.playVideoStream(this.recordingName, 0);
                }
        ]]>
-       </method>   
+       </method>
        
        <!---
                calculates the new x, y, width and height of the video so that 
it is 100% 
@@ -170,34 +170,34 @@
        
        <method name="setDuration">
        <![CDATA[
-          if ($debug) Debug.write("setDuration ",this.deltaInSeconds);
-          var tString = "";
-          if (this.deltaInSeconds > 60) {
-                  var minutes = Math.floor(this.deltaInSeconds / 60);
-                  var restSeconds = Math.round(this.deltaInSeconds) - (minutes 
* 60);
-                  tString = minutes + " min " + restSeconds + " sec";
-          } else {
-                  tString = Math.round(this.deltaInSeconds) + " sec";
-          }
-          this._progress._progressbar._duration.setAttribute("text",tString);
+               if ($debug) Debug.write("setDuration ",this.deltaInSeconds);
+               var tString = "";
+               if (this.deltaInSeconds > 60) {
+                       var minutes = Math.floor(this.deltaInSeconds / 60);
+                       var restSeconds = Math.round(this.deltaInSeconds) - 
(minutes * 60);
+                       tString = minutes + " min " + restSeconds + " sec";
+               } else {
+                       tString = Math.round(this.deltaInSeconds) + " sec";
+               }
+               
this._progress._progressbar._duration.setAttribute("text",tString);
        ]]>
        </method>
        
        <method name="calcProgressBar">
        <![CDATA[
-          if ($debug) Debug.write("calcProgressBar ",this.currentTime);
-          
this._progress._progressbar._pointer.setAttribute("visibility","visible");
-          var tString = "";
-          if (this.currentTime > 60) {
-                  var minutes = Math.floor(this.currentTime / 60);
-                  var restSeconds = Math.round(this.currentTime) - (minutes * 
60);
-                  tString = minutes + " min " + restSeconds + " sec";
-          } else {
-                  tString = Math.round(this.currentTime) + " sec";
-          }
-          var tNewX = Math.round((this._progress._progressbar.width / 
this.deltaInSeconds) * this.currentTime);
-          this._progress._progressbar._time.setAttribute("text", tString);
-          this._progress._progressbar._pointer.setAttribute("x", tNewX);
+               if ($debug) Debug.write("calcProgressBar ", this.currentTime);
+               
this._progress._progressbar._pointer.setAttribute("visibility","visible");
+               var tString = "";
+               if (this.currentTime > 60) {
+                               var minutes = Math.floor(this.currentTime / 60);
+                               var restSeconds = Math.round(this.currentTime) 
- (minutes * 60);
+                               tString = minutes + " min " + restSeconds + " 
sec";
+               } else {
+                               tString = Math.round(this.currentTime) + " sec";
+               }
+               var tNewX = Math.round((this._progress._progressbar.width / 
this.deltaInSeconds) * this.currentTime);
+               this._progress._progressbar._time.setAttribute("text", tString);
+               this._progress._progressbar._pointer.setAttribute("x", tNewX);
        ]]>
        </method> 
        
@@ -214,7 +214,7 @@
        
        <method name="toggleStream">
                if (canvas.ismoderator &amp;&amp; this.isPaused) {
-                       this.startStreamPlay();
+                               this.startStreamPlay();
                }
        </method>
        
@@ -223,7 +223,7 @@
                <attribute name="timerDelegateStarted" value="false" 
type="boolean"/>
                
                <handler name="oninit">
-                       this.timerDelegate = new LzDelegate( this, 
"calcProgressBar" );
+                       this.timerDelegate = new LzDelegate(this, 
"calcProgressBar");
                </handler>
                
                <method name="playVideoStream" args="streamName, delay">
@@ -253,11 +253,11 @@
                </handler>
                
                <method name="calcProgressBar" args="tObjRef">
-                       //if ($debug) Debug.write("calcProgressBar 
updateRecordingStreamTime",this._ns.time)
+                       if ($debug) Debug.write("calcProgressBar:: 
updateRecordingStreamTime", this.timerDelegateStarted, this._ns.time)
                        parent.currentTime = this._ns.time;
                        parent.calcProgressBar();
                        if (this.timerDelegateStarted) {
-                               lz.Timer.addTimer( this.timerDelegate , 1000 );
+                               lz.Timer.addTimer(this.timerDelegate , 1000);
                        }
                </method>
                <view name="_preview" x="0" y="0" width="0" height="0" >
@@ -265,7 +265,7 @@
                        <handler name="onclick">
                                if ($debug) Debug.write("onclick -- 
toggleStream");
                                parent.parent.toggleStream();
-                       </handler>                 
+                       </handler>
                        <view width="60" height="40" valign="middle" 
opacity="0.7" align="center" bgcolor="0xFFFFFF">
                                <view resource="lz_recorder_play" 
valign="middle" align="center" />
                        </view>

Modified: openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-util/pom.xml Thu Aug 
11 06:12:30 2016
@@ -44,6 +44,24 @@
                        </plugin>
                </plugins>
        </build>
+       <profiles>
+               <profile>
+                       <id>Jenkins</id>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.apache.maven.plugins</groupId>
+                                               
<artifactId>maven-surefire-plugin</artifactId>
+                                               <configuration>
+                                                       <excludes>
+                                                               
<exclude>**/TestStoredFile.java</exclude>
+                                                       </excludes>
+                                               </configuration>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
        <dependencies>
                <dependency>
                        <groupId>org.red5</groupId>

Copied: 
openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
 (from r1755906, 
openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java?p2=openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java&p1=openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java&r1=1755906&r2=1755907&rev=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
 Thu Aug 11 06:12:30 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.util.crypt;
+package org.apache.openmeetings.util;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertFalse;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Thu Aug 11 06:12:30 2016
@@ -225,7 +225,8 @@ public abstract class FileTreePanel exte
        }
 
        public void update(IPartialPageRequestHandler handler) {
-               handler.add(trees);
+               updateSizes();
+               handler.add(sizes, trees);
        }
 
        void updateNode(AjaxRequestTarget target, FileItem fi) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Thu Aug 11 06:12:30 2016
@@ -170,7 +170,7 @@ public class RoomPanel extends BasePanel
                        public void onDrop(AjaxRequestTarget target, Component 
component) {
                                Object o = component.getDefaultModelObject();
                                if (activeWbId > -1 && o instanceof FileItem) {
-                                       sendFileToWb((FileItem)o);
+                                       sendFileToWb((FileItem)o, false);
                                }
                        }
                };
@@ -529,13 +529,13 @@ public class RoomPanel extends BasePanel
                return publishingUser;
        }
 
-       public void sendFileToWb(FileItem fi) {
+       public void sendFileToWb(FileItem fi, boolean clean) {
                if (activeWbId > -1) {
                        if (fi.getType() == FileItem.Type.WmlFile) {
                                
getBean(ConferenceLibrary.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi);
                        } else {
                                String url = urlFor(new 
RoomResourceReference(), new PageParameters().add("id", fi.getId())).toString();
-                               
getBean(ScopeApplicationAdapter.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi, url);
+                               
getBean(ScopeApplicationAdapter.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi, url, clean);
                        }
                }
        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
 Thu Aug 11 06:12:30 2016
@@ -18,6 +18,14 @@
  */
 package org.apache.openmeetings.web.room.sidebar;
 
+import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import org.apache.openmeetings.core.data.file.FileUtils;
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
+import org.apache.openmeetings.db.dto.record.RecordingContainerData;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.web.common.tree.FileTreePanel;
 import org.apache.openmeetings.web.room.RoomPanel;
@@ -36,14 +44,21 @@ public class RoomFilePanel extends FileT
        
        @Override
        public void updateSizes() {
-               // TODO Auto-generated method stub
-               
+               FileExplorerItemDao dao = getBean(FileExplorerItemDao.class);
+               FileUtils utils = getBean(FileUtils.class);
+               RecordingContainerData sizeData = 
getBean(RecordingDao.class).getContainerData(getUserId());
+               long userSize = utils.getSize(dao.getByOwner(getUserId()));
+               long roomSize = 
utils.getSize(dao.getByRoom(room.getRoom().getId()));
+               if (sizeData != null) {
+                       userSize += sizeData.getUserHomeSize();
+                       roomSize += sizeData.getPublicFileSize();
+               }
+               homeSize.setObject(getHumanSize(userSize));
+               publicSize.setObject(getHumanSize(roomSize));
        }
        
        @Override
        protected void update(AjaxRequestTarget target, FileItem f) {
-               // TODO Auto-generated method stub
-               
        }
        
        @Override

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
 Thu Aug 11 06:12:30 2016
@@ -31,7 +31,12 @@
                </div>
                <div wicket:id="feedback"></div>
                <span wicket:id="progress">[progressbar]</span>
-               <div style="margin-top: 30px;"><input wicket:id="to-wb" 
type="checkbox"/><label wicket:for="to-wb"><wicket:message 
key="1312"/></label></div>
+               <div style="margin-top: 30px;">
+                       <input wicket:id="to-wb" type="checkbox"/><label 
wicket:for="to-wb"><wicket:message key="1312"/></label>
+                       <div style="margin-left: 30px;" wicket:id="clean-block">
+                               <input wicket:id="clean-wb" 
type="checkbox"/><label wicket:for="clean-wb"><wicket:message key="62"/></label>
+                       </div>
+               </div>
        </form>
        <form wicket:id="name-form">
                <input type="hidden" wicket:id="name"/>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 Thu Aug 11 06:12:30 2016
@@ -35,12 +35,14 @@ import org.apache.openmeetings.web.room.
 import org.apache.openmeetings.web.util.BootstrapFileUploadBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import 
org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.HiddenField;
@@ -66,6 +68,8 @@ public class UploadDialog extends Abstra
        private final FileUploadField uploadField;
        private final HiddenField<String> fileName;
        private final CheckBox toWb = new CheckBox("to-wb", Model.of(false));
+       private final WebMarkupContainer cleanBlock = new 
WebMarkupContainer("clean-block");
+       private final CheckBox cleanWb = new CheckBox("clean-wb", 
Model.of(false));
        private final RoomFilePanel roomFiles;
        private final RoomPanel room;
 
@@ -83,7 +87,16 @@ public class UploadDialog extends Abstra
                        }
                };
                cancel = new DialogButton("close", Application.getString(85));
-               form.add(feedback.setOutputMarkupId(true), toWb);
+               toWb.add(new OnChangeAjaxBehavior() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void onUpdate(AjaxRequestTarget target) {
+                               
target.add(cleanBlock.setVisible(toWb.getModelObject()));
+                       }
+               });
+               form.add(feedback.setOutputMarkupId(true), 
toWb.setOutputMarkupId(true)
+                               , 
cleanBlock.add(cleanWb.setOutputMarkupId(true)).setVisible(false).setOutputMarkupPlaceholderTag(true));
        
                form.setMultiPart(true);
                
form.setMaxSize(Bytes.bytes(getBean(ConfigurationDao.class).getMaxUploadSize()));
@@ -182,7 +195,7 @@ public class UploadDialog extends Abstra
                                        error(result.getLogMessage());
                                } else {
                                        if (toWb.getModelObject()) {
-                                               room.sendFileToWb(f);
+                                               room.sendFileToWb(f, 
cleanWb.getModelObject());
                                        }
                                        close(target, null);
                                }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 Thu Aug 11 06:12:30 2016
@@ -257,15 +257,6 @@ public class FileWebService {
                }
        }
 
-       private long getSize(List<FileExplorerItem> list) {
-               long size = 0;
-               for (FileExplorerItem f : list) {
-                       log.debug("FileExplorerItem fList " + f.getName());
-                       size += fileUtils.getSizeOfDirectoryAndSubs(f);
-               }
-               return size;
-       }
-       
        /**
         * Get a File Explorer Object by a given Room
         * 
@@ -294,11 +285,11 @@ public class FileWebService {
 
                                // Home File List
                                List<FileExplorerItem> fList = 
fileDao.getByOwner(userId);
-                               fileExplorerObject.setUser(fList, 
getSize(fList));
+                               fileExplorerObject.setUser(fList, 
fileUtils.getSize(fList));
 
                                // Public File List
                                List<FileExplorerItem> rList = 
fileDao.getByRoom(roomId);
-                               fileExplorerObject.setRoom(rList, 
getSize(rList));
+                               fileExplorerObject.setRoom(rList, 
fileUtils.getSize(rList));
 
                                return fileExplorerObject;
                        } else {

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 Thu Aug 11 06:12:30 2016
@@ -42,6 +42,7 @@ import org.springframework.beans.factory
 
 public class FlvExplorerConverter extends BaseConverter {
        private static final Logger log = 
Red5LoggerFactory.getLogger(FlvExplorerConverter.class, webAppRootKey);
+       private static final Pattern p = Pattern.compile("\\d{2,4}(x)\\d{2,4}");
 
        // Spring loaded Beans
        @Autowired
@@ -127,18 +128,14 @@ public class FlvExplorerConverter extend
        }
        
        private static FlvDimension getFlvDimension(String txt) throws 
Exception {
-               Pattern p = Pattern.compile("\\d{2,4}(x)\\d{2,4}");
-               
                Matcher matcher = p.matcher(txt);
                
                while (matcher.find()) {
                        String foundResolution = txt.substring(matcher.start(), 
matcher.end());
-                       
                        String[] resultions = foundResolution.split("x");
-                       
                        return new 
FlvDimension(Integer.valueOf(resultions[0]).intValue(), 
Integer.valueOf(resultions[1]).intValue());
                }
                
-               throw new Exception("Failed to get FLV dimension: " + txt);
+               return new FlvDimension(100, 100); // will return 100x100 for 
non-video to be able to play
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
 Thu Aug 11 06:12:30 2016
@@ -18,12 +18,15 @@
  */
 package org.apache.openmeetings.core.data.file;
 
+import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION;
+import static org.apache.openmeetings.util.OmFileHelper.JPG_EXTENSION;
 import static org.apache.openmeetings.util.OmFileHelper.thumbImagePrefix;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 import java.util.Locale;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
@@ -40,19 +43,28 @@ public class FileUtils {
        @Autowired
        private FileExplorerItemDao fileDao;
 
-       public long getSizeOfDirectoryAndSubs(FileExplorerItem file) {
+       public long getSize(List<FileExplorerItem> list) {
+               long size = 0;
+               for (FileExplorerItem f : list) {
+                       log.debug("FileExplorerItem fList " + f.getName());
+                       size += getSize(f);
+               }
+               return size;
+       }
+       
+       public long getSize(FileExplorerItem file) {
                try {
                        long fileSize = 0;
 
                        File base = OmFileHelper.getUploadFilesDir();
                        if (Type.Image == file.getType()) {
-
-                               File tFile = new File(base, file.getHash());
+                               String fname = String.format("%s%s", 
file.getHash(), JPG_EXTENSION);
+                               File tFile = new File(base, fname);
                                if (tFile.exists()) {
                                        fileSize += tFile.length();
                                }
 
-                               File thumbFile = new File(base, 
thumbImagePrefix + file.getHash());
+                               File thumbFile = new File(base, 
thumbImagePrefix + fname);
                                if (thumbFile.exists()) {
                                        fileSize += thumbFile.length();
                                }
@@ -66,10 +78,21 @@ public class FileUtils {
                                }
                        }
 
+                       if (Type.Video == file.getType()) {
+                               //FIXME TODO refactor
+                               File video = new 
File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + file.getId() + 
MP4_EXTENSION);
+                               if (video.exists()) {
+                                       fileSize += video.length();
+                               }
+                               File thumb = new 
File(OmFileHelper.getStreamsHibernateDir(), "UPLOADFLV_" + file.getId() + 
JPG_EXTENSION);
+                               if (thumb.exists()) {
+                                       fileSize += thumb.length();
+                               }
+                       }
+
                        log.debug("calling [1] fileDao.update()");
-                       fileDao.update(file);
                        for (FileExplorerItem child : 
fileDao.getByParent(file.getId())) {
-                               fileSize += getSizeOfDirectoryAndSubs(child);
+                               fileSize += getSize(child);
                        }
 
                        return fileSize;

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteboardManager.java
 Thu Aug 11 06:12:30 2016
@@ -23,7 +23,6 @@ import static org.apache.openmeetings.ut
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.openmeetings.db.dto.room.WhiteboardObject;
 import org.red5.logging.Red5LoggerFactory;
@@ -36,8 +35,8 @@ public class WhiteboardManager {
        @Autowired
        private WhiteBoardObjectListManagerById wbListManagerById;
 
-       @SuppressWarnings({ "rawtypes", "unchecked" })
-       public void addWhiteBoardObjectById(Long roomId, Map whiteboardObj, 
Long whiteBoardId) {
+       @SuppressWarnings("unchecked")
+       public void addWhiteBoardObjectById(Long roomId, Map<Integer, Object> 
whiteboardObj, Long whiteBoardId) {
                try {
                        log.debug("addWhiteBoardObjectById: ", whiteboardObj);
 
@@ -46,7 +45,7 @@ public class WhiteboardManager {
                        log.debug("action: " + action);
                        log.debug("actionObject: " + whiteboardObj.get(3));
 
-                       List actionObject = (List) whiteboardObj.get(3);
+                       List<Object> actionObject = (List<Object>) 
whiteboardObj.get(3);
 
                        if (action.equals("moveMap")) {
                                WhiteboardObject whiteboardObject = 
wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, 
whiteBoardId);
@@ -65,64 +64,16 @@ public class WhiteboardManager {
                                if (!objectType.equals("pointerWhiteBoard")) {
                                        String objectOID = 
actionObject.get(actionObject.size() - 1).toString();
                                        log.debug("objectOID: " + objectOID);
-                                       
whiteboardObject.getRoomItems().put(objectOID, actionObject);
+                                       whiteboardObject.add(objectOID, 
actionObject);
                                        
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, 
whiteboardObject, whiteBoardId);
                                }
                        } else if (action.equals("clear")) {
                                WhiteboardObject whiteboardObject = 
wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, 
whiteBoardId);
-                               whiteboardObject.setRoomItems(new 
ConcurrentHashMap<String, List>());
+                               whiteboardObject.clear();
                                
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, 
whiteboardObject, whiteBoardId);
                        } else if (action.equals("delete") || 
action.equals("undo")) {
                                WhiteboardObject whiteboardObject = 
wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, 
whiteBoardId);
-                               String objectOID = 
actionObject.get(actionObject.size() - 1).toString();
-                               String objectType = 
actionObject.get(0).toString();
-                               log.debug("removal of objectOID: " + objectOID);
-
-                               log.debug("removal of objectOID: " + objectOID);
-
-                               // Re-Index all items in its zIndex
-                               if (objectType.equals("ellipse")
-                                               || 
objectType.equals("drawarrow")
-                                               || objectType.equals("line")
-                                               || objectType.equals("paint")
-                                               || 
objectType.equals("rectangle")
-                                               || objectType.equals("uline")
-                                               || objectType.equals("image")
-                                               || objectType.equals("letter")
-                                               || objectType.equals("clipart")
-                                               || objectType.equals("swf")
-                                               || 
objectType.equals("mindmapnode")
-                                               || objectType.equals("flv")) {
-
-                                       Integer zIndex = 
Integer.valueOf(actionObject.get(actionObject.size() - 8).toString());
-
-                                       log.debug("1|zIndex " + zIndex);
-                                       log.debug("2|zIndex " + 
actionObject.get(actionObject.size() - 8).toString());
-                                       log.debug("3|zIndex " + 
actionObject.get(actionObject.size() - 8));
-
-                                       int l = 0;
-                                       for (Object o : actionObject) {
-                                               log.debug("4|zIndex " + l + " 
-- " + o);
-                                               l++;
-                                       }
-
-                                       for (Entry<String, List> e : 
whiteboardObject.getRoomItems().entrySet()) {
-                                               List actionObjectStored = 
e.getValue();
-
-                                               Integer zIndexStored = 
Integer.valueOf(actionObjectStored.get(actionObjectStored.size() - 
8).toString());
-
-                                               log.debug("zIndexStored|zIndex 
" + zIndexStored + "|" + zIndex);
-
-                                               if (zIndexStored >= zIndex) {
-                                                       zIndexStored -= 1;
-                                                       log.debug("new-zIndex " 
+ zIndexStored);
-                                               }
-                                               
actionObjectStored.set(actionObjectStored.size() - 8, zIndexStored);
-
-                                               
whiteboardObject.getRoomItems().put(e.getKey(), actionObjectStored);
-                                       }
-                               }
-                               
whiteboardObject.getRoomItems().remove(objectOID);
+                               whiteboardObject.remove(actionObject);
 
                                
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, 
whiteboardObject, whiteBoardId);
                        } else if (action.equals("size") || 
action.equals("editProp")
@@ -134,13 +85,11 @@ public class WhiteboardManager {
                                WhiteboardObject whiteboardObject = 
wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, 
whiteBoardId);
                                String objectOID = 
actionObject.get(actionObject.size() - 1).toString();
                                // List roomItem = roomList.get(objectOID);
-                               List currentObject = 
whiteboardObject.getRoomItems().get(objectOID);
-                               if (actionObject.get(0).equals("paint")) {
+                               List<Object> currentObject = 
whiteboardObject.get(objectOID);
+                               if ("paint".equals(actionObject.get(0))) {
                                        actionObject.set(1, 
currentObject.get(1));
                                }
-                               whiteboardObject.getRoomItems().put(objectOID, 
actionObject);
-
-                               Map<String, List> roomList = 
whiteboardObject.getRoomItems();
+                               whiteboardObject.add(objectOID, actionObject);
 
                                if (action.equals("swf")) {
                                        log.debug("actionObject " + 
actionObject);
@@ -151,8 +100,8 @@ public class WhiteboardManager {
 
                                                        
log.debug("updateObjectsToSlideNumber :: " + baseObjectName + "," + 
slidesNumber);
 
-                                                       for (Entry<String, 
List> me : roomList.entrySet()) {
-                                                               List 
actionObjectStored = me.getValue();
+                                                       for (Entry<String, 
List<Object>> me : whiteboardObject.entrySet()) {
+                                                               List<Object> 
actionObjectStored = me.getValue();
 
                                                                if 
(actionObjectStored.get(0).equals("ellipse")
                                                                                
|| actionObjectStored.get(0).equals("drawarrow")
@@ -164,7 +113,7 @@ public class WhiteboardManager {
                                                                                
|| actionObjectStored.get(0).equals("image")
                                                                                
|| actionObjectStored.get(0).equals("letter")) {
 
-                                                                       Map 
swfObj = (Map) actionObjectStored.get(actionObjectStored.size() - 7);
+                                                                       
Map<String, Object> swfObj = (Map<String, Object>) 
actionObjectStored.get(actionObjectStored.size() - 7);
                                                                        
log.debug("swfObj :1: " + swfObj);
 
                                                                        if 
(swfObj != null) {
@@ -185,10 +134,8 @@ public class WhiteboardManager {
                        } else if (action.equals("clearSlide")) {
                                WhiteboardObject whiteboardObject = 
wbListManagerById.getWhiteBoardObjectListByRoomIdAndWhiteboard(roomId, 
whiteBoardId);
 
-                               Map roomList = whiteboardObject.getRoomItems();
-
-                               for (String objectName : (List<String>) 
actionObject) {
-                                       roomList.remove(objectName);
+                               for (Object objectName : actionObject) {
+                                       whiteboardObject.remove(objectName);
                                }
 
                                
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, 
whiteboardObject, whiteBoardId);

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 Thu Aug 11 06:12:30 2016
@@ -160,7 +160,7 @@ public class ConferenceLibrary implement
 
                List<?> roomItems = LibraryWmlLoader.loadWmlFile(fi.getHash());
 
-               Map<Integer, String> wbClear = new HashMap<>();
+               Map<Integer, Object> wbClear = new HashMap<>();
                wbClear.put(2, "clear");
                wbClear.put(3, null);
 

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 Thu Aug 11 06:12:30 2016
@@ -1406,7 +1406,7 @@ public class ScopeApplicationAdapter ext
                                , fuid // uniquObjectSyncName //17
                                , fi.getName() // standardFileName //18
                                , true // fullFit //19 FIXME TODO
-                               , 1 // zIndex //-8 FIXME TODO
+                               , 0 // zIndex //-8
                                , null //-7
                                , 0 // this.counter //-6 FIXME TODO
                                , 0 // posx //-5
@@ -1427,7 +1427,7 @@ public class ScopeApplicationAdapter ext
                                , false // 3: false //playRemote
                                , size.x // 4: 416
                                , size.y // 5: 240
-                               , 1 // 6: 1 // z-index 
+                               , 0 // 6: 1 // z-index 
                                , null // 7: null //TODO 
                                , 0 // 8: 0 //TODO // counter
                                , 0 // 9: 0 //TODO // x
@@ -1438,7 +1438,7 @@ public class ScopeApplicationAdapter ext
                                );
        }
        
-       public void sendToWhiteboard(String uid, Long wbId, FileItem fi, String 
url) {
+       public void sendToWhiteboard(String uid, Long wbId, FileItem fi, String 
url, boolean clean) {
                ClientSessionInfo csi = 
sessionManager.getClientByPublicSIDAnyServer(uid);
                if (csi == null) {
                        log.warn("No client was found to send Wml:: {}", uid);
@@ -1459,6 +1459,13 @@ public class ScopeApplicationAdapter ext
                                break;
                        default:
                }
+               if (clean) {
+                       Map<Integer, Object> wbClear = new HashMap<>();
+                       wbClear.put(2, "clear");
+                       wbClear.put(3, null);
+
+                       sendToScope(client.getRoomId(), 
"sendVarsToWhiteboardById", new Object[] { wbClear });
+               }
                sendToWhiteboard(client, Arrays.asList("whiteboard", new 
Date(), "draw", wbObject), wbId);
        }
        

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Thu Aug 11 06:12:30 2016
@@ -18,21 +18,28 @@
  */
 package org.apache.openmeetings.db.dto.room;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-public class WhiteboardObject {
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
 
+public class WhiteboardObject {
+       private static final Logger log = 
Red5LoggerFactory.getLogger(WhiteboardObject.class, webAppRootKey);
        private long whiteBoardId;
        private Integer x = 0;
        private Integer y = 0;
        private Integer zoom = 100;
        private Boolean fullFit = true;
-       @SuppressWarnings("rawtypes")
-       private Map<String, List> roomItems = new ConcurrentHashMap<>();
+       private Map<String, List<Object>> roomItems = new ConcurrentHashMap<>();
        private Date created = new Date();
+       private int zIndex = 1;
 
        public WhiteboardObject() {}
        
@@ -60,16 +67,6 @@ public class WhiteboardObject {
                this.y = y;
        }
 
-       @SuppressWarnings("rawtypes")
-       public Map<String, List> getRoomItems() {
-               return roomItems;
-       }
-
-       @SuppressWarnings("rawtypes")
-       public void setRoomItems(Map<String, List> roomItems) {
-               this.roomItems = roomItems;
-       }
-
        public Date getCreated() {
                return created;
        }
@@ -94,4 +91,81 @@ public class WhiteboardObject {
                this.fullFit = fullFit;
        }
 
+       public void clear() {
+               roomItems.clear();
+               zIndex = 1;
+       }
+
+       public void add(String oid, List<Object> actionObject) {
+               Object type = actionObject.size() > 0 ? actionObject.get(0) : 
"";
+               if (actionObject.size() > 8 && ("swf".equals(type) || 
"image".equals(type) || "flv".equals(type))) {
+                       Integer zInd = 
(Integer)actionObject.get(actionObject.size() - 8);
+                       if (zInd == null || zInd == 0 || zInd < zIndex) {
+                               actionObject.set(actionObject.size() - 8, 
zIndex++);
+                       }
+               }
+               roomItems.put(oid, actionObject);
+       }
+
+       public List<Object> get(String oid) {
+               return roomItems.get(oid);
+       }
+
+       public Set<Entry<String, List<Object>>> entrySet() {
+               return roomItems.entrySet();
+       }
+
+       public void remove(Object oid) {
+               roomItems.remove(oid);
+       }
+
+       public void remove(List<Object> actionObject) {
+               String oid = actionObject.get(actionObject.size() - 
1).toString();
+               String type = actionObject.get(0).toString();
+               log.debug("Removal of object: oid = {}, type = {} ", oid, type);
+
+               /* I believe this is redundant
+               // Re-Index all items in its zIndex
+               if (type.equals("ellipse")
+                               || type.equals("drawarrow")
+                               || type.equals("line")
+                               || type.equals("paint")
+                               || type.equals("rectangle")
+                               || type.equals("uline")
+                               || type.equals("image")
+                               || type.equals("letter")
+                               || type.equals("clipart")
+                               || type.equals("swf")
+                               || type.equals("mindmapnode")
+                               || type.equals("flv")) {
+
+                       Integer zIndex = 
Integer.valueOf(actionObject.get(actionObject.size() - 8).toString());
+
+                       log.debug("1|zIndex " + zIndex);
+                       log.debug("2|zIndex " + 
actionObject.get(actionObject.size() - 8).toString());
+                       log.debug("3|zIndex " + 
actionObject.get(actionObject.size() - 8));
+
+                       int l = 0;
+                       for (Object o : actionObject) {
+                               log.debug("4|zIndex " + l + " -- " + o);
+                               l++;
+                       }
+
+                       for (Entry<String, List<Object>> e : 
roomItems.entrySet()) {
+                               List<Object> actionObjectStored = e.getValue();
+
+                               Integer zIndexStored = 
Integer.valueOf(actionObjectStored.get(actionObjectStored.size() - 
8).toString());
+
+                               log.debug("zIndexStored|zIndex " + zIndexStored 
+ "|" + zIndex);
+
+                               if (zIndexStored >= zIndex) {
+                                       zIndexStored -= 1;
+                                       log.debug("new-zIndex " + zIndexStored);
+                               }
+                               
actionObjectStored.set(actionObjectStored.size() - 8, zIndexStored);
+                       }
+               }
+               */
+               roomItems.remove(oid);
+       }
 }

Modified: openmeetings/application/trunk/openmeetings-util/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/pom.xml?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-util/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-util/pom.xml Thu Aug 11 
06:12:30 2016
@@ -44,6 +44,24 @@
                        </plugin>
                </plugins>
        </build>
+       <profiles>
+               <profile>
+                       <id>Jenkins</id>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               
<groupId>org.apache.maven.plugins</groupId>
+                                               
<artifactId>maven-surefire-plugin</artifactId>
+                                               <configuration>
+                                                       <excludes>
+                                                               
<exclude>**/TestStoredFile.java</exclude>
+                                                       </excludes>
+                                               </configuration>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
        <dependencies>
                <dependency>
                        <groupId>org.red5</groupId>

Copied: 
openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
 (from r1755906, 
openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java?p2=openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java&p1=openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java&r1=1755906&r2=1755907&rev=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestStoredFile.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
 Thu Aug 11 06:12:30 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.util.crypt;
+package org.apache.openmeetings.util;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertFalse;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Thu Aug 11 06:12:30 2016
@@ -225,7 +225,8 @@ public abstract class FileTreePanel exte
        }
 
        public void update(IPartialPageRequestHandler handler) {
-               handler.add(trees);
+               updateSizes();
+               handler.add(sizes, trees);
        }
 
        void updateNode(AjaxRequestTarget target, FileItem fi) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Thu Aug 11 06:12:30 2016
@@ -172,7 +172,7 @@ public class RoomPanel extends BasePanel
                        public void onDrop(AjaxRequestTarget target, Component 
component) {
                                Object o = component.getDefaultModelObject();
                                if (activeWbId > -1 && o instanceof FileItem) {
-                                       sendFileToWb((FileItem)o);
+                                       sendFileToWb((FileItem)o, false);
                                }
                        }
                };
@@ -544,13 +544,13 @@ public class RoomPanel extends BasePanel
                return publishingUser;
        }
 
-       public void sendFileToWb(FileItem fi) {
+       public void sendFileToWb(FileItem fi, boolean clean) {
                if (activeWbId > -1) {
                        if (fi.getType() == FileItem.Type.WmlFile) {
                                
getBean(ConferenceLibrary.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi);
                        } else {
                                String url = urlFor(new 
RoomResourceReference(), new PageParameters().add("id", fi.getId())).toString();
-                               
getBean(ScopeApplicationAdapter.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi, url);
+                               
getBean(ScopeApplicationAdapter.class).sendToWhiteboard(getClient().getUid(), 
activeWbId, fi, url, clean);
                        }
                }
        }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
 Thu Aug 11 06:12:30 2016
@@ -18,6 +18,14 @@
  */
 package org.apache.openmeetings.web.room.sidebar;
 
+import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import org.apache.openmeetings.core.data.file.FileUtils;
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.record.RecordingDao;
+import org.apache.openmeetings.db.dto.record.RecordingContainerData;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.web.common.tree.FileTreePanel;
 import org.apache.openmeetings.web.room.RoomPanel;
@@ -36,14 +44,21 @@ public class RoomFilePanel extends FileT
        
        @Override
        public void updateSizes() {
-               // TODO Auto-generated method stub
-               
+               FileExplorerItemDao dao = getBean(FileExplorerItemDao.class);
+               FileUtils utils = getBean(FileUtils.class);
+               RecordingContainerData sizeData = 
getBean(RecordingDao.class).getContainerData(getUserId());
+               long userSize = utils.getSize(dao.getByOwner(getUserId()));
+               long roomSize = 
utils.getSize(dao.getByRoom(room.getRoom().getId()));
+               if (sizeData != null) {
+                       userSize += sizeData.getUserHomeSize();
+                       roomSize += sizeData.getPublicFileSize();
+               }
+               homeSize.setObject(getHumanSize(userSize));
+               publicSize.setObject(getHumanSize(roomSize));
        }
        
        @Override
        protected void update(AjaxRequestTarget target, FileItem f) {
-               // TODO Auto-generated method stub
-               
        }
        
        @Override

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
 Thu Aug 11 06:12:30 2016
@@ -31,7 +31,12 @@
                </div>
                <div wicket:id="feedback"></div>
                <span wicket:id="progress">[progressbar]</span>
-               <div style="margin-top: 30px;"><input wicket:id="to-wb" 
type="checkbox"/><label wicket:for="to-wb"><wicket:message 
key="1312"/></label></div>
+               <div style="margin-top: 30px;">
+                       <input wicket:id="to-wb" type="checkbox"/><label 
wicket:for="to-wb"><wicket:message key="1312"/></label>
+                       <div style="margin-left: 30px;" wicket:id="clean-block">
+                               <input wicket:id="clean-wb" 
type="checkbox"/><label wicket:for="clean-wb"><wicket:message key="62"/></label>
+                       </div>
+               </div>
        </form>
        <form wicket:id="name-form">
                <input type="hidden" wicket:id="name"/>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1755907&r1=1755906&r2=1755907&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
 Thu Aug 11 06:12:30 2016
@@ -35,12 +35,14 @@ import org.apache.openmeetings.web.room.
 import org.apache.openmeetings.web.util.BootstrapFileUploadBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import 
org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.HiddenField;
@@ -66,6 +68,8 @@ public class UploadDialog extends Abstra
        private final FileUploadField uploadField;
        private final HiddenField<String> fileName;
        private final CheckBox toWb = new CheckBox("to-wb", Model.of(false));
+       private final WebMarkupContainer cleanBlock = new 
WebMarkupContainer("clean-block");
+       private final CheckBox cleanWb = new CheckBox("clean-wb", 
Model.of(false));
        private final RoomFilePanel roomFiles;
        private final RoomPanel room;
 
@@ -83,7 +87,16 @@ public class UploadDialog extends Abstra
                        }
                };
                cancel = new DialogButton("close", Application.getString(85));
-               form.add(feedback.setOutputMarkupId(true), toWb);
+               toWb.add(new OnChangeAjaxBehavior() {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void onUpdate(AjaxRequestTarget target) {
+                               
target.add(cleanBlock.setVisible(toWb.getModelObject()));
+                       }
+               });
+               form.add(feedback.setOutputMarkupId(true), 
toWb.setOutputMarkupId(true)
+                               , 
cleanBlock.add(cleanWb.setOutputMarkupId(true)).setVisible(false).setOutputMarkupPlaceholderTag(true));
        
                form.setMultiPart(true);
                
form.setMaxSize(Bytes.bytes(getBean(ConfigurationDao.class).getMaxUploadSize()));
@@ -182,7 +195,7 @@ public class UploadDialog extends Abstra
                                        error(result.getLogMessage());
                                } else {
                                        if (toWb.getModelObject()) {
-                                               room.sendFileToWb(f);
+                                               room.sendFileToWb(f, 
cleanWb.getModelObject());
                                        }
                                        close(target, null);
                                }


Reply via email to