You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/06/27 19:56:41 UTC

svn commit: r1606165 - in /openmeetings/trunk/singlewebapp: openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/ openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/ openmeetings-db/src/main/java/org/apache/openmeetings...

Author: solomax
Date: Fri Jun 27 17:56:41 2014
New Revision: 1606165

URL: http://svn.apache.org/r1606165
Log:
[OPENMEETINGS-1030] file tree is added to room

Modified:
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/UserContact.java
    openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
    openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java Fri Jun 27 17:56:41 2014
@@ -29,88 +29,72 @@ import org.apache.openmeetings.db.dao.fi
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class FileUtils {
-	private static final Logger log = Red5LoggerFactory.getLogger(
-			FileProcessor.class, OpenmeetingsVariables.webAppRootKey);
+	private static final Logger log = Red5LoggerFactory.getLogger(FileProcessor.class, webAppRootKey);
 
 	@Autowired
 	private FileExplorerItemDao fileExplorerItemDao;
 
-	public long getSizeOfDirectoryAndSubs(FileExplorerItem fileExplorerItem) {
+	public long getSizeOfDirectoryAndSubs(FileExplorerItem file) {
 		try {
-
 			long fileSize = 0;
 
 			File base = OmFileHelper.getUploadFilesDir();
-			if (Type.Image == fileExplorerItem.getType()) {
+			if (Type.Image == file.getType()) {
 
-				File tFile = new File(base, fileExplorerItem.getFileHash());
+				File tFile = new File(base, file.getFileHash());
 				if (tFile.exists()) {
 					fileSize += tFile.length();
 				}
 
-				File thumbFile = new File(base, thumbImagePrefix + fileExplorerItem.getFileHash());
+				File thumbFile = new File(base, thumbImagePrefix + file.getFileHash());
 				if (thumbFile.exists()) {
 					fileSize += thumbFile.length();
 				}
-
 			}
 
-			if (Type.Presentation == fileExplorerItem.getType()) {
-
-				File tFolder = new File(base, fileExplorerItem.getFileHash());
+			if (Type.Presentation == file.getType()) {
+				File tFolder = new File(base, file.getFileHash());
 
 				if (tFolder.exists()) {
 					fileSize += OmFileHelper.getSize(tFolder);
 				}
-
 			}
 
 			log.debug("calling [1] FileExplorerItemDaoImpl.updateFileOrFolder()");
-			fileExplorerItemDao.update(fileExplorerItem);
+			fileExplorerItemDao.update(file);
 
-			FileExplorerItem[] childElements = fileExplorerItemDao
-					.getFileExplorerItemsByParent(fileExplorerItem.getId());
+			FileExplorerItem[] childElements = fileExplorerItemDao.getByParent(file.getId()).toArray(new FileExplorerItem[0]);
 
 			for (FileExplorerItem childExplorerItem : childElements) {
-
 				fileSize += this.getSizeOfDirectoryAndSubs(childExplorerItem);
-
 			}
 
 			return fileSize;
-
 		} catch (Exception err) {
 			log.error("[getSizeOfDirectoryAndSubs] ", err);
 		}
 		return 0;
 	}
 
-	public void setFileToOwnerOrRoomByParent(FileExplorerItem fileExplorerItem,
-			Long users_id, Long room_id) {
+	public void setFileToOwnerOrRoomByParent(FileExplorerItem file, Long users_id, Long room_id) {
 		try {
-
-			fileExplorerItem.setOwnerId(users_id);
-			fileExplorerItem.setRoomId(room_id);
+			file.setOwnerId(users_id);
+			file.setRoomId(room_id);
 
 			log.debug("calling [2] FileExplorerItemDaoImpl.updateFileOrFolder()");
-			fileExplorerItemDao.update(fileExplorerItem);
+			fileExplorerItemDao.update(file);
 
-			FileExplorerItem[] childElements = fileExplorerItemDao
-					.getFileExplorerItemsByParent(fileExplorerItem.getId());
+			FileExplorerItem[] childElements = fileExplorerItemDao.getByParent(file.getId()).toArray(new FileExplorerItem[0]);
 
 			for (FileExplorerItem childExplorerItem : childElements) {
-
-				this.setFileToOwnerOrRoomByParent(childExplorerItem, users_id,
-						room_id);
-
+				setFileToOwnerOrRoomByParent(childExplorerItem, users_id, room_id);
 			}
-
 		} catch (Exception err) {
 			log.error("[setFileToOwnerOrRoomByParent] ", err);
 		}

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java Fri Jun 27 17:56:41 2014
@@ -109,8 +109,7 @@ public class FileExplorerItemDao {
         return null;
     }
 
-	public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(
-            Long room_id, Long ownerId) {
+	public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(Long room_id, Long ownerId) {
         log.debug(".getFileExplorerItemsByRoomAndOwner() started");
         try {
 			TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByRoomAndOwner", FileExplorerItem.class);
@@ -126,54 +125,28 @@ public class FileExplorerItemDao {
         return null;
     }
 
-    public FileExplorerItem[] getFileExplorerItemsByRoom(Long room_id,
-            Long parentFileExplorerItemId) {
+    public List<FileExplorerItem> getByRoom(Long room_id) {
         log.debug("getFileExplorerItemsByRoom room_id :: "+room_id);
-        try {
-			TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByRoom", FileExplorerItem.class);
-			query.setParameter("roomId",room_id);
-			query.setParameter("parentItemId", parentFileExplorerItemId);
-			
-	        FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
-			
-			return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerRootItemsByRoom]: ", ex2);
-        }
-        return null;
+		TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByRoom", FileExplorerItem.class);
+		query.setParameter("roomId",room_id);
+		
+		return query.getResultList();
     }
 
-    public FileExplorerItem[] getFileExplorerItemsByOwner(Long ownerId,
-            Long parentFileExplorerItemId) {
+    public List<FileExplorerItem> getByOwner(Long ownerId) {
         log.debug(".getFileExplorerItemsByOwner() started");
-        try {
-			TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByOwner", FileExplorerItem.class);
-			query.setParameter("ownerId",ownerId);
-			query.setParameter("parentItemId", parentFileExplorerItemId);
-			
-            FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerRootItemsByOwner]: ", ex2);
-        }
-        return null;
+		TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByOwner", FileExplorerItem.class);
+		query.setParameter("ownerId",ownerId);
+		
+        return query.getResultList();
     }
 
-    public FileExplorerItem[] getFileExplorerItemsByParent(
-            Long parentFileExplorerItemId) {
+    public List<FileExplorerItem> getByParent(Long parentId) {
         log.debug(".getFileExplorerItemsByParent() started");
-        try {
-			TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByParent", FileExplorerItem.class);
-			query.setParameter("parentItemId", parentFileExplorerItemId);
-			
-            FileExplorerItem[] fileExplorerList = query.getResultList().toArray(new FileExplorerItem[0]);
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerRootItemsByOwner]: ", ex2);
-        }
-        return null;
+		TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFilesByParent", FileExplorerItem.class);
+		query.setParameter("parentItemId", parentId);
+		
+        return query.getResultList();
     }
 
     public FileExplorerItem getFileExplorerItemsByHash(String hash) {
@@ -195,11 +168,11 @@ public class FileExplorerItemDao {
         return null;
     }
     
-    public FileExplorerItem get(Long fileExplorerItemId) {
+    public FileExplorerItem get(Long fileId) {
         try {
 
 			TypedQuery<FileExplorerItem> query = em.createNamedQuery("getFileById", FileExplorerItem.class);
-			query.setParameter("id", fileExplorerItemId);
+			query.setParameter("id", fileId);
 			
 			FileExplorerItem fileExplorerList = null;
 			try {
@@ -251,11 +224,11 @@ public class FileExplorerItemDao {
     }    
 
     /**
-     * @param fileExplorerItemId
+     * @param fileId
      */
-    public void delete(Long fileExplorerItemId) {
+    public void delete(Long fileId) {
         log.debug(".delete() started");
-        delete(get(fileExplorerItemId));
+        delete(get(fileId));
     }
     
     public void delete(FileExplorerItem f) {
@@ -286,15 +259,15 @@ public class FileExplorerItemDao {
     }
 
     /**
-     * @param fileExplorerItemId
+     * @param fileId
      * @param fileName
      */
-    public void updateFileOrFolderName(Long fileExplorerItemId, String fileName) {
+    public void updateFileOrFolderName(Long fileId, String fileName) {
         log.debug(".updateFileOrFolderName() started");
 
         try {
 
-            FileExplorerItem fId = get(fileExplorerItemId);
+            FileExplorerItem fId = get(fileId);
 
             fId.setFileName(fileName);
             fId.setUpdated(new Date());
@@ -319,21 +292,19 @@ public class FileExplorerItemDao {
     }
 
     /**
-     * @param fileExplorerItemId
+     * @param fileId
      * @param newParentFileExplorerItemId
      * @param isOwner
      */
-    public void moveFile(Long fileExplorerItemId,
-            Long parentFileExplorerItemId, Long room_id, Boolean isOwner,
-            Long ownerId) {
+    public void moveFile(Long fileId, Long parentId, Long room_id, Boolean isOwner, Long ownerId) {
         log.debug(".moveFile() started");
         try {
 
-            FileExplorerItem fId = get(fileExplorerItemId);
+            FileExplorerItem fId = get(fileId);
 
-            fId.setParentItemId(parentFileExplorerItemId);
+            fId.setParentItemId(parentId);
 
-            if (parentFileExplorerItemId == 0) {
+            if (parentId == 0) {
                 if (isOwner) {
                     // move to personal Folder
                     fId.setOwnerId(ownerId);

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java Fri Jun 27 17:56:41 2014
@@ -38,9 +38,9 @@ import org.simpleframework.xml.Root;
 	, @NamedQuery(name = "getFilesByRoomAndOwner", query = "SELECT c FROM FileExplorerItem c WHERE c.deleted = false "
 			+ " AND c.roomId = :roomId AND c.ownerId = :ownerId ORDER BY c.type ASC, c.fileName ")
 	, @NamedQuery(name = "getFilesByRoom", query = "SELECT c FROM FileExplorerItem c WHERE c.deleted = false AND c.roomId = :roomId " +
-			"AND c.ownerId IS NULL AND c.parentItemId = :parentItemId ORDER BY c.type ASC, c.fileName ")
+			"AND c.ownerId IS NULL AND c.parentItemId IS NULL ORDER BY c.type ASC, c.fileName ")
 	, @NamedQuery(name = "getFilesByOwner", query = "SELECT c FROM FileExplorerItem c WHERE c.deleted = false AND c.ownerId = :ownerId "
-			+ "AND c.parentItemId = :parentItemId ORDER BY c.type ASC, c.fileName ")
+			+ "AND c.parentItemId IS NULL ORDER BY c.type ASC, c.fileName ")
 	, @NamedQuery(name = "getFilesByParent", query = "SELECT c FROM FileExplorerItem c WHERE c.deleted = false "
 			+ "AND c.parentItemId = :parentItemId ORDER BY c.type ASC, c.fileName ")
 	, @NamedQuery(name = "getFileExternal", query = "SELECT c FROM FileExplorerItem c WHERE c.externalFileId = :externalFileId "

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java Fri Jun 27 17:56:41 2014
@@ -52,7 +52,7 @@ public abstract class FileItem implement
 	private Long parentItemId;
 
 	@Column(name = "room_id")
-	@Element(data = true, required = false)
+	@Element(data = true, required = false, name = "room_id")
 	private Long roomId;
 
 	// OwnerID => only set if its directly root in Owner Directory, other Folders and Files

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java Fri Jun 27 17:56:41 2014
@@ -87,7 +87,7 @@ public class Room implements IDataProvid
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)
 	@Column(name = "id")
-	@Element(data = true, required=false)
+	@Element(data = true, required = false, name = "rooms_id")
 	private Long id;
 
 	@Column(name = "name")

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/UserContact.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/UserContact.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/UserContact.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/UserContact.java Fri Jun 27 17:56:41 2014
@@ -78,7 +78,7 @@ public class UserContact implements Seri
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)
 	@Column(name="id")
-	@Element(data=true)
+	@Element(data = true, name = "userContactId")
 	private long userContactId;
 	
 	@ManyToOne(fetch = FetchType.EAGER)

Modified: openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java Fri Jun 27 17:56:41 2014
@@ -602,6 +602,9 @@ public class BackupImport {
 				if (file.getOwnerId() != null) {
 					file.setOwnerId(usersMap.get(file.getOwnerId()));
 				}
+				if (file.getParentItemId() != null && file.getParentItemId() <= 0L) {
+					file.setParentItemId(null);
+				}
 				fileExplorerItemDao.addFileExplorerItem(file);
 			}
 		}

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java Fri Jun 27 17:56:41 2014
@@ -33,6 +33,7 @@ import org.apache.wicket.model.IModel;
 
 public class FileItemPanel extends FolderPanel {
 	private static final long serialVersionUID = 1L;
+	private final WebMarkupContainer errors = new WebMarkupContainer("errors");
 
 	public FileItemPanel(String id, final IModel<? extends FileItem> model, final ConvertingErrorsDialog errorsDialog) {
 		super(id, model);
@@ -40,7 +41,7 @@ public class FileItemPanel extends Folde
 			FlvRecording r = (FlvRecording)model.getObject();
 			long errorCount = getBean(FlvRecordingLogDao.class).countErrors(r.getId());
 			boolean visible = errorCount != 0 || (Status.PROCESSING != r.getStatus() && !isRecordingExists(r.getFileHash() + MP4_EXTENSION));
-			item.add(new WebMarkupContainer("errors").add(new AjaxEventBehavior("click") {
+			errors.add(new AjaxEventBehavior("click") {
 				private static final long serialVersionUID = 1L;
 	
 				@Override
@@ -48,7 +49,10 @@ public class FileItemPanel extends Folde
 					errorsDialog.setDefaultModel(model);
 					errorsDialog.open(target);
 				}
-			}).setVisible(visible));
+			}).setVisible(visible);
+		} else {
+			errors.setVisible(false);
 		}
+		item.add(errors);
 	}
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Fri Jun 27 17:56:41 2014
@@ -89,7 +89,7 @@ public class FileItemTree<T extends File
 							FileItem p = lm.getObject();
 							long pid = p.getId();
 							T f = transfer.getData();
-							f.setParentItemId(pid > 0 ? pid : null);
+							f.setParentItemId(pid > 0 ? pid : null); //FIXME need to disable drop to self
 							f.setOwnerId(p.getOwnerId());
 							f.setRoomId(p.getRoomId());
 							if (f instanceof FlvRecording) {
@@ -108,7 +108,7 @@ public class FileItemTree<T extends File
 			
 			@Override
 			protected boolean isSelected() {
-				return getModelObject().getId() == treePanel.rm.getObject().getId();
+				return getModelObject().getId() == treePanel.selectedFile.getObject().getId();
 			}
 			
 			@Override
@@ -121,7 +121,7 @@ public class FileItemTree<T extends File
 				T r = getModelObject();
 				treePanel.selected.resetSelected(target);
 				selectedItem.setObject(r);
-				treePanel.rm.setObject(r);
+				treePanel.selectedFile.setObject(r);
 				treePanel.selected = FileItemTree.this;
 				if (Type.Folder == r.getType()) {
 					if (getState(r) == State.COLLAPSED) {

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java Fri Jun 27 17:56:41 2014
@@ -19,11 +19,15 @@
 package org.apache.openmeetings.web.common.tree;
 
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.Date;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.FlvRecordingDao;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.db.entity.record.FlvRecording;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.AddFolderDialog;
@@ -50,7 +54,7 @@ public abstract class FileTreePanel exte
 	private static final long serialVersionUID = 1L;
 	final WebMarkupContainer trees = new WebMarkupContainer("tree-container");
 	private final WebMarkupContainer sizes = new WebMarkupContainer("sizes");
-	protected final IModel<FileItem> rm = new CompoundPropertyModel<FileItem>((FileItem)null);
+	protected final IModel<FileItem> selectedFile = new CompoundPropertyModel<FileItem>((FileItem)null);
 	protected final IModel<String> homeSize = Model.of((String)null);
 	protected final IModel<String> publicSize = Model.of((String)null);
 	final ConvertingErrorsDialog errorsDialog = new ConvertingErrorsDialog("errors", Model.of((FlvRecording)null));
@@ -60,7 +64,7 @@ public abstract class FileTreePanel exte
 	public FileTreePanel(String id) {
 		super(id);
 		defineTrees();
-		rm.getObject().setId(Long.MIN_VALUE);
+		selectedFile.getObject().setId(Long.MIN_VALUE);
 		final AddFolderDialog addFolder = new AddFolderDialog("addFolder", WebSession.getString(712)) {
 			private static final long serialVersionUID = 1L;
 
@@ -92,16 +96,7 @@ public abstract class FileTreePanel exte
 
 			@Override
 			public void onClick(AjaxRequestTarget target) {
-				FileItem f = rm.getObject();
-				long id = f.getId();
-				if (id > 0) {
-					if (f instanceof FlvRecording) {
-						getBean(FlvRecordingDao.class).delete((FlvRecording)f);
-					} else {
-						getBean(FileExplorerItemDao.class).delete((FileExplorerItem)f);
-					}
-				}
-				target.add(trees); //FIXME add correct refresh
+				delete(selectedFile.getObject(), target);
 			}
 		};
 		trash.add(new WebMarkupContainer("drop-center").setOutputMarkupId(true)).add(new DropTarget(Operation.MOVE) {
@@ -109,9 +104,8 @@ public abstract class FileTreePanel exte
 
 			@Override
 			public void onDrop(AjaxRequestTarget target, Transfer transfer, Location location) throws Reject {
-				FlvRecording r = transfer.getData();
-				getBean(FlvRecordingDao.class).delete(r);
-				target.add(trees); //FIXME add correct refresh
+				FileItem f = transfer.getData();
+				delete(f, target);
 			}
 		}.dropCenter("span"));
 		add(trash/*.add(new WindowsTheme())*/); //TODO check theme here
@@ -129,6 +123,34 @@ public abstract class FileTreePanel exte
 		add(errorsDialog);
 	}
 	
+	void delete(FileItem f, AjaxRequestTarget target) {
+		long id = f.getId();
+		if (id > 0) {
+			if (f instanceof FlvRecording) {
+				getBean(FlvRecordingDao.class).delete((FlvRecording)f);
+			} else {
+				getBean(FileExplorerItemDao.class).delete((FileExplorerItem)f);
+			}
+		}
+		target.add(trees); //FIXME add correct refresh
+	}
+	
+	public void createRecordingFolder(String name) {
+		FlvRecording f = new FlvRecording();
+		f.setFileName(name);
+		f.setInsertedBy(getUserId());
+		f.setInserted(new Date());
+		f.setType(Type.Folder);;
+		FlvRecording p = (FlvRecording)selectedFile.getObject();
+		long parentId = p.getId();
+		if (Type.Folder == p.getType()) {
+			f.setParentItemId(parentId);
+		}
+		f.setOwnerId(p.getOwnerId());
+		f.setOrganization_id(p.getOrganization_id());
+		getBean(FlvRecordingDao.class).update(f);
+	}
+	
 	public abstract void defineTrees();
 	
 	public abstract void update(AjaxRequestTarget target, FileItem f);

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html Fri Jun 27 17:56:41 2014
@@ -28,7 +28,7 @@
 				<li><a wicket:id="flink" href="#ftab"><wicket:ommessage key="614"/></a></li>
 			</ul>
 			<div id="utab"><div class="user list"></div></div>
-			<div wicket:id="ftab" id="ftab"><div class="file list"></div></div>
+			<div wicket:id="ftab" id="ftab"><div class="file list" wicket:id="tree"></div></div>
 		</div>
 	</div>
 	<div class="room wb area">

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Fri Jun 27 17:56:41 2014
@@ -24,15 +24,26 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.addUserToRoom;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getRoomUsers;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
 
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
+import org.apache.openmeetings.db.entity.record.FlvRecording;
 import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.Organisation;
+import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.web.app.Application;
@@ -42,6 +53,10 @@ import org.apache.openmeetings.web.commo
 import org.apache.openmeetings.web.common.menu.MenuItem;
 import org.apache.openmeetings.web.common.menu.MenuPanel;
 import org.apache.openmeetings.web.common.menu.RoomMenuItem;
+import org.apache.openmeetings.web.common.tree.FileItemTree;
+import org.apache.openmeetings.web.common.tree.FileTreePanel;
+import org.apache.openmeetings.web.common.tree.MyRecordingTreeProvider;
+import org.apache.openmeetings.web.common.tree.PublicRecordingTreeProvider;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -50,11 +65,14 @@ import org.apache.wicket.ajax.json.JSONE
 import org.apache.wicket.ajax.json.JSONObject;
 import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
 import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.protocol.ws.IWebSocketSettings;
 import org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry;
 import org.apache.wicket.protocol.ws.api.registry.PageIdKey;
@@ -95,9 +113,13 @@ public class RoomPanel extends BasePanel
 	};
 	
 	public RoomPanel(String id, long _roomId) {
+		this(id, getBean(RoomDao.class).get(_roomId));
+		
+	}
+	
+	public RoomPanel(String id, Room r) {
 		super(id);
-		this.roomId = _roomId;
-		Room r = getBean(RoomDao.class).get(roomId);
+		this.roomId = r.getId();
 		add(new MenuPanel("roomMenu", getMenu()).setVisible(!r.getHideTopBar()));
 		WebMarkupContainer wb = new WebMarkupContainer("whiteboard");
 		add(wb.setOutputMarkupId(true));
@@ -105,7 +127,55 @@ public class RoomPanel extends BasePanel
 		add(aab, AttributeAppender.append("style", "height: 100%;"));
 		boolean showFiles = !r.getHideFilesExplorer();
 		add(new WebMarkupContainer("flink").setVisible(showFiles));
-		add(new WebMarkupContainer("ftab").setVisible(showFiles));
+		add(new WebMarkupContainer("ftab").add(new FileTreePanel("tree") {
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			public void updateSizes() {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void update(AjaxRequestTarget target, FileItem f) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void defineTrees() {
+				FileExplorerItem f = new FileExplorerItem();
+				f.setOwnerId(getUserId());
+				selectedFile.setObject(f);
+				treesView.add(selected = new FileItemTree<FileExplorerItem>(treesView.newChildId(), this, new FilesTreeProvider(null)));
+				treesView.add(new FileItemTree<FileExplorerItem>(treesView.newChildId(), this, new FilesTreeProvider(roomId)));
+				treesView.add(new FileItemTree<FlvRecording>(treesView.newChildId(), this, new MyRecordingTreeProvider()));
+				treesView.add(new FileItemTree<FlvRecording>(treesView.newChildId(), this, new PublicRecordingTreeProvider(null, null)));
+				for (Organisation_Users ou : getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {
+					Organisation o = ou.getOrganisation();
+					treesView.add(new FileItemTree<FlvRecording>(treesView.newChildId(), this, new PublicRecordingTreeProvider(o.getId(), o.getName())));
+				}
+			}
+			
+			@Override
+			public void createFolder(String name) {
+				if (selectedFile.getObject() instanceof FlvRecording) {
+					createRecordingFolder(name);
+				} else {
+					FileExplorerItem f = new FileExplorerItem();
+					f.setFileName(name);
+					f.setInsertedBy(getUserId());
+					f.setInserted(new Date());
+					f.setType(Type.Folder);;
+					FileItem p = selectedFile.getObject();
+					long parentId = p.getId();
+					f.setParentItemId(Type.Folder == p.getType() && parentId > 0 ? parentId : null);
+					f.setOwnerId(p.getOwnerId());
+					f.setRoomId(p.getRoomId());
+					getBean(FileExplorerItemDao.class).update(f);
+				}
+			}
+		}).setVisible(showFiles));
 		add(new JQueryBehavior(".room.sidebar.left .tabs", "tabs", new Options("active", showFiles && r.isFilesOpened() ? "ftab" : "utab")) {
 			private static final long serialVersionUID = 1L;
 
@@ -265,4 +335,54 @@ public class RoomPanel extends BasePanel
 		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(newResourceReference())));
 		response.render(OnDomReadyHeaderItem.forScript(aab.getCallbackScript()));
 	}
+
+	class FilesTreeProvider implements ITreeProvider<FileExplorerItem> {
+		private static final long serialVersionUID = 1L;
+		Long roomId = null;
+
+		FilesTreeProvider(Long roomId) {
+			this.roomId = roomId;
+		}
+		
+		public void detach() {
+			// TODO LDM should be used
+		}
+
+		public boolean hasChildren(FileExplorerItem node) {
+			return node.getId() <= 0 || Type.Folder == node.getType();
+		}
+
+		public Iterator<? extends FileExplorerItem> getChildren(FileExplorerItem node) {
+			FileExplorerItemDao dao = getBean(FileExplorerItemDao.class);
+			List<FileExplorerItem> list = null;
+			if (node.getId() == 0) {
+				list = dao.getByOwner(node.getOwnerId());
+			} else if (node.getId() < 0) {
+				list = dao.getByRoom(roomId);
+			} else {
+				list = dao.getByParent(node.getId());
+			}
+			return list.iterator();
+		}
+
+		public IModel<FileExplorerItem> model(FileExplorerItem object) {
+			// TODO LDM should be used
+			return Model.of(object);
+		}
+
+		@Override
+		public Iterator<? extends FileExplorerItem> getRoots() {
+			FileExplorerItem f = new FileExplorerItem();
+			f.setRoomId(roomId);
+			if (roomId == null) {
+				f.setId(0L);
+				f.setOwnerId(getUserId());
+				f.setFileName(WebSession.getString(706));
+			} else {
+				f.setId(-roomId);
+				f.setFileName(WebSession.getString(707));
+			}
+			return Arrays.asList(f).iterator();
+		}
+	}		
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java Fri Jun 27 17:56:41 2014
@@ -22,13 +22,10 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
-import java.util.Date;
-
 import org.apache.openmeetings.db.dao.record.FlvRecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.file.RecordingContainerData;
 import org.apache.openmeetings.db.entity.file.FileItem;
-import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.db.entity.record.FlvRecording;
 import org.apache.openmeetings.db.entity.user.Organisation;
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
@@ -51,7 +48,7 @@ public class RecordingsPanel extends Use
 
 			@Override
 			public void defineTrees() {
-				rm.setObject(new FlvRecording());
+				selectedFile.setObject(new FlvRecording());
 				treesView.add(selected = new FileItemTree<FlvRecording>(treesView.newChildId(), this, new MyRecordingTreeProvider()));
 				treesView.add(new FileItemTree<FlvRecording>(treesView.newChildId(), this, new PublicRecordingTreeProvider(null, null)));
 				for (Organisation_Users ou : getBean(UserDao.class).get(getUserId()).getOrganisation_users()) {
@@ -77,20 +74,7 @@ public class RecordingsPanel extends Use
 			
 			@Override
 			public void createFolder(String name) {
-				FlvRecording f = new FlvRecording();
-				f.setFileName(name);
-				f.setInsertedBy(getUserId());
-				f.setInserted(new Date());
-				f.setType(Type.Folder);;
-				FlvRecording p = (FlvRecording)rm.getObject();
-				long parentId = p.getId();
-				if (Type.Folder == p.getType()) {
-					f.setParentItemId(parentId);
-				}
-				f.setOwnerId(p.getOwnerId());
-				f.setOrganization_id(p.getOrganization_id());
-				getBean(FlvRecordingDao.class).update(f);
-				
+				createRecordingFolder(name);
 			}
 		});
 		add(video, info);

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java Fri Jun 27 17:56:41 2014
@@ -20,14 +20,14 @@ package org.apache.openmeetings.web.util
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANDING_ZONE;
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.getLanguage;
-import static org.apache.openmeetings.web.app.WebSession.getSid;
 import static org.apache.openmeetings.web.user.profile.SettingsPanel.EDIT_PROFILE_TAB_ID;
 import static org.apache.openmeetings.web.user.profile.SettingsPanel.MESSAGES_TAB_ID;
 
 import java.io.Serializable;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.web.admin.backup.BackupPanel;
 import org.apache.openmeetings.web.admin.configurations.ConfigsPanel;
 import org.apache.openmeetings.web.admin.connection.ConnectionsPanel;
@@ -45,7 +45,6 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.profile.SettingsPanel;
 import org.apache.openmeetings.web.user.record.RecordingsPanel;
 import org.apache.openmeetings.web.user.rooms.RoomsSelectorPanel;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 public class OmUrlFragment implements Serializable {
 	private static final long serialVersionUID = 1L;
@@ -259,15 +258,17 @@ public class OmUrlFragment implements Se
 				try {
 					Long roomId = Long.parseLong(type);
 					if (roomId != null) {
-						PageParameters pp = new PageParameters();
-						pp.add("wicketsid", getSid());
-						pp.add("wicketroomid", roomId);
-						pp.add("language", getLanguage());
-						basePanel = new RoomPanel(CHILD_ID, roomId);
+						Room r = getBean(RoomDao.class).get(roomId);
+						if (r != null) {
+							basePanel = new RoomPanel(CHILD_ID, r);
+						}
 					}
 				} catch(NumberFormatException ne) {
 					//skip it, bad roomid passed
 				}
+				if (basePanel == null) {
+					basePanel = new OmDashboardPanel(CHILD_ID);
+				}
 				break;
 			case rooms:
 				MenuParams params = MenuParams.publicTabButton;

Modified: openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1606165&r1=1606164&r2=1606165&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java Fri Jun 27 17:56:41 2014
@@ -84,44 +84,38 @@ public class FileWebService {
 	 * 
 	 * Import file from external source
 	 * 
-	 * to upload a file to a room-drive you specify: externalUserId, user if of
-	 * openmeetings user for which we upload the file room_id = openmeetings
-	 * room id isOwner = 0 parentFolderId = 0
-	 * 
-	 * to upload a file to a private-drive you specify: externalUserId, user if
-	 * of openmeetings user for which we upload the file room_id = openmeetings
-	 * room id isOwner = 1 parentFolderId = -2
+	 * to upload a file to a room-drive you specify: externalUserId, user if of openmeetings user for which we upload
+	 * the file room_id = openmeetings room id isOwner = 0 parentFolderId = 0
 	 * 
-	 * @param SID The logged in session id with minimum webservice level
+	 * to upload a file to a private-drive you specify: externalUserId, user if of openmeetings user for which we upload
+	 * the file room_id = openmeetings room id isOwner = 1 parentFolderId = -2
+	 * 
+	 * @param SID
+	 *            The logged in session id with minimum webservice level
 	 * @param externalUserId
-	 *            the external user id =&gt; If the file should goto a private
-	 *            section of any user, this number needs to be set
+	 *            the external user id =&gt; If the file should goto a private section of any user, this number needs to
+	 *            be set
 	 * @param externalFileId
 	 *            the external file-type to identify the file later
 	 * @param externalType
 	 *            the name of the external system
 	 * @param room_id
-	 *            the room Id, if the file goes to the private folder of an
-	 *            user, you can set a random number here
+	 *            the room Id, if the file goes to the private folder of an user, you can set a random number here
 	 * @param isOwner
-	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
-	 *            the private section
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto the private section
 	 * @param path
-	 *            http-path where we can grab the file from, the file has to be
-	 *            accessible from the OpenMeetings server
+	 *            http-path where we can grab the file from, the file has to be accessible from the OpenMeetings server
 	 * @param parentFolderId
-	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
-	 *            the file goto the private section
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section
 	 * @param fileSystemName
 	 *            the filename =&gt; Important WITH file extension!
-	 *            
+	 * 
 	 * @return - array of file import errors
 	 * @throws ServiceException
 	 */
-	public FileImportError[] importFile(String SID, String externalUserId,
-			Long externalFileId, String externalType, Long room_id,
-			boolean isOwner, String path, Long parentFolderId,
-			String fileSystemName) throws ServiceException {
+	public FileImportError[] importFile(String SID, String externalUserId, Long externalFileId, String externalType,
+			Long room_id, boolean isOwner, String path, Long parentFolderId, String fileSystemName)
+			throws ServiceException {
 		try {
 
 			Long users_id = sessiondataDao.checkSession(SID);
@@ -130,19 +124,15 @@ public class FileWebService {
 
 				URL url = new URL(path);
 				URLConnection uc = url.openConnection();
-				InputStream inputstream = new BufferedInputStream(
-						uc.getInputStream());
+				InputStream inputstream = new BufferedInputStream(uc.getInputStream());
 
 				User externalUser = userDao.getExternalUser(externalUserId, externalType);
 
 				LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
 				hs.put("user", externalUser);
 
-				ConverterProcessResultList returnError = fileProcessor
-						.processFile(externalUser.getId(), room_id,
-								isOwner, inputstream, parentFolderId,
-								fileSystemName,
-								externalFileId, externalType);
+				ConverterProcessResultList returnError = fileProcessor.processFile(externalUser.getId(), room_id,
+						isOwner, inputstream, parentFolderId, fileSystemName, externalFileId, externalType);
 
 				// Flash cannot read the response of an upload
 				// httpServletResponse.getWriter().print(returnError);
@@ -151,8 +141,8 @@ public class FileWebService {
 				hs.put("fileExplorerItem", fileExplorerItemDao.get(returnError.getFileExplorerItemId()));
 				hs.put("error", returnError.getLogMessage());
 				hs.put("fileName", returnError.getCompleteName());
-				
-				//FIXME: Send event to UI that there is a new file
+
+				// FIXME: Send event to UI that there is a new file
 
 				return returnError.convertToFileImportErrors();
 
@@ -166,45 +156,38 @@ public class FileWebService {
 	/**
 	 * Import file from external source
 	 * 
-	 * to upload a file to a room-drive you specify: internalUserId, user if of
-	 * openmeetings user for which we upload the file room_id = openmeetings
-	 * room id isOwner = 0 parentFolderId = 0
-	 * 
-	 * to upload a file to a private-drive you specify: internalUserId, user if
-	 * of openmeetings user for which we upload the file room_id = openmeetings
-	 * room id isOwner = 1 parentFolderId = -2
+	 * to upload a file to a room-drive you specify: internalUserId, user if of openmeetings user for which we upload
+	 * the file room_id = openmeetings room id isOwner = 0 parentFolderId = 0
+	 * 
+	 * to upload a file to a private-drive you specify: internalUserId, user if of openmeetings user for which we upload
+	 * the file room_id = openmeetings room id isOwner = 1 parentFolderId = -2
 	 * 
 	 * @param SID
 	 *            The SID of the User. This SID must be marked as logged in
 	 * @param internalUserId
-	 *            the openmeetings user id =&gt; If the file should goto a private
-	 *            section of any user, this number needs to be se
+	 *            the openmeetings user id =&gt; If the file should goto a private section of any user, this number
+	 *            needs to be se
 	 * @param externalFileId
 	 *            the external file-type to identify the file later
 	 * @param externalType
 	 *            the name of the external system
 	 * @param room_id
-	 *            the room Id, if the file goes to the private folder of an
-	 *            user, you can set a random number here
+	 *            the room Id, if the file goes to the private folder of an user, you can set a random number here
 	 * @param isOwner
-	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
-	 *            the private section
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto the private section
 	 * @param path
-	 *            http-path where we can grab the file from, the file has to be
-	 *            accessible from the OpenMeetings server
+	 *            http-path where we can grab the file from, the file has to be accessible from the OpenMeetings server
 	 * @param parentFolderId
-	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make
-	 *            the file goto the private section
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section
 	 * @param fileSystemName
 	 *            the filename =&gt; Important WITH file extension!
-	 *            
+	 * 
 	 * @return - array of file import errors
 	 * @throws ServiceException
 	 */
-	public FileImportError[] importFileByInternalUserId(String SID,
-			Long internalUserId, Long externalFileId, String externalType,
-			Long room_id, boolean isOwner, String path, Long parentFolderId,
-			String fileSystemName) throws ServiceException {
+	public FileImportError[] importFileByInternalUserId(String SID, Long internalUserId, Long externalFileId,
+			String externalType, Long room_id, boolean isOwner, String path, Long parentFolderId, String fileSystemName)
+			throws ServiceException {
 		try {
 
 			Long users_id = sessiondataDao.checkSession(SID);
@@ -213,19 +196,15 @@ public class FileWebService {
 
 				URL url = new URL(path);
 				URLConnection uc = url.openConnection();
-				InputStream inputstream = new BufferedInputStream(
-						uc.getInputStream());
+				InputStream inputstream = new BufferedInputStream(uc.getInputStream());
 
 				User internalUser = userDao.get(internalUserId);
 
 				LinkedHashMap<String, Object> hs = new LinkedHashMap<String, Object>();
 				hs.put("user", internalUser);
 
-				ConverterProcessResultList returnError = fileProcessor
-						.processFile(internalUser.getId(), room_id,
-								isOwner, inputstream, parentFolderId,
-								fileSystemName, 
-								externalFileId, externalType);
+				ConverterProcessResultList returnError = fileProcessor.processFile(internalUser.getId(), room_id,
+						isOwner, inputstream, parentFolderId, fileSystemName, externalFileId, externalType);
 
 				// Flash cannot read the response of an upload
 				// httpServletResponse.getWriter().print(returnError);
@@ -234,8 +213,8 @@ public class FileWebService {
 				hs.put("fileExplorerItem", fileExplorerItemDao.get(returnError.getFileExplorerItemId()));
 				hs.put("error", returnError);
 				hs.put("fileName", returnError.getCompleteName());
-				
-				//FIXME: Notificate UI of clients of new file
+
+				// FIXME: Notificate UI of clients of new file
 
 				return returnError.convertToFileImportErrors();
 
@@ -247,34 +226,30 @@ public class FileWebService {
 	}
 
 	/**
-	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
-	 * and isOwner to 1/true and externalUserId/externalUserType to a valid user
+	 * 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
 	 *            The SID of the User. This SID must be marked as logged in
 	 * @param externalUserId
 	 *            the external file-type to identify the file later
-	 * @param parentFileExplorerItemId
+	 * @param parentId
 	 * @param folderName
 	 *            the name of the folder
 	 * @param room_id
-	 *            the room Id, if the file goes to the private folder of an
-	 *            user, you can set a random number here
+	 *            the room Id, if the file goes to the private folder of an user, you can set a random number here
 	 * @param isOwner
-	 *            specify a 1/true AND parentFolderId==-2 to make the file goto
-	 *            the private section
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto the private section
 	 * @param externalFilesid
 	 *            the external file-type to identify the file later
 	 * @param externalType
 	 *            the name of the external system
-	 *            
+	 * 
 	 * @return - id of folder added
 	 * @throws ServiceException
 	 */
-	public Long addFolderByExternalUserIdAndType(String SID,
-			String externalUserId, Long parentFileExplorerItemId,
-			String folderName, Long room_id, Boolean isOwner,
-			Long externalFilesid, String externalType) throws ServiceException {
+	public Long addFolderByExternalUserIdAndType(String SID, String externalUserId, Long parentId, String folderName,
+			Long room_id, Boolean isOwner, Long externalFilesid, String externalType) throws ServiceException {
 		try {
 
 			Long users_id = sessiondataDao.checkSession(SID);
@@ -285,16 +260,15 @@ public class FileWebService {
 
 				Long userId = userExternal.getId();
 
-				log.debug("addFolder " + parentFileExplorerItemId);
+				log.debug("addFolder " + parentId);
 
-				if (parentFileExplorerItemId == -2 && isOwner) {
+				if (parentId == -2 && 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 fileExplorerItemDao.add(folderName, "", 0L, userId,
-							room_id, userId, true, // isFolder
+					return fileExplorerItemDao.add(folderName, "", 0L, userId, room_id, userId, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Path
@@ -302,9 +276,7 @@ public class FileWebService {
 							false, // isXmlFile
 							externalFilesid, externalType);
 				} else {
-					return fileExplorerItemDao.add(folderName, "",
-							parentFileExplorerItemId, null, room_id, userId,
-							true, // isFolder
+					return fileExplorerItemDao.add(folderName, "", parentId, null, room_id, userId, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Path
@@ -321,41 +293,46 @@ public class FileWebService {
 	}
 
 	/**
-	 * to add a folder to the private drive, set parentFileExplorerItemId = 0
-	 * and isOwner to 1/true and userId to a valid user
+	 * to add a folder to the private drive, set parentFileExplorerItemId = 0 and isOwner to 1/true and userId to a
+	 * valid user
+	 * 
+	 * @param SID
+	 *            The SID of the User. This SID must be marked as logged in
+	 * @param userId
+	 *            the openmeetings user id
+	 * @param parentId
+	 *            specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section
+	 * @param folderName
+	 *            the name of the folder
+	 * @param room_id
+	 *            the room Id, if the file goes to the private folder of an user, you can set a random number here
+	 * @param isOwner
+	 *            specify a 1/true AND parentFolderId==-2 to make the file goto the private section
+	 * @param externalFilesid
+	 *            the external file-type to identify the file later
+	 * @param externalType
+	 *            the name of the external system
 	 * 
-	 * @param SID The SID of the User. This SID must be marked as logged in
-	 * @param userId the openmeetings user id 
-	 * @param parentFileExplorerItemId specify a parentFolderId==-2 AND isOwner == 1/true AND to make the file goto the private section  
-	 * @param folderName the name of the folder 
-	 * @param room_id the room Id, if the file goes to the private folder of an user, you can set a random number here 
-	 * @param isOwner specify a 1/true AND parentFolderId==-2 to make the file goto the private section 
-	 * @param externalFilesid the external file-type to identify the file later 
-	 * @param externalType the name of the external system
-	 *  
 	 * @return - id of the folder
 	 * @throws ServiceException
 	 */
-	public Long addFolderByUserId(String SID, Long userId,
-			Long parentFileExplorerItemId, String folderName, Long room_id,
-			Boolean isOwner, Long externalFilesid, String externalType)
-			throws ServiceException {
+	public Long addFolderByUserId(String SID, Long userId, Long parentId, String folderName, Long room_id,
+			Boolean isOwner, Long externalFilesid, String externalType) throws ServiceException {
 		try {
 
 			Long users_id = sessiondataDao.checkSession(SID);
 
 			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				log.debug("addFolder " + parentFileExplorerItemId);
+				log.debug("addFolder " + parentId);
 
-				if (parentFileExplorerItemId == -2 && isOwner) {
+				if (parentId == -2 && 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 fileExplorerItemDao.add(folderName, "", 0L, userId,
-							room_id, userId, true, // isFolder
+					return fileExplorerItemDao.add(folderName, "", 0L, userId, room_id, userId, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Path
@@ -363,9 +340,7 @@ public class FileWebService {
 							false, // isXmlFile
 							externalFilesid, externalType);
 				} else {
-					return fileExplorerItemDao.add(folderName, "",
-							parentFileExplorerItemId, null, room_id, userId,
-							true, // isFolder
+					return fileExplorerItemDao.add(folderName, "", parentId, null, room_id, userId, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Path
@@ -387,7 +362,7 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            The SID of the User. This SID must be marked as logged in
-	 * @param parentFileExplorerItemId
+	 * @param parentId
 	 *            parent folder id
 	 * @param fileName
 	 *            the file name
@@ -396,23 +371,21 @@ public class FileWebService {
 	 * @param isOwner
 	 * @return - id of the folder
 	 */
-	public Long addFolderSelf(String SID, Long parentFileExplorerItemId,
-			String fileName, Long room_id, Boolean isOwner) throws ServiceException {
+	public Long addFolderSelf(String SID, Long parentId, String fileName, Long room_id, Boolean isOwner)
+			throws ServiceException {
 		try {
 			Long users_id = sessiondataDao.checkSession(SID);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
 
-				log.debug("addFolder " + parentFileExplorerItemId);
+				log.debug("addFolder " + parentId);
 
-				if (parentFileExplorerItemId == 0 && isOwner) {
+				if (parentId == 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 fileExplorerItemDao.add(fileName, "",
-							parentFileExplorerItemId, users_id, room_id,
-							users_id, true, // isFolder
+					return fileExplorerItemDao.add(fileName, "", parentId, users_id, room_id, users_id, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Path
@@ -420,9 +393,7 @@ public class FileWebService {
 							false // isXmlFile
 							, 0L, "");
 				} else {
-					return fileExplorerItemDao.add(fileName, "",
-							parentFileExplorerItemId, null, room_id, users_id,
-							true, // isFolder
+					return fileExplorerItemDao.add(fileName, "", parentId, null, room_id, users_id, true, // isFolder
 							false, // isImage
 							false, // isPresentation
 							"", // WML Paht
@@ -449,8 +420,8 @@ public class FileWebService {
 	 *            the externalType
 	 * @return - null
 	 */
-	public Long deleteFileOrFolderByExternalIdAndType(String SID,
-			Long externalFilesid, String externalType) throws ServiceException {
+	public Long deleteFileOrFolderByExternalIdAndType(String SID, Long externalFilesid, String externalType)
+			throws ServiceException {
 
 		try {
 
@@ -458,8 +429,7 @@ public class FileWebService {
 
 			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				fileExplorerItemDao.deleteFileExplorerItemByExternalIdAndType(
-						externalFilesid, externalType);
+				fileExplorerItemDao.deleteFileExplorerItemByExternalIdAndType(externalFilesid, externalType);
 
 			}
 
@@ -475,12 +445,11 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            the id of the file or folder
 	 * @return - null
 	 */
-	public Long deleteFileOrFolder(String SID, Long fileExplorerItemId)
-			throws ServiceException {
+	public Long deleteFileOrFolder(String SID, Long fileId) throws ServiceException {
 
 		try {
 
@@ -488,7 +457,7 @@ public class FileWebService {
 
 			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				fileExplorerItemDao.delete(fileExplorerItemId);
+				fileExplorerItemDao.delete(fileId);
 
 			}
 
@@ -504,12 +473,11 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            the id of the file or folder
 	 * @return - null
 	 */
-	public Long deleteFileOrFolderSelf(String SID, Long fileExplorerItemId)
-			throws ServiceException {
+	public Long deleteFileOrFolderSelf(String SID, Long fileId) throws ServiceException {
 
 		try {
 
@@ -519,7 +487,7 @@ public class FileWebService {
 
 				// TODO: Check if user has access or not to the file
 
-				fileExplorerItemDao.delete(fileExplorerItemId);
+				fileExplorerItemDao.delete(fileId);
 
 			}
 
@@ -555,8 +523,8 @@ public class FileWebService {
 	 * @return - LibraryPresentation-Object for a certain file
 	 * @throws ServiceException
 	 */
-	public LibraryPresentation getPresentationPreviewFileExplorer(String SID,
-			String parentFolder) throws ServiceException {
+	public LibraryPresentation getPresentationPreviewFileExplorer(String SID, String parentFolder)
+			throws ServiceException {
 
 		try {
 
@@ -600,46 +568,40 @@ public class FileWebService {
 	 * @return - File Explorer Object by a given Room and owner id
 	 * @throws ServiceException
 	 */
-	public FileExplorerObject getFileExplorerByRoom(String SID, Long room_id,
-			Long owner_id) throws ServiceException {
+	public FileExplorerObject getFileExplorerByRoom(String SID, Long room_id, Long owner_id) throws ServiceException {
 
 		try {
 
-			Long webservice_users_id = sessiondataDao.checkSession(SID);
+			Long users_id = sessiondataDao.checkSession(SID);
 
-			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(webservice_users_id))) {
+			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
 				log.debug("room_id " + room_id);
 
 				FileExplorerObject fileExplorerObject = new FileExplorerObject();
 
 				// Home File List
-				FileExplorerItem[] fList = fileExplorerItemDao
-						.getFileExplorerItemsByOwner(owner_id, 0L);
+				FileExplorerItem[] fList = fileExplorerItemDao.getByOwner(owner_id)
+						.toArray(new FileExplorerItem[0]);
 
 				long homeFileSize = 0;
 
 				for (FileExplorerItem homeChildExplorerItem : fList) {
-					log.debug("FileExplorerItem fList "
-							+ homeChildExplorerItem.getFileName());
-					homeFileSize += fileUtils
-							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+					log.debug("FileExplorerItem fList " + homeChildExplorerItem.getFileName());
+					homeFileSize += fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
 				}
 
 				fileExplorerObject.setUserHome(fList);
 				fileExplorerObject.setUserHomeSize(homeFileSize);
 
 				// Public File List
-				FileExplorerItem[] rList = fileExplorerItemDao
-						.getFileExplorerItemsByRoom(room_id, 0L);
+				FileExplorerItem[] rList = fileExplorerItemDao.getByRoom(room_id).toArray(new FileExplorerItem[0]);
 
 				long roomFileSize = 0;
 
 				for (FileExplorerItem homeChildExplorerItem : rList) {
-					log.debug("FileExplorerItem rList "
-							+ homeChildExplorerItem.getFileName());
-					roomFileSize += fileUtils
-							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+					log.debug("FileExplorerItem rList " + homeChildExplorerItem.getFileName());
+					roomFileSize += fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
 				}
 
 				fileExplorerObject.setRoomHome(rList);
@@ -669,8 +631,7 @@ public class FileWebService {
 	 * @return - File Explorer Object by a given Room
 	 * @throws ServiceException
 	 */
-	public FileExplorerObject getFileExplorerByRoomSelf(String SID, Long room_id)
-			throws ServiceException {
+	public FileExplorerObject getFileExplorerByRoomSelf(String SID, Long room_id) throws ServiceException {
 
 		try {
 
@@ -683,32 +644,27 @@ public class FileWebService {
 				FileExplorerObject fileExplorerObject = new FileExplorerObject();
 
 				// Home File List
-				FileExplorerItem[] fList = fileExplorerItemDao
-						.getFileExplorerItemsByOwner(users_id, 0L);
+				FileExplorerItem[] fList = fileExplorerItemDao.getByOwner(users_id)
+						.toArray(new FileExplorerItem[0]);
 
 				long homeFileSize = 0;
 
 				for (FileExplorerItem homeChildExplorerItem : fList) {
-					log.debug("FileExplorerItem fList "
-							+ homeChildExplorerItem.getFileName());
-					homeFileSize += fileUtils
-							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+					log.debug("FileExplorerItem fList " + homeChildExplorerItem.getFileName());
+					homeFileSize += fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
 				}
 
 				fileExplorerObject.setUserHome(fList);
 				fileExplorerObject.setUserHomeSize(homeFileSize);
 
 				// Public File List
-				FileExplorerItem[] rList = fileExplorerItemDao
-						.getFileExplorerItemsByRoom(room_id, 0L);
+				FileExplorerItem[] rList = fileExplorerItemDao.getByRoom(room_id).toArray(new FileExplorerItem[0]);
 
 				long roomFileSize = 0;
 
 				for (FileExplorerItem homeChildExplorerItem : rList) {
-					log.debug("FileExplorerItem rList "
-							+ homeChildExplorerItem.getFileName());
-					roomFileSize += fileUtils
-							.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
+					log.debug("FileExplorerItem rList " + homeChildExplorerItem.getFileName());
+					roomFileSize += fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
 				}
 
 				fileExplorerObject.setRoomHome(rList);
@@ -733,7 +689,7 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            The SID of the User. This SID must be marked as logged in
-	 * @param parentFileExplorerItemId
+	 * @param parentId
 	 *            the parent folder id
 	 * @param room_id
 	 *            the room id
@@ -744,30 +700,25 @@ public class FileWebService {
 	 * @return - FileExplorerItem list by parent folder
 	 * @throws ServiceException
 	 */
-	public FileExplorerItem[] getFileExplorerByParent(String SID,
-			Long parentFileExplorerItemId, Long room_id, Boolean isOwner,
+	public FileExplorerItem[] getFileExplorerByParent(String SID, Long parentId, Long room_id, Boolean isOwner,
 			Long owner_id) throws ServiceException {
 
 		try {
 
-			Long webservice_users_id = sessiondataDao.checkSession(SID);
+			Long users_id = sessiondataDao.checkSession(SID);
 
-			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(webservice_users_id))) {
+			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				log.debug("parentFileExplorerItemId "
-						+ parentFileExplorerItemId);
+				log.debug("parentFileExplorerItemId " + parentId);
 
-				if (parentFileExplorerItemId == 0) {
+				if (parentId == 0) {
 					if (isOwner) {
-						return fileExplorerItemDao.getFileExplorerItemsByOwner(
-								owner_id, parentFileExplorerItemId);
+						return fileExplorerItemDao.getByOwner(owner_id).toArray(new FileExplorerItem[0]);
 					} else {
-						return fileExplorerItemDao.getFileExplorerItemsByRoom(
-								room_id, parentFileExplorerItemId);
+						return fileExplorerItemDao.getByRoom(room_id).toArray(new FileExplorerItem[0]);
 					}
 				} else {
-					return fileExplorerItemDao
-							.getFileExplorerItemsByParent(parentFileExplorerItemId);
+					return fileExplorerItemDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
 				}
 
 			}
@@ -783,7 +734,7 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param parentFileExplorerItemId
+	 * @param parentId
 	 *            the parent folder id
 	 * @param room_id
 	 *            the room id
@@ -792,8 +743,7 @@ public class FileWebService {
 	 * @return - list of file explorer items
 	 * @throws ServiceException
 	 */
-	public FileExplorerItem[] getFileExplorerByParentSelf(String SID,
-			Long parentFileExplorerItemId, Long room_id, Boolean isOwner)
+	public FileExplorerItem[] getFileExplorerByParentSelf(String SID, Long parentId, Long room_id, Boolean isOwner)
 			throws ServiceException {
 
 		try {
@@ -802,22 +752,17 @@ public class FileWebService {
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
 
-				log.debug("parentFileExplorerItemId "
-						+ parentFileExplorerItemId);
+				log.debug("parentFileExplorerItemId " + parentId);
 
-				if (parentFileExplorerItemId == 0) {
+				if (parentId == 0) {
 					if (isOwner) {
-						return fileExplorerItemDao.getFileExplorerItemsByOwner(
-								users_id, parentFileExplorerItemId);
+						return fileExplorerItemDao.getByOwner(users_id).toArray(new FileExplorerItem[0]);
 					} else {
-						return fileExplorerItemDao.getFileExplorerItemsByRoom(
-								room_id, parentFileExplorerItemId);
+						return fileExplorerItemDao.getByRoom(room_id).toArray(new FileExplorerItem[0]);
 					}
 				} else {
-					return fileExplorerItemDao
-							.getFileExplorerItemsByParent(parentFileExplorerItemId);
+					return fileExplorerItemDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
 				}
-
 			}
 		} catch (Exception err) {
 			log.error("[getFileExplorerByParentSelf] ", err);
@@ -830,26 +775,24 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            file or folder id
 	 * @param fileName
 	 *            new file or folder name
 	 * @return - null
 	 * @throws ServiceException
 	 */
-	public Long updateFileOrFolderName(String SID, Long fileExplorerItemId,
-			String fileName) throws ServiceException {
+	public Long updateFileOrFolderName(String SID, Long fileId, String fileName) throws ServiceException {
 
 		try {
 
-			Long webservice_users_id = sessiondataDao.checkSession(SID);
+			Long users_id = sessiondataDao.checkSession(SID);
 
-			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(webservice_users_id))) {
+			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+				log.debug("deleteFileOrFolder " + fileId);
 
-				fileExplorerItemDao.updateFileOrFolderName(fileExplorerItemId,
-						fileName);
+				fileExplorerItemDao.updateFileOrFolderName(fileId, fileName);
 
 			}
 		} catch (Exception err) {
@@ -864,15 +807,14 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            file or folder id
 	 * @param fileName
 	 *            new file or folder name
 	 * @return - null
 	 * @throws ServiceException
 	 */
-	public Long updateFileOrFolderNameSelf(String SID, Long fileExplorerItemId,
-			String fileName) throws ServiceException {
+	public Long updateFileOrFolderNameSelf(String SID, Long fileId, String fileName) throws ServiceException {
 
 		try {
 
@@ -882,21 +824,15 @@ public class FileWebService {
 
 				// TODO: check if this user is allowed to change this file
 				/*
-				 * FileExplorerItem fileExItem =
-				 * fileExplorerItemDao.getFileExplorerItemsById
-				 * (fileExplorerItemId);
+				 * FileExplorerItem fileExItem = fileExplorerItemDao.getFileExplorerItemsById (fileExplorerItemId);
 				 * 
-				 * if (fileExItem.getOwnerId() != null &&
-				 * !fileExItem.getOwnerId().equals(users_id)) { throw new
-				 * Exception(
-				 * "This user is not the owner of the file and not allowed to edit its name"
-				 * ); }
+				 * if (fileExItem.getOwnerId() != null && !fileExItem.getOwnerId().equals(users_id)) { throw new
+				 * Exception( "This user is not the owner of the file and not allowed to edit its name" ); }
 				 */
 
-				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+				log.debug("deleteFileOrFolder " + fileId);
 
-				fileExplorerItemDao.updateFileOrFolderName(fileExplorerItemId,
-						fileName);
+				fileExplorerItemDao.updateFileOrFolderName(fileId, fileName);
 
 			}
 		} catch (Exception err) {
@@ -910,9 +846,9 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            current file or folder id to be moved
-	 * @param newParentFileExplorerItemId
+	 * @param newParentId
 	 *            new parent folder id
 	 * @param room_id
 	 *            room id
@@ -925,34 +861,28 @@ public class FileWebService {
 	 * @return - null
 	 * @throws ServiceException
 	 */
-	public Long moveFile(String SID, Long fileExplorerItemId,
-			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
-			Boolean moveToHome, Long owner_id) throws ServiceException {
+	public Long moveFile(String SID, Long fileId, Long newParentId, Long room_id, Boolean isOwner, Boolean moveToHome,
+			Long owner_id) throws ServiceException {
 
 		try {
 
-			Long webservice_users_id = sessiondataDao.checkSession(SID);
+			Long users_id = sessiondataDao.checkSession(SID);
 
-			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(webservice_users_id))) {
+			if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
 
-				log.debug("deleteFileOrFolder " + fileExplorerItemId);
+				log.debug("deleteFileOrFolder " + fileId);
 
-				fileExplorerItemDao
-						.moveFile(fileExplorerItemId,
-								newParentFileExplorerItemId, room_id, isOwner,
-								owner_id);
+				fileExplorerItemDao.moveFile(fileId, newParentId, room_id, isOwner, owner_id);
 
-				FileExplorerItem fileExplorerItem = fileExplorerItemDao.get(fileExplorerItemId);
+				FileExplorerItem fileExplorerItem = fileExplorerItemDao.get(fileId);
 
 				if (moveToHome) {
 					// set this file and all subfiles and folders the ownerId
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
-							owner_id, null);
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, owner_id, null);
 
 				} else {
 					// set this file and all subfiles and folders the room_id
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
-							null, room_id);
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, null, room_id);
 
 				}
 
@@ -968,9 +898,9 @@ public class FileWebService {
 	 * 
 	 * @param SID
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param fileExplorerItemId
+	 * @param fileId
 	 *            current file or folder id to be moved
-	 * @param newParentFileExplorerItemId
+	 * @param newParentId
 	 *            new parent folder id
 	 * @param room_id
 	 *            room id
@@ -981,8 +911,7 @@ public class FileWebService {
 	 * @return - null
 	 * @throws ServiceException
 	 */
-	public Long moveFileSelf(String SID, Long fileExplorerItemId,
-			Long newParentFileExplorerItemId, Long room_id, Boolean isOwner,
+	public Long moveFileSelf(String SID, Long fileId, Long newParentId, Long room_id, Boolean isOwner,
 			Boolean moveToHome) throws ServiceException {
 
 		try {
@@ -990,27 +919,22 @@ public class FileWebService {
 			Long users_id = sessiondataDao.checkSession(SID);
 
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-				
+
 				// A test is required that checks if the user is allowed to move the file
 
-				log.debug("moveFileSelf " + fileExplorerItemId);
+				log.debug("moveFileSelf " + fileId);
 
-				fileExplorerItemDao
-						.moveFile(fileExplorerItemId,
-								newParentFileExplorerItemId, room_id, isOwner,
-								users_id);
+				fileExplorerItemDao.moveFile(fileId, newParentId, room_id, isOwner, users_id);
 
-				FileExplorerItem fileExplorerItem = fileExplorerItemDao.get(fileExplorerItemId);
+				FileExplorerItem fileExplorerItem = fileExplorerItemDao.get(fileId);
 
 				if (moveToHome) {
 					// set this file and all subfiles and folders the ownerId
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
-							users_id, null);
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, users_id, null);
 
 				} else {
 					// set this file and all subfiles and folders the room_id
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem,
-							null, room_id);
+					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, null, room_id);
 
 				}