Revision: 3974
Author: seba.wagner
Date: Thu Jul 7 05:23:20 2011
Log: Rework parts of the File-Explorer to use REST instead of RTMP
http://code.google.com/p/openmeetings/source/detail?r=3974
Modified:
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/dragItemFileExplorer.lzx
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/treeitems/baseFileExplorerItem.lzx
/trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/dragItemFileExplorer.lzx
Fri Apr 15 04:58:38 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/dragItemFileExplorer.lzx
Thu Jul 7 05:23:20 2011
@@ -11,6 +11,8 @@
<attribute name="alreadySent" value="false" type="boolean" />
+ <attribute name="fileExplorerItemId" value="0" type="number" />
+
<handler name="oninit">
lz.Track.activate(canvas.currentImagesListdraw.currentTrackGroupName);
canvas.currentImagesListdraw.currentDragItem = this;
@@ -64,7 +66,7 @@
if (this.overItem.isTrashCan) {
if ($debug) Debug.write("SEND TO GARBAGE");
- this.deleteFileOrFolder.fileExplorerItemId =
this.refObj.fileExplorerItemId;
+ this.fileExplorerItemId =
this.refObj.fileExplorerItemId;
new lz.confirmationSingle(canvas,{
refObj:this,
labelid:710,
@@ -112,17 +114,41 @@
<method name="sendConfirmation" args="bool,askAgain">
if (bool) {
- this.deleteFileOrFolder.doCall();
+ this.deleteFileOrFolder();
} else {
this.destroy();
}
</method>
+ <method name="deleteFileOrFolder">
+ <![CDATA[
+ if ($debug) Debug.write("deleteFileOrFolder HTTP 2: ");
+ //this.getFileExplorerByRoom.doCall();
+ var downloadurl
= 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+
+canvas.httpRootKey+'services/FileService/deleteFileOrFolderSelf?'
+ +'SID='+canvas.sessionId
+
+'&fileExplorerItemId='+this.fileExplorerItemId;
+
+ this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
+ if ($debug) Debug.write("deleteFileOrFolderSelf
doRequest ",downloadurl);
+ this.deleteFileOrFolderSelf.doRequest();
+ ]]>
+ </method>
+
+ <dataset name="deleteFileOrFolderSelf" type="http" >
+ <handler name="ondata" args="d">
+ <![CDATA[
+ //if ($debug) Debug.write("ondata ",d);
+ if ($debug) Debug.write("deleteFileOrFolder: ",d);
+ parent.refObj.parent.parent.doOpen();
+ parent.destroy();
+ ]]>
+ </handler>
+ </dataset>
+
+ <!--
<netRemoteCallHib name="deleteFileOrFolder"
funcname="fileservice.deleteFileOrFolder"
remotecontext="$once{ canvas.thishib }" >
-
- <attribute name="fileExplorerItemId" value="0" type="number" />
-
<netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
<netparam><method name="getValue">return
parent.fileExplorerItemId;</method></netparam>
<handler name="ondata" args="value">
@@ -131,6 +157,7 @@
parent.destroy();
</handler>
</netRemoteCallHib>
+ -->
<netRemoteCallHib name="moveFile" funcname="fileservice.moveFile"
remotecontext="$once{ canvas.thishib }" >
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/treeitems/baseFileExplorerItem.lzx
Wed Jul 6 06:13:08 2011
+++
/trunk/singlewebapp/WebContent/openmeetings/plugins/fileexplorer/treeitems/baseFileExplorerItem.lzx
Thu Jul 7 05:23:20 2011
@@ -113,10 +113,38 @@
<method name="sendConfirmation" args="bool,askAgain">
if (bool) {
- this.deleteFileOrFolder.doCall();
+ this.deleteFileOrFolder();
}
</method>
+ <method name="deleteFileOrFolder">
+ <![CDATA[
+ if ($debug) Debug.write("deleteFileOrFolder HTTP 1: ");
+ //this.getFileExplorerByRoom.doCall();
+ var downloadurl
= 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+
+canvas.httpRootKey+'services/FileService/deleteFileOrFolderSelf?'
+ +'SID='+canvas.sessionId
+
+'&fileExplorerItemId='+this.fileExplorerItemId;
+
+ this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
+ if ($debug) Debug.write("deleteFileOrFolderSelf
doRequest ",downloadurl);
+ this.deleteFileOrFolderSelf.doRequest();
+ ]]>
+ </method>
+
+ <dataset name="deleteFileOrFolderSelf" type="http" >
+ <handler name="ondata" args="d">
+ <![CDATA[
+ //if ($debug) Debug.write("ondata ",d);
+ if ($debug) Debug.write("deleteFileOrFolder: ",d);
+ parent.parent.parent.doOpen();
+ parent.refObjListRoot._selected = null;
+ parent.refObjListRoot.parentFolderId = -2;
+ ]]>
+ </handler>
+ </dataset>
+
+ <!--
<netRemoteCallHib name="deleteFileOrFolder"
funcname="fileservice.deleteFileOrFolder"
remotecontext="$once{ canvas.thishib }" >
<netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
@@ -128,6 +156,7 @@
parent.refObjListRoot.parentFolderId = -2;
</handler>
</netRemoteCallHib>
+ -->
<method name="doSingleClick" args="itemObj">
this.singleClickStarted = false;
=======================================
---
/trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java
Wed Jul 6 06:13:08 2011
+++
/trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java
Thu Jul 7 05:23:20 2011
@@ -410,6 +410,36 @@
fileExplorerItemId);
}
+
+ } catch (Exception err) {
+ log.error("[deleteFileOrFolder]",err);
+ }
+ return null;
+ }
+
+ /**
+ *
+ * deletes files or folders based on it id
+ *
+ * @param SID
+ * @param fileExplorerItemId
+ * @return
+ */
+ public Long deleteFileOrFolderSelf(String SID, Long fileExplorerItemId)
throws AxisFault {
+
+ try {
+
+ Long users_id =
Sessionmanagement.getInstance().checkSession(SID);
+ Long User_level =
Usermanagement.getInstance().getUserLevelByID(users_id);
+
+ if
(AuthLevelmanagement.getInstance().checkUserLevel(User_level)){
+
+ //TODO: Check if user has access or not to the file
+
+
FileExplorerItemDaoImpl.getInstance().deleteFileExplorerItem(
+ fileExplorerItemId);
+
+ }
} catch (Exception err) {
log.error("[deleteFileOrFolder]",err);
--
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en.