Revision: 3955
Author:   seba.wagner
Date:     Tue Jul  5 02:59:20 2011
Log:      Some more SOAP Calls to handle Files
http://code.google.com/p/openmeetings/source/detail?r=3955

Added:
 /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/FileUtils.java
Modified:
 /trunk/singlewebapp/build.xml
/trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dto/FileExplorerObject.java /trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java

=======================================
--- /dev/null
+++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/FileUtils.java Tue Jul 5 02:59:20 2011
@@ -0,0 +1,169 @@
+package org.openmeetings.app.data.file;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.hibernate.beans.files.FileExplorerItem;
+import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class FileUtils {
+
+ private static final Logger log = Red5LoggerFactory.getLogger(FileProcessor.class, ScopeApplicationAdapter.webAppRootKey);
+
+       private static FileUtils instance;
+
+       private FileUtils() {}
+
+       public static synchronized FileUtils getInstance() {
+               if (instance == null) {
+                       instance = new FileUtils();
+               }
+               return instance;
+       }
+
+       public long getSizeOfDirectoryAndSubs(FileExplorerItem 
fileExplorerItem) {
+        try {
+
+            long fileSize = 0;
+
+            if (fileExplorerItem.getIsImage()) {
+
+                File tFile = new File(ScopeApplicationAdapter.webAppPath
+ + File.separatorChar + "upload" + File.separatorChar
+                        + "files" + File.separatorChar
+                        + fileExplorerItem.getFileHash());
+                if (tFile.exists()) {
+                    fileSize += tFile.length();
+                }
+
+ File thumbFile = new File(ScopeApplicationAdapter.webAppPath + + File.separatorChar + "upload" + File.separatorChar
+                        + "files" + File.separatorChar + "_thumb_"
+                        + fileExplorerItem.getFileHash());
+                if (thumbFile.exists()) {
+                    fileSize += thumbFile.length();
+                }
+
+            }
+
+            if (fileExplorerItem.getIsPresentation()) {
+
+                File tFolder = new File(ScopeApplicationAdapter.webAppPath
+ + File.separatorChar + "upload" + File.separatorChar
+                        + "files" + File.separatorChar
+                        + fileExplorerItem.getFileHash());
+
+                if (tFolder.exists()) {
+                    fileSize += this.getDirSize(tFolder);
+                }
+
+            }
+
+ log.debug("calling [1] FileExplorerItemDaoImpl.updateFileOrFolder()");
+            FileExplorerItemDaoImpl.getInstance().updateFileOrFolder(
+                    fileExplorerItem);
+
+            FileExplorerItem[] childElements = FileExplorerItemDaoImpl
+                    .getInstance().getFileExplorerItemsByParent(
+                            fileExplorerItem.getFileExplorerItemId());
+
+            for (FileExplorerItem childExplorerItem : childElements) {
+
+ fileSize += this.getSizeOfDirectoryAndSubs(childExplorerItem);
+
+            }
+
+            return fileSize;
+
+        } catch (Exception err) {
+            log.error("[getSizeOfDirectoryAndSubs] ", err);
+        }
+        return 0;
+    }
+
+       public long getDirSize(File dir) {
+        long size = 0;
+        if (dir.isFile()) {
+            size = dir.length();
+        } else {
+            File[] subFiles = dir.listFiles();
+
+            for (File file : subFiles) {
+                if (file.isFile()) {
+                    size += file.length();
+                } else {
+                    size += this.getDirSize(file);
+                }
+
+            }
+        }
+
+        return size;
+    }
+
+       public void setFileToOwnerOrRoomByParent(
+ FileExplorerItem fileExplorerItem, Long users_id, Long room_id) {
+        try {
+
+            fileExplorerItem.setOwnerId(users_id);
+            fileExplorerItem.setRoom_id(room_id);
+
+ log.debug("calling [2] FileExplorerItemDaoImpl.updateFileOrFolder()");
+            FileExplorerItemDaoImpl.getInstance().updateFileOrFolder(
+                    fileExplorerItem);
+
+            FileExplorerItem[] childElements = FileExplorerItemDaoImpl
+                    .getInstance().getFileExplorerItemsByParent(
+                            fileExplorerItem.getFileExplorerItemId());
+
+            for (FileExplorerItem childExplorerItem : childElements) {
+
+ this.setFileToOwnerOrRoomByParent(childExplorerItem, users_id,
+                        room_id);
+
+            }
+
+        } catch (Exception err) {
+            log.error("[setFileToOwnerOrRoomByParent] ", err);
+        }
+    }
+
+       public String formatDate(Date date) {
+        SimpleDateFormat formatter;
+        String pattern = "dd/MM/yy H:mm:ss";
+        Locale locale = new Locale("en", "US");
+        formatter = new SimpleDateFormat(pattern, locale);
+        return formatter.format(date);
+    }
+
+       public void copyFile(String sourceFile, String targetFile) {
+        try {
+            File f1 = new File(sourceFile);
+            File f2 = new File(targetFile);
+            InputStream in = new FileInputStream(f1);
+
+            // For Overwrite the file.
+            OutputStream out = new FileOutputStream(f2);
+
+            byte[] buf = new byte[1024];
+            int len;
+            while ((len = in.read(buf)) > 0) {
+                out.write(buf, 0, len);
+            }
+            in.close();
+            out.close();
+            System.out.println("File copied.");
+        } catch (Exception e) {
+            log.error("[copyfile]", e);
+        }
+    }
+}
=======================================
--- /trunk/singlewebapp/build.xml       Sun Jul  3 08:28:03 2011
+++ /trunk/singlewebapp/build.xml       Tue Jul  5 02:59:20 2011
@@ -457,6 +457,8 @@
<include name="org/openmeetings/app/data/file/dto/LibraryPresentationFile.class"/> <include name="org/openmeetings/app/data/file/dto/LibraryPresentationThumb.class"/> <include name="org/openmeetings/axis/services/FileService.class"/> + <include name="org/openmeetings/app/data/file/dto/FileExplorerObject.class" /> + <include name="org/openmeetings/app/hibernate/beans/files/FileExplorerItem.class" /> <include name="org/openmeetings/axis/services/FileImportError.class"/>
             </fileset>
         </jar>
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dto/FileExplorerObject.java Sun Jul 3 11:03:54 2011 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dto/FileExplorerObject.java Tue Jul 5 02:59:20 2011
@@ -1,7 +1,5 @@
 package org.openmeetings.app.data.file.dto;

-import java.util.List;
-
 import org.openmeetings.app.hibernate.beans.files.FileExplorerItem;

 /**
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java Sun Jul 3 11:03:54 2011 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/remote/ConferenceLibrary.java Tue Jul 5 02:59:20 2011
@@ -25,6 +25,7 @@
 import org.openmeetings.app.data.basic.files.FilesObject;
 import org.openmeetings.app.data.basic.files.FoldersObject;
 import org.openmeetings.app.data.basic.files.LiberaryObject;
+import org.openmeetings.app.data.file.FileUtils;
 import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
 import org.openmeetings.app.data.file.dto.FileExplorerObject;
 import org.openmeetings.app.data.file.dto.LibraryPresentation;
@@ -127,94 +128,17 @@

     }

- private long getSizeOfDirectoryAndSubs(FileExplorerItem fileExplorerItem) {
-        try {
-
-            long fileSize = 0;
-
-            if (fileExplorerItem.getIsImage()) {
-
-                File tFile = new File(ScopeApplicationAdapter.webAppPath
- + File.separatorChar + "upload" + File.separatorChar
-                        + "files" + File.separatorChar
-                        + fileExplorerItem.getFileHash());
-                if (tFile.exists()) {
-                    fileSize += tFile.length();
-                }
-
- File thumbFile = new File(ScopeApplicationAdapter.webAppPath - + File.separatorChar + "upload" + File.separatorChar
-                        + "files" + File.separatorChar + "_thumb_"
-                        + fileExplorerItem.getFileHash());
-                if (thumbFile.exists()) {
-                    fileSize += thumbFile.length();
-                }
-
-            }
-
-            if (fileExplorerItem.getIsPresentation()) {
-
-                File tFolder = new File(ScopeApplicationAdapter.webAppPath
- + File.separatorChar + "upload" + File.separatorChar
-                        + "files" + File.separatorChar
-                        + fileExplorerItem.getFileHash());
-
-                if (tFolder.exists()) {
-                    fileSize += this.getDirSize(tFolder);
-                }
-
-            }
-
- log.debug("calling [1] FileExplorerItemDaoImpl.updateFileOrFolder()");
-            FileExplorerItemDaoImpl.getInstance().updateFileOrFolder(
-                    fileExplorerItem);
-
-            FileExplorerItem[] childElements = FileExplorerItemDaoImpl
-                    .getInstance().getFileExplorerItemsByParent(
-                            fileExplorerItem.getFileExplorerItemId());
-
-            for (FileExplorerItem childExplorerItem : childElements) {
-
- fileSize += this.getSizeOfDirectoryAndSubs(childExplorerItem);
-
-            }
-
-            return fileSize;
-
-        } catch (Exception err) {
-            log.error("[getSizeOfDirectoryAndSubs] ", err);
-        }
-        return 0;
-    }
-
-    private long getDirSize(File dir) {
-        long size = 0;
-        if (dir.isFile()) {
-            size = dir.length();
-        } else {
-            File[] subFiles = dir.listFiles();
-
-            for (File file : subFiles) {
-                if (file.isFile()) {
-                    size += file.length();
-                } else {
-                    size += this.getDirSize(file);
-                }
-
-            }
-        }
-
-        return size;
-    }
-
-    private String formatDate(Date date) {
-        SimpleDateFormat formatter;
-        String pattern = "dd/MM/yy H:mm:ss";
-        Locale locale = new Locale("en", "US");
-        formatter = new SimpleDateFormat(pattern, locale);
-        return formatter.format(date);
-    }
-
+
+
+    /**
+     * @deprecated
+     * @param SID
+     * @param fileName
+     * @param moduleName
+     * @param parentFolder
+     * @param room_id
+     * @return
+     */
public Boolean deleteFile(String SID, String fileName, String moduleName,
             String parentFolder, Long room_id) {
         try {
@@ -268,6 +192,11 @@
         return false;
     }

+    /**
+     * @deprecated
+     * @param t
+     * @return
+     */
     public String saveAsImage(Object t) {
         try {
             log.error("saveAsImage" + t);
@@ -477,7 +406,7 @@
                 for (FileExplorerItem homeChildExplorerItem : fList) {
                     log.debug("FileExplorerItem fList "
                             + homeChildExplorerItem.getFileName());
-                    homeFileSize += this
+                    homeFileSize += FileUtils.getInstance()
                             .getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                 }

@@ -493,7 +422,7 @@
                 for (FileExplorerItem homeChildExplorerItem : rList) {
                     log.debug("FileExplorerItem rList "
                             + homeChildExplorerItem.getFileName());
-                    roomFileSize += this
+                    roomFileSize += FileUtils.getInstance()
                             .getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                 }

@@ -646,12 +575,12 @@

                 if (moveToHome) {
// set this file and all subfiles and folders the ownerId
-                    this.setFileToOwnerOrRoomByParent(fileExplorerItem,
+ FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem,
                             users_id, null);

                 } else {
// set this file and all subfiles and folders the room_id - this.setFileToOwnerOrRoomByParent(fileExplorerItem, null, + FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem, null,
                             room_id);

                 }
@@ -663,32 +592,7 @@
         return null;
     }

-    private void setFileToOwnerOrRoomByParent(
- FileExplorerItem fileExplorerItem, Long users_id, Long room_id) {
-        try {
-
-            fileExplorerItem.setOwnerId(users_id);
-            fileExplorerItem.setRoom_id(room_id);
-
- log.debug("calling [2] FileExplorerItemDaoImpl.updateFileOrFolder()");
-            FileExplorerItemDaoImpl.getInstance().updateFileOrFolder(
-                    fileExplorerItem);
-
-            FileExplorerItem[] childElements = FileExplorerItemDaoImpl
-                    .getInstance().getFileExplorerItemsByParent(
-                            fileExplorerItem.getFileExplorerItemId());
-
-            for (FileExplorerItem childExplorerItem : childElements) {
-
- this.setFileToOwnerOrRoomByParent(childExplorerItem, users_id,
-                        room_id);
-
-            }
-
-        } catch (Exception err) {
-            log.error("[setFileToOwnerOrRoomByParent] ", err);
-        }
-    }
+

     public Long copyFileToCurrentRoom(String SID, Long flvFileExplorerId) {
         try {
@@ -737,7 +641,7 @@
                     if (outputFullFlvFile.exists()) {

                         if (!targetFullFlvFile.exists()) {
-                            this.copyFile(outputFullFlv, targetFullFlv);
+ FileUtils.getInstance().copyFile(outputFullFlv, targetFullFlv);
                         }

                     }
@@ -753,27 +657,7 @@
         return -1L;
     }

-    private void copyFile(String sourceFile, String targetFile) {
-        try {
-            File f1 = new File(sourceFile);
-            File f2 = new File(targetFile);
-            InputStream in = new FileInputStream(f1);
-
-            // For Overwrite the file.
-            OutputStream out = new FileOutputStream(f2);
-
-            byte[] buf = new byte[1024];
-            int len;
-            while ((len = in.read(buf)) > 0) {
-                out.write(buf, 0, len);
-            }
-            in.close();
-            out.close();
-            System.out.println("File copied.");
-        } catch (Exception e) {
-            log.error("[copyfile]", e);
-        }
-    }
+

        public void resultReceived(IPendingServiceCall arg0) {
                // TODO Auto-generated method stub
=======================================
--- /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java Sun Jul 3 11:03:54 2011 +++ /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java Tue Jul 5 02:59:20 2011
@@ -23,11 +23,14 @@
 import org.openmeetings.app.data.basic.Sessionmanagement;
 import org.openmeetings.app.data.basic.files.*;
 import org.openmeetings.app.data.file.FileProcessor;
+import org.openmeetings.app.data.file.FileUtils;
 import org.openmeetings.app.data.file.dao.FileExplorerItemDaoImpl;
+import org.openmeetings.app.data.file.dto.FileExplorerObject;
 import org.openmeetings.app.data.file.dto.LibraryPresentation;
 import org.openmeetings.app.data.user.Usermanagement;
 import org.openmeetings.app.data.user.dao.UsersDaoImpl;
 import org.openmeetings.app.documents.LoadLibraryPresentation;
+import org.openmeetings.app.hibernate.beans.files.FileExplorerItem;
 import org.openmeetings.app.hibernate.beans.user.Users;
 import org.openmeetings.app.remote.ConferenceLibrary;
 import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
@@ -464,6 +467,168 @@
            }

        }
+
+ public FileExplorerObject getFileExplorerByRoom(String SID, Long room_id, Long owner_id) throws AxisFault {
+
+           try {
+
+ Long webservice_users_id = Sessionmanagement.getInstance().checkSession(SID);
+               Long user_level = Usermanagement.getInstance().getUserLevelByID(
+                               webservice_users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(user_level)) {
+
+                       log.debug("room_id " + room_id);
+
+ FileExplorerObject fileExplorerObject = new FileExplorerObject();
+
+                // Home File List
+                FileExplorerItem[] fList = FileExplorerItemDaoImpl
+                        .getInstance()
+                        .getFileExplorerItemsByOwner(owner_id, 0L);
+
+                long homeFileSize = 0;
+
+                for (FileExplorerItem homeChildExplorerItem : fList) {
+                    log.debug("FileExplorerItem fList "
+                            + homeChildExplorerItem.getFileName());
+                    homeFileSize += FileUtils.getInstance()
+                            .getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+                }
+
+                fileExplorerObject.setUserHome(fList);
+                fileExplorerObject.setUserHomeSize(homeFileSize);
+
+                // Public File List
+                FileExplorerItem[] rList = FileExplorerItemDaoImpl
+ .getInstance().getFileExplorerItemsByRoom(room_id, 0L);
+
+                long roomFileSize = 0;
+
+                for (FileExplorerItem homeChildExplorerItem : rList) {
+                    log.debug("FileExplorerItem rList "
+                            + homeChildExplorerItem.getFileName());
+                    roomFileSize += FileUtils.getInstance()
+                            .getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+                }
+
+                fileExplorerObject.setRoomHome(rList);
+                fileExplorerObject.setRoomHomeSize(roomFileSize);
+
+                return fileExplorerObject;
+
+               } else {
+
+                   throw new Exception("not Authenticated");
+
+               }
+
+           } catch (Exception e) {
+               log.error("[getListOfFilesByAbsolutePath]", e);
+               return null;
+           }
+       }
+
+       public FileExplorerItem[] getFileExplorerByParent(String SID,
+ Long parentFileExplorerItemId, Long room_id, Boolean isOwner, Long owner_id) throws AxisFault {
+
+               try {
+
+ Long webservice_users_id = Sessionmanagement.getInstance().checkSession(SID);
+               Long user_level = Usermanagement.getInstance().getUserLevelByID(
+                               webservice_users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(user_level)) {
+
+                log.debug("parentFileExplorerItemId "
+                        + parentFileExplorerItemId);
+
+                if (parentFileExplorerItemId == 0) {
+                    if (isOwner) {
+                        return FileExplorerItemDaoImpl.getInstance()
+                                .getFileExplorerItemsByOwner(owner_id,
+                                        parentFileExplorerItemId);
+                    } else {
+                        return FileExplorerItemDaoImpl.getInstance()
+                                .getFileExplorerItemsByRoom(room_id,
+                                        parentFileExplorerItemId);
+                    }
+                } else {
+                    return FileExplorerItemDaoImpl.getInstance()
+                            .getFileExplorerItemsByParent(
+                                    parentFileExplorerItemId);
+                }
+
+            }
+        } catch (Exception err) {
+            log.error("[getFileExplorerByParent] ", err);
+        }
+        return null;
+    }
+
+       public Long updateFileOrFolderName(String SID, Long fileExplorerItemId,
+            String fileName) throws AxisFault {
+
+               try {
+
+ Long webservice_users_id = Sessionmanagement.getInstance().checkSession(SID);
+               Long user_level = Usermanagement.getInstance().getUserLevelByID(
+                               webservice_users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(user_level)) {
+
+                log.debug("deleteFileOrFolder " + fileExplorerItemId);
+
+ FileExplorerItemDaoImpl.getInstance().updateFileOrFolderName(
+                        fileExplorerItemId, fileName);
+
+            }
+        } catch (Exception err) {
+            log.error("[updateFileOrFolderName] ", err);
+        }
+        return null;
+    }
+
+       public Long moveFile(String SID, Long fileExplorerItemId,
+ Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+            Boolean moveToHome, Long owner_id) throws AxisFault {
+
+               try {
+
+ Long webservice_users_id = Sessionmanagement.getInstance().checkSession(SID);
+               Long user_level = Usermanagement.getInstance().getUserLevelByID(
+                               webservice_users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(user_level)) {
+
+                log.debug("deleteFileOrFolder " + fileExplorerItemId);
+
+                FileExplorerItemDaoImpl.getInstance().moveFile(
+                        fileExplorerItemId, newParentFileExplorerItemId,
+                        room_id, isOwner, owner_id);
+
+                FileExplorerItem fileExplorerItem = FileExplorerItemDaoImpl
+                        .getInstance().getFileExplorerItemsById(
+                                fileExplorerItemId);
+
+                if (moveToHome) {
+ // set this file and all subfiles and folders the ownerId + FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem,
+                                       owner_id, null);
+
+                } else {
+ // set this file and all subfiles and folders the room_id + FileUtils.getInstance().setFileToOwnerOrRoomByParent(fileExplorerItem, null,
+                            room_id);
+
+                }
+
+            }
+        } catch (Exception err) {
+            log.error("[moveFile] ", err);
+        }
+        return null;
+    }

        public TestObject getTestObject(){
                TestObject textO = new TestObject();

--
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.

Reply via email to