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.