Revision: 3866
Author:   seba.wagner
Date:     Sun Jun 26 04:31:31 2011
Log:      Calls to manage files and folders from external
http://code.google.com/p/openmeetings/source/detail?r=3866

Modified:
/trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java

=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java Sun Jun 26 03:21:14 2011 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/file/dao/FileExplorerItemDaoImpl.java Sun Jun 26 04:31:31 2011
@@ -256,6 +256,36 @@
         }
         return null;
     }
+
+ public FileExplorerItem getFileExplorerItemsByExternalIdAndType(Long externalFileId, String externalType) {
+        log.debug(".getFileExplorerItemsByExternalIdAndType() started");
+
+        try {
+
+            String hql = "SELECT c FROM FileExplorerItem c "
+                    + "WHERE c.externalFileId = :externalFileId " +
+                       "AND c.externalType LIKE :externalType";
+
+            Object idf = HibernateUtil.createSession();
+            Session session = HibernateUtil.getSession();
+            Transaction tx = session.beginTransaction();
+            Query query = session.createQuery(hql);
+            query.setLong("externalFileId", externalFileId);
+            query.setString("externalType", externalType);
+
+            FileExplorerItem fileExplorerList = (FileExplorerItem) query
+                    .uniqueResult();
+            tx.commit();
+            HibernateUtil.closeSession(idf);
+
+            return fileExplorerList;
+        } catch (HibernateException ex) {
+            log.error("[getFileExplorerItemsByExternalIdAndType]: ", ex);
+        } catch (Exception ex2) {
+            log.error("[getFileExplorerItemsByExternalIdAndType]: ", ex2);
+        }
+        return null;
+    }

     public List<FileExplorerItem> getFileExplorerItems() {
         log.debug(".getFileExplorerItemsById() started");
@@ -311,6 +341,36 @@
             log.error("[deleteFileExplorerItem]: ", ex2);
         }
     }
+
+ public void deleteFileExplorerItemByExternalIdAndType(Long externalFilesid, String externalType) {
+        log.debug(".deleteFileExplorerItemByExternalIdAndType() started");
+
+        try {
+
+            FileExplorerItem fId = this
+ .getFileExplorerItemsByExternalIdAndType(externalFilesid, externalType);
+
+            if (fId == null) {
+ throw new Exception("externalFilesid: "+externalFilesid+" and externalType: "+externalType+" Not found");
+            }
+
+            fId.setDeleted("true");
+            fId.setUpdated(new Date());
+
+            Object idf = HibernateUtil.createSession();
+            Session session = HibernateUtil.getSession();
+            Transaction tx = session.beginTransaction();
+            session.update(fId);
+            session.flush();
+            tx.commit();
+            HibernateUtil.closeSession(idf);
+
+        } catch (HibernateException ex) {
+            log.error("[deleteFileExplorerItemByExternalIdAndType]: ", ex);
+        } catch (Exception ex2) {
+ log.error("[deleteFileExplorerItemByExternalIdAndType]: ", ex2);
+        }
+    }

     /**
      * @param fileExplorerItemId
=======================================
--- /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java Sun Jun 26 03:31:36 2011 +++ /trunk/singlewebapp/src/fileservice/org/openmeetings/axis/services/FileService.java Sun Jun 26 04:31:31 2011
@@ -223,6 +223,193 @@
                }
                return null;
        }
+
+       /**
+        *
+        * to add a folder to the private drive, set parentFileExplorerItemId = 0
+ * and isOwner to 1/true and externalUserId/externalUserType to a valid user
+        *
+        * @param SID
+        * @param externalUserId
+        * @param externalUserType
+        * @param parentFileExplorerItemId
+        * @param fileName
+        * @param room_id
+        * @param isOwner
+        * @param externalFilesid
+        * @param externalType
+        * @return
+        * @throws AxisFault
+        */
+ public Long addFolderByExternalUserIdAndType(String SID, Long externalUserId, String externalUserType, + Long parentFileExplorerItemId, String fileName, Long room_id, Boolean isOwner,
+                       Long externalFilesid, String externalType) throws 
AxisFault{
+               try {
+
+                       Long users_id = 
Sessionmanagement.getInstance().checkSession(SID);
+ Long User_level = Usermanagement.getInstance().getUserLevelByID(users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(User_level)){
+
+ Users userExternal = Usermanagement.getInstance().getUserByExternalIdAndType(externalUserId, externalUserType);
+
+                               Long userId = userExternal.getUser_id();
+
+                       log.debug("addFolder " + parentFileExplorerItemId);
+
+                       if (parentFileExplorerItemId == 0 && isOwner) {
+ // users_id (OwnerID) => only set if its directly root in
+                    // Owner Directory,
+                    // other Folders and Files maybe are also in a Home
+                    // directory
+                    // but just because their parent is
+ return FileExplorerItemDaoImpl.getInstance().add(fileName, + "", parentFileExplorerItemId, users_id, room_id,
+                            userId, true, // isFolder
+                            false, // isImage
+                            false, // isPresentation
+                            "", // WML Path
+                            false, // isStoredWML file
+                            false, // isXmlFile
+                            externalFilesid, externalType);
+                } else {
+ return FileExplorerItemDaoImpl.getInstance().add(fileName,
+                            "", parentFileExplorerItemId, null, room_id,
+                            userId, true, // isFolder
+                            false, // isImage
+                            false, // isPresentation
+                            "", // WML Path
+                            false, // isStoredWML file
+                            false, // isXmlFile
+                            externalFilesid, externalType);
+                }
+               }
+
+               } catch (Exception err) {
+                       log.error("[addFolderByExternalUserIdAndType]",err);
+               }
+               return null;
+       }
+
+       /**
+        *
+        * to add a folder to the private drive, set parentFileExplorerItemId = 0
+        * and isOwner to 1/true and userId to a valid user
+        *
+        * @param SID
+        * @param userId
+        * @param parentFileExplorerItemId
+        * @param fileName
+        * @param room_id
+        * @param isOwner
+        * @param externalFilesid
+        * @param externalType
+        * @return
+        * @throws AxisFault
+        */
+       public Long addFolderByUserId(String SID, Long userId,
+ Long parentFileExplorerItemId, String fileName, Long room_id, Boolean isOwner,
+                       Long externalFilesid, String externalType) throws 
AxisFault{
+               try {
+
+                       Long users_id = 
Sessionmanagement.getInstance().checkSession(SID);
+ Long User_level = Usermanagement.getInstance().getUserLevelByID(users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(User_level)){
+
+                       log.debug("addFolder " + parentFileExplorerItemId);
+
+                if (parentFileExplorerItemId == 0 && isOwner) {
+ // users_id (OwnerID) => only set if its directly root in
+                    // Owner Directory,
+                    // other Folders and Files maybe are also in a Home
+                    // directory
+                    // but just because their parent is
+ return FileExplorerItemDaoImpl.getInstance().add(fileName, + "", parentFileExplorerItemId, users_id, room_id,
+                            userId, true, // isFolder
+                            false, // isImage
+                            false, // isPresentation
+                            "", // WML Path
+                            false, // isStoredWML file
+                            false, // isXmlFile
+                            externalFilesid, externalType);
+                } else {
+ return FileExplorerItemDaoImpl.getInstance().add(fileName,
+                            "", parentFileExplorerItemId, null, room_id,
+                            userId, true, // isFolder
+                            false, // isImage
+                            false, // isPresentation
+                            "", // WML Path
+                            false, // isStoredWML file
+                            false, // isXmlFile
+                            externalFilesid, externalType);
+                }
+               }
+
+               } catch (Exception err) {
+                       log.error("[addFolderByUserId]",err);
+               }
+               return null;
+       }
+
+       /**
+        *
+        * deletes a file by its external Id and type
+        *
+        * @param SID
+        * @param externalFilesid
+        * @param externalType
+        * @return
+        */
+ public Long deleteFileOrFolderByExternalIdAndType(String SID, Long externalFilesid, String externalType){
+
+               try {
+
+                       Long users_id = 
Sessionmanagement.getInstance().checkSession(SID);
+ Long User_level = Usermanagement.getInstance().getUserLevelByID(users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(User_level)){
+
+ FileExplorerItemDaoImpl.getInstance().deleteFileExplorerItemByExternalIdAndType(
+                                       externalFilesid, externalType);
+
+               }
+
+               } catch (Exception err) {
+                       
log.error("[deleteFileOrFolderByExternalIdAndType]",err);
+               }
+               return null;
+       }
+
+       /**
+        *
+        * deletes files or folders based on it id
+        *
+        * @param SID
+        * @param fileExplorerItemId
+        * @return
+        */
+       public Long deleteFileOrFolder(String SID, Long fileExplorerItemId){
+
+               try {
+
+                       Long users_id = 
Sessionmanagement.getInstance().checkSession(SID);
+ Long User_level = Usermanagement.getInstance().getUserLevelByID(users_id);
+
+ if (AuthLevelmanagement.getInstance().checkWebServiceLevel(User_level)){
+
+                       
FileExplorerItemDaoImpl.getInstance().deleteFileExplorerItem(
+                        fileExplorerItemId);
+
+               }
+
+               } catch (Exception err) {
+                       log.error("[deleteFileOrFolder]",err);
+               }
+               return null;
+       }
+

        /**
         * this Method does not work yet,

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