Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
 Wed Nov 25 04:08:02 2015
@@ -39,11 +39,11 @@ public class Mp4RecordingResourceReferen
        
        @Override
        String getFileName(Recording r) {
-               return r.getFileHash() + MP4_EXTENSION;
+               return r.getHash() + MP4_EXTENSION;
        }
        
        @Override
        File getFile(Recording r) {
-               return getMp4Recording(r.getFileHash());
+               return getMp4Recording(r.getHash());
        }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
 Wed Nov 25 04:08:02 2015
@@ -39,11 +39,11 @@ public class OggRecordingResourceReferen
        
        @Override
        String getFileName(Recording r) {
-               return r.getFileHash() + OGG_EXTENSION;
+               return r.getHash() + OGG_EXTENSION;
        }
        
        @Override
        File getFile(Recording r) {
-               return getOggRecording(r.getFileHash());
+               return getOggRecording(r.getHash());
        }
 }

Modified: 
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
 Wed Nov 25 04:08:02 2015
@@ -61,6 +61,7 @@
        <logger name="org.apache.directory" level="INFO" />
        <logger name="org.apache.mina.filter.ssl.SslFilter" level="ERROR" />
        <logger name="org.apache.wicket" level="WARN" />
+       <logger 
name="org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter" 
level="TRACE" />
        <root level="DEBUG">
                <appender-ref ref="FLOG2" />
                <appender-ref ref="CONSOLE2" />

Modified: 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 Wed Nov 25 04:08:02 2015
@@ -20,35 +20,38 @@ package org.apache.openmeetings.webservi
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
-import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Set;
 
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
 import javax.jws.WebService;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.POST;
 import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.core.data.file.FileProcessor;
+import org.apache.cxf.jaxrs.ext.multipart.Multipart;
 import org.apache.openmeetings.core.data.file.FileUtils;
 import org.apache.openmeetings.core.documents.LoadLibraryPresentation;
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
+import org.apache.openmeetings.db.dto.file.FileExplorerItemDTO;
 import org.apache.openmeetings.db.dto.file.FileExplorerObject;
 import org.apache.openmeetings.db.dto.file.LibraryPresentation;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
-import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.OmFileHelper;
-import org.apache.openmeetings.util.StoredFile;
-import org.apache.openmeetings.util.process.ConverterProcessResultList;
-import org.apache.openmeetings.util.process.FileImportError;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -68,372 +71,80 @@ import org.springframework.beans.factory
 @Produces({MediaType.APPLICATION_JSON})
 @Path("/file")
 public class FileWebService {
-
        private static final Logger log = 
Red5LoggerFactory.getLogger(FileWebService.class, webAppRootKey);
+
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private UserDao userDao;
        @Autowired
-       private FileExplorerItemDao fileExplorerItemDao;
-       @Autowired
-       private FileProcessor fileProcessor;
+       private FileExplorerItemDao fileDao;
        @Autowired
        private FileUtils fileUtils;
 
        /**
+        * deletes files or folders based on it id
         * 
-        * 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 roomId = 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 roomId = 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
-        * @param externalFileId
-        *            the external file-type to identify the file later
-        * @param externalType
-        *            the name of the external system
-        * @param roomId
-        *            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 path
-        *            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
-        * @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 roomId, boolean isOwner, String path, Long 
parentFolderId, String fileSystemName)
-                       throws ServiceException {
-               try {
-
-                       Long userId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
-
-                               URL url = new URL(path);
-                               URLConnection uc = url.openConnection();
-                               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(), roomId,
-                                               isOwner, inputstream, 
parentFolderId, fileSystemName, externalFileId, externalType);
-
-                               // Flash cannot read the response of an upload
-                               // 
httpServletResponse.getWriter().print(returnError);
-                               hs.put("message", "library");
-                               hs.put("action", "newFile");
-                               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
-
-                               return returnError.convertToFileImportErrors();
-
-                       }
-               } catch (Exception err) {
-                       log.error("[importFile]", err);
-               }
-               return null;
-       }
-
-       /**
-        * 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 roomId = 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 roomId = 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
-        * @param externalFileId
-        *            the external file-type to identify the file later
-        * @param externalType
-        *            the name of the external system
-        * @param roomId
-        *            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 path
-        *            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
-        * @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 roomId, boolean isOwner, 
String path, Long parentFolderId, String fileSystemName)
-                       throws ServiceException {
-               try {
-
-                       Long userId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
-
-                               URL url = new URL(path);
-                               URLConnection uc = url.openConnection();
-                               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(), roomId,
-                                               isOwner, inputstream, 
parentFolderId, fileSystemName, externalFileId, externalType);
-
-                               // Flash cannot read the response of an upload
-                               // 
httpServletResponse.getWriter().print(returnError);
-                               hs.put("message", "library");
-                               hs.put("action", "newFile");
-                               hs.put("fileExplorerItem", 
fileExplorerItemDao.get(returnError.getFileExplorerItemId()));
-                               hs.put("error", returnError);
-                               hs.put("fileName", 
returnError.getCompleteName());
-
-                               // FIXME: Notificate UI of clients of new file
-
-                               return returnError.convertToFileImportErrors();
-
-                       }
-               } catch (Exception err) {
-                       log.error("[importFileByInternalUserId]", err);
-               }
-               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 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 parentId
-        * @param folderName
-        *            the name of the folder
-        * @param roomId
-        *            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 folder added
+        * @param id
+        *            the id of the file or folder
+        * @return - id of the file deleted, error code otherwise
         * @throws ServiceException
         */
-       public Long addFolderByExternalUserIdAndType(String SID, String 
externalUserId, Long parentId, String folderName,
-                       Long roomId, Boolean isOwner, Long externalFilesid, 
String externalType) throws ServiceException {
+       @DELETE
+       @Path("/{id}")
+       public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                try {
+                       Long userId = sessionDao.checkSession(sid);
 
-                       Long authUserId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
-
-                               User userExternal = 
userDao.getExternalUser(externalUserId, externalType);
-
-                               Long userId = userExternal.getId();
-
-                               log.debug("addFolder " + parentId);
-
-                               if (parentId == -2 && isOwner) {
-                                       // userId (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, roomId, userId, true, // 
isFolder
-                                                       false, // isImage
-                                                       false, // isPresentation
-                                                       "", // WML Path
-                                                       false, // isStoredWML 
file
-                                                       false, // isXmlFile
-                                                       externalFilesid, 
externalType);
-                               } else {
-                                       return 
fileExplorerItemDao.add(folderName, "", parentId, null, roomId, userId, true, 
// isFolder
-                                                       false, // isImage
-                                                       false, // isPresentation
-                                                       "", // WML Path
-                                                       false, // isStoredWML 
file
-                                                       false, // isXmlFile
-                                                       externalFilesid, 
externalType);
-                               }
+                       FileExplorerItem f = fileDao.get(id);
+                       if (f == null) {
+                               return new ServiceResult(-1L, "Bad id", 
Type.ERROR);
                        }
-
-               } 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
-        *            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 roomId
-        *            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 parentId, 
String folderName, Long roomId,
-                       Boolean isOwner, Long externalFilesid, String 
externalType) throws ServiceException {
-               try {
-
-                       Long authUserId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
-
-                               log.debug("addFolder " + parentId);
-
-                               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, roomId, userId, true, // 
isFolder
-                                                       false, // isImage
-                                                       false, // isPresentation
-                                                       "", // WML Path
-                                                       false, // isStoredWML 
file
-                                                       false, // isXmlFile
-                                                       externalFilesid, 
externalType);
-                               } else {
-                                       return 
fileExplorerItemDao.add(folderName, "", parentId, null, roomId, 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;
-       }
-
-       /**
-        * 
-        * Add a folder by the current user - similar to RTMP Call
-        * 
-        * @param SID
-        *            The SID of the User. This SID must be marked as logged in
-        * @param parentId
-        *            parent folder id
-        * @param fileName
-        *            the file name
-        * @param roomId
-        *            the room id
-        * @param isOwner
-        * @return - id of the folder
-        */
-       public Long addFolderSelf(String SID, Long parentId, String fileName, 
Long roomId, Boolean isOwner)
-                       throws ServiceException {
-               try {
-                       Long userId = sessiondataDao.checkSession(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
-                               log.debug("addFolder " + parentId);
-
-                               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, "", parentId, userId, roomId, userId, true, 
// isFolder
-                                                       false, // isImage
-                                                       false, // isPresentation
-                                                       "", // WML Path
-                                                       false, // isStoredWML 
file
-                                                       false // isXmlFile
-                                                       , 0L, "");
-                               } else {
-                                       return 
fileExplorerItemDao.add(fileName, "", parentId, null, roomId, userId, true, // 
isFolder
-                                                       false, // isImage
-                                                       false, // isPresentation
-                                                       "", // WML Paht
-                                                       false, // isStoredWML 
file
-                                                       false // isXmlFile
-                                                       , 0L, "");
-                               }
+                       Set<Right> rights = userDao.getRights(userId);
+                       if (AuthLevelUtil.hasWebServiceLevel(rights)
+                               || (AuthLevelUtil.hasUserLevel(rights) && 
userId.equals(f.getOwnerId())))
+                       {
+                               fileDao.delete(f);
+                               return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
+                       } else {
+                               return new ServiceResult(-26L, "Insufficient 
permissins", Type.ERROR);
                        }
-               } catch (Exception err) {
-                       log.error("[getFileExplorerByParent] ", err);
+               } catch (Exception e) {
+                       log.error("[delete] ", e);
+                       throw new ServiceException(e.getMessage());
                }
-               return null;
        }
 
        /**
         * 
         * deletes a file by its external Id and type
         * 
-        * @param SID
+        * @param sid
         *            The SID of the User. This SID must be marked as logged in
-        * @param externalFilesid
+        * @param externalId
         *            the od of the file or folder
         * @param externalType
         *            the externalType
         * @return - null
         */
-       public Long deleteFileOrFolderByExternalIdAndType(String SID, Long 
externalFilesid, String externalType)
-                       throws ServiceException {
-
+       @DELETE
+       @Path("/{externaltype}/{externalid}")
+       public ServiceResult deleteExternal(
+                       @WebParam(name="sid") @QueryParam("sid") String sid
+                       , @WebParam(name="externaltype") 
@PathParam("externaltype") String externalType
+                       , @WebParam(name="externalid") @PathParam("externalid") 
String externalId
+                       ) throws ServiceException
+       {
                try {
-
-                       Long userId = sessiondataDao.checkSession(SID);
-
+                       Long userId = sessionDao.checkSession(sid);
+                       
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
-
-                               
fileExplorerItemDao.deleteFileExplorerItemByExternalIdAndType(externalFilesid, 
externalType);
-
+                               FileExplorerItem f = fileDao.get(externalId, 
externalType);
+                               fileDao.delete(f);
+                               return new ServiceResult(f.getId(), "Deleted", 
Type.SUCCESS);
                        }
-
                } catch (Exception err) {
                        log.error("[deleteFileOrFolderByExternalIdAndType]", 
err);
                }
@@ -441,78 +152,48 @@ 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
         * 
-        * deletes files or folders based on it id
-        * 
-        * @param SID
-        *            The SID of the User. This SID must be marked as logged in
-        * @param fileId
-        *            the id of the file or folder
-        * @return - null
-        */
-       public Long deleteFileOrFolder(String SID, Long fileId) throws 
ServiceException {
-
-               try {
-
-                       Long userId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
-
-                               fileExplorerItemDao.delete(fileId);
-
-                       }
-
-               } catch (Exception err) {
-                       log.error("[deleteFileOrFolder]", err);
-               }
-               return null;
-       }
-
-       /**
-        * 
-        * deletes files or folders based on it id
-        * 
-        * @param SID
+        * @param sid
         *            The SID of the User. This SID must be marked as logged in
-        * @param fileId
-        *            the id of the file or folder
-        * @return - null
-        */
-       public Long deleteFileOrFolderSelf(String SID, Long fileId) throws 
ServiceException {
-
-               try {
-
-                       Long userId = sessiondataDao.checkSession(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
-                               // TODO: Check if user has access or not to the 
file
-
-                               fileExplorerItemDao.delete(fileId);
-
+        * @param file
+        *            the The file to be added
+        * @return - Object created
+        * @throws ServiceException
+        */
+       @WebMethod
+       @POST
+       @Path("/")
+       public FileExplorerItemDTO add(@WebParam(name="sid") @QueryParam("sid") 
String sid
+                       , @Multipart(value = "file") @WebParam(name="file") 
FileExplorerItemDTO file
+                       , @Multipart(value = "attach", type = 
"application/octet-stream", required = false) @WebParam(name="attach") 
InputStream attach //TODO check this
+                       ) throws ServiceException
+       {
+               try {
+                       Long userId = sessionDao.checkSession(sid);
+
+                       FileExplorerItem f = file == null ? null : file.get();
+                       if (f == null || f.getId() != null) {
+                               throw new ServiceException("Bad id");//TODO err 
code -1 ????
+                       }
+                       Set<Right> rights = userDao.getRights(userId);
+                       if (AuthLevelUtil.hasWebServiceLevel(rights)
+                                       || (AuthLevelUtil.hasUserLevel(rights) 
&& userId.equals(f.getOwnerId())))
+                       {
+                               //TODO permissions
+                               //TODO attachment
+                               fileDao.update(f);
+                               return new FileExplorerItemDTO(f);
+                       } else {
+                               throw new ServiceException("Insufficient 
permissins"); //TODO code -26
                        }
-
-               } catch (Exception err) {
-                       log.error("[deleteFileOrFolder]", err);
-               }
-               return null;
-       }
-
-       /**
-        * Get available import File Extension allowed during import
-        * 
-        * @return the array of the import file extensions
-        * @throws ServiceException
-        */
-       public String[] getImportFileExtensions() throws ServiceException {
-               try {
-
-                       return StoredFile.getExtensions();
-
-               } catch (Exception err) {
-                       log.error("[getImportFileExtensions]", err);
+               } catch (ServiceException e) {
+                       throw e;
+               } catch (Exception e) {
+                       log.error("[add]", e);
+                       throw new ServiceException(e.getMessage());
                }
-               return null;
        }
 
        /**
@@ -529,7 +210,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
 
@@ -539,22 +220,22 @@ public class FileWebService {
                                File file = new File(working_dir, 
OmFileHelper.libraryFileName);
 
                                if (!file.exists()) {
-                                       throw new 
Exception(file.getCanonicalPath() + ": does not exist ");
+                                       throw new 
ServiceException(file.getCanonicalPath() + ": does not exist ");
                                }
 
                                return 
LoadLibraryPresentation.parseLibraryFileToObject(file);
 
                        } else {
 
-                               throw new Exception("not Authenticated");
+                               throw new ServiceException("not Authenticated");
 
                        }
-
+               } catch (ServiceException e) {
+                       throw e;
                } catch (Exception e) {
                        log.error("[getListOfFilesByAbsolutePath]", e);
                        return null;
                }
-
        }
 
        /**
@@ -573,7 +254,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
 
@@ -582,12 +263,12 @@ public class FileWebService {
                                FileExplorerObject fileExplorerObject = new 
FileExplorerObject();
 
                                // Home File List
-                               List<FileExplorerItem> fList = 
fileExplorerItemDao.getByOwner(ownerId);
+                               List<FileExplorerItem> fList = 
fileDao.getByOwner(ownerId);
 
                                long homeFileSize = 0;
 
                                for (FileExplorerItem homeChildExplorerItem : 
fList) {
-                                       log.debug("FileExplorerItem fList " + 
homeChildExplorerItem.getFileName());
+                                       log.debug("FileExplorerItem fList " + 
homeChildExplorerItem.getName());
                                        homeFileSize += 
fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                                }
 
@@ -595,12 +276,12 @@ public class FileWebService {
                                
fileExplorerObject.setUserHomeSize(homeFileSize);
 
                                // Public File List
-                               List<FileExplorerItem> rList = 
fileExplorerItemDao.getByRoom(roomId);
+                               List<FileExplorerItem> rList = 
fileDao.getByRoom(roomId);
 
                                long roomFileSize = 0;
 
                                for (FileExplorerItem homeChildExplorerItem : 
rList) {
-                                       log.debug("FileExplorerItem rList " + 
homeChildExplorerItem.getFileName());
+                                       log.debug("FileExplorerItem rList " + 
homeChildExplorerItem.getName());
                                        roomFileSize += 
fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                                }
 
@@ -635,7 +316,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 
@@ -644,12 +325,12 @@ public class FileWebService {
                                FileExplorerObject fileExplorerObject = new 
FileExplorerObject();
 
                                // Home File List
-                               List<FileExplorerItem> fList = 
fileExplorerItemDao.getByOwner(userId);
+                               List<FileExplorerItem> fList = 
fileDao.getByOwner(userId);
 
                                long homeFileSize = 0;
 
                                for (FileExplorerItem homeChildExplorerItem : 
fList) {
-                                       log.debug("FileExplorerItem fList " + 
homeChildExplorerItem.getFileName());
+                                       log.debug("FileExplorerItem fList " + 
homeChildExplorerItem.getName());
                                        homeFileSize += 
fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                                }
 
@@ -657,12 +338,12 @@ public class FileWebService {
                                
fileExplorerObject.setUserHomeSize(homeFileSize);
 
                                // Public File List
-                               List<FileExplorerItem> rList = 
fileExplorerItemDao.getByRoom(roomId);
+                               List<FileExplorerItem> rList = 
fileDao.getByRoom(roomId);
 
                                long roomFileSize = 0;
 
                                for (FileExplorerItem homeChildExplorerItem : 
rList) {
-                                       log.debug("FileExplorerItem rList " + 
homeChildExplorerItem.getFileName());
+                                       log.debug("FileExplorerItem rList " + 
homeChildExplorerItem.getName());
                                        roomFileSize += 
fileUtils.getSizeOfDirectoryAndSubs(homeChildExplorerItem);
                                }
 
@@ -704,7 +385,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
 
@@ -712,12 +393,12 @@ public class FileWebService {
 
                                if (parentId == 0) {
                                        if (isOwner) {
-                                               return 
fileExplorerItemDao.getByOwner(ownerId).toArray(new FileExplorerItem[0]);
+                                               return 
fileDao.getByOwner(ownerId).toArray(new FileExplorerItem[0]);
                                        } else {
-                                               return 
fileExplorerItemDao.getByRoom(roomId).toArray(new FileExplorerItem[0]);
+                                               return 
fileDao.getByRoom(roomId).toArray(new FileExplorerItem[0]);
                                        }
                                } else {
-                                       return 
fileExplorerItemDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
+                                       return 
fileDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
                                }
 
                        }
@@ -747,7 +428,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 
@@ -755,12 +436,12 @@ public class FileWebService {
 
                                if (parentId == 0) {
                                        if (isOwner) {
-                                               return 
fileExplorerItemDao.getByOwner(userId).toArray(new FileExplorerItem[0]);
+                                               return 
fileDao.getByOwner(userId).toArray(new FileExplorerItem[0]);
                                        } else {
-                                               return 
fileExplorerItemDao.getByRoom(roomId).toArray(new FileExplorerItem[0]);
+                                               return 
fileDao.getByRoom(roomId).toArray(new FileExplorerItem[0]);
                                        }
                                } else {
-                                       return 
fileExplorerItemDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
+                                       return 
fileDao.getByParent(parentId).toArray(new FileExplorerItem[0]);
                                }
                        }
                } catch (Exception err) {
@@ -785,13 +466,13 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
 
-                               log.debug("deleteFileOrFolder " + fileId);
+                               log.debug("updateFileOrFolderName " + fileId);
 
-                               
fileExplorerItemDao.updateFileOrFolderName(fileId, fileName);
+                               fileDao.updateFileOrFolderName(fileId, 
fileName);
 
                        }
                } catch (Exception err) {
@@ -817,7 +498,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 
@@ -829,9 +510,9 @@ public class FileWebService {
                                 * Exception( "This user is not the owner of 
the file and not allowed to edit its name" ); }
                                 */
 
-                               log.debug("deleteFileOrFolder " + fileId);
+                               log.debug("updateFileOrFolderSelf " + fileId);
 
-                               
fileExplorerItemDao.updateFileOrFolderName(fileId, fileName);
+                               fileDao.updateFileOrFolderName(fileId, 
fileName);
 
                        }
                } catch (Exception err) {
@@ -865,15 +546,15 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
 
-                               log.debug("deleteFileOrFolder " + fileId);
+                               log.debug("moveFile " + fileId);
 
-                               fileExplorerItemDao.moveFile(fileId, 
newParentId, roomId, isOwner, ownerId);
+                               fileDao.moveFile(fileId, newParentId, roomId, 
isOwner, ownerId);
 
-                               FileExplorerItem fileExplorerItem = 
fileExplorerItemDao.get(fileId);
+                               FileExplorerItem fileExplorerItem = 
fileDao.get(fileId);
 
                                if (moveToHome) {
                                        // set this file and all subfiles and 
folders the ownerId
@@ -915,7 +596,7 @@ public class FileWebService {
 
                try {
 
-                       Long userId = sessiondataDao.checkSession(SID);
+                       Long userId = sessionDao.checkSession(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 
@@ -923,9 +604,9 @@ public class FileWebService {
 
                                log.debug("moveFileSelf " + fileId);
 
-                               fileExplorerItemDao.moveFile(fileId, 
newParentId, roomId, isOwner, userId);
+                               fileDao.moveFile(fileId, newParentId, roomId, 
isOwner, userId);
 
-                               FileExplorerItem fileExplorerItem = 
fileExplorerItemDao.get(fileId);
+                               FileExplorerItem fileExplorerItem = 
fileDao.get(fileId);
 
                                if (moveToHome) {
                                        // set this file and all subfiles and 
folders the ownerId

Modified: 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Wed Nov 25 04:08:02 2015
@@ -217,11 +217,11 @@ public class RoomWebService {
                        } else {
                                throw new ServiceException("Insufficient 
permissins"); //TODO code -26
                        }
-               } catch (ServiceException err) {
-                       throw err;
-               } catch (Exception err) {
-                       log.error("add", err);
-                       throw new ServiceException(err.getMessage());
+               } catch (ServiceException e) {
+                       throw e;
+               } catch (Exception e) {
+                       log.error("add", e);
+                       throw new ServiceException(e.getMessage());
                }
        }
        

Modified: 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 (original)
+++ 
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 Wed Nov 25 04:08:02 2015
@@ -197,6 +197,8 @@ public class UserWebService {
                }
        }
 
+       //FIXME no update
+       
        /**
         * 
         * Delete a certain user by its id
@@ -217,7 +219,7 @@ public class UserWebService {
                        Long authUserId = sessionDao.checkSession(sid);
 
                        if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(authUserId))) {
-                               userDao.deleteUserID(id);
+                               userDao.delete(userDao.get(id), authUserId);
 
                                return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
                        } else {
@@ -255,14 +257,12 @@ public class UserWebService {
                        Long authUserId = sessionDao.checkSession(sid);
 
                        if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(authUserId))) {
-                               User userExternal = 
userDao.getExternalUser(externalId, externalType);
-
-                               Long userId = userExternal.getId();
+                               User user = userDao.getExternalUser(externalId, 
externalType);
 
                                // Setting user deleted
-                               userDao.deleteUserID(userId);
+                               userDao.delete(user, authUserId);
 
-                               return new ServiceResult(userId, "Deleted", 
Type.SUCCESS);
+                               return new ServiceResult(user.getId(), 
"Deleted", Type.SUCCESS);
                        } else {
                                return new ServiceResult(-26L, "Insufficient 
permissins", Type.ERROR);
                        }

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/pom.xml Wed Nov 25 
04:08:02 2015
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.openmeetings</groupId>
                <artifactId>openmeetings-parent</artifactId>
-               <version>3.1.0-SNAPSHOT</version>
+               <version>4.0.0-SNAPSHOT</version>
                <relativePath>..</relativePath>
        </parent>
        <artifactId>openmeetings-core</artifactId>

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 Wed Nov 25 04:08:02 2015
@@ -339,10 +339,10 @@ public abstract class BaseConverter {
        
        public void convertToMp4(Recording r, List<ConverterProcessResult> 
returnLog) throws IOException {
                //TODO add faststart, move filepaths to helpers
-               if (!isRecordingExists(r.getFileHash())) {
+               if (!isRecordingExists(r.getHash())) {
                        return;
                }
-               File file = getRecording(r.getFileHash());
+               File file = getRecording(r.getHash());
                String path = file.getCanonicalPath();
                String mp4path = path + MP4_EXTENSION;
                String[] argv = new String[] {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 Wed Nov 25 04:08:02 2015
@@ -260,7 +260,7 @@ public class InterviewConverter extends
                        recording.setFlvWidth(2 * flvWidth);
                        recording.setFlvHeight(flvHeight);
 
-                       recording.setFileHash(hashFileFullNameFlv);
+                       recording.setHash(hashFileFullNameFlv);
 
                        // Extract first Image for preview purpose
                        // ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f 
rawvideo -s

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
 Wed Nov 25 04:08:02 2015
@@ -144,7 +144,7 @@ public class RecordingConverter extends
 
                        
returnLog.add(ProcessHelper.executeScript("generateFullFLV", argv_fullFLV));
 
-                       recording.setFileHash(outputFullFlv.getName());
+                       recording.setHash(outputFullFlv.getName());
 
                        // Extract first Image for preview purpose
                        // ffmpeg -i movie.flv -vcodec mjpeg -vframes 1 -an -f 
rawvideo -s

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileProcessor.java
 Wed Nov 25 04:08:02 2015
@@ -61,7 +61,7 @@ public class FileProcessor {
 
        public ConverterProcessResultList processFile(Long userId, Long roomId, 
                        boolean isOwner, InputStream is, Long parentFolderId, 
String fileSystemName, 
-                       Long externalFileId, String externalType) throws 
Exception {
+                       String externalFileId, String externalType) throws 
Exception {
                
                ConverterProcessResultList returnError = new 
ConverterProcessResultList();
                

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=1716295&r1=1716294&r2=1716295&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
 Wed Nov 25 04:08:02 2015
@@ -48,19 +48,19 @@ public class FileUtils {
                        File base = OmFileHelper.getUploadFilesDir();
                        if (Type.Image == file.getType()) {
 
-                               File tFile = new File(base, file.getFileHash());
+                               File tFile = new File(base, file.getHash());
                                if (tFile.exists()) {
                                        fileSize += tFile.length();
                                }
 
-                               File thumbFile = new File(base, 
thumbImagePrefix + file.getFileHash());
+                               File thumbFile = new File(base, 
thumbImagePrefix + file.getHash());
                                if (thumbFile.exists()) {
                                        fileSize += thumbFile.length();
                                }
                        }
 
                        if (Type.Presentation == file.getType()) {
-                               File tFolder = new File(base, 
file.getFileHash());
+                               File tFolder = new File(base, file.getHash());
 
                                if (tFolder.exists()) {
                                        fileSize += 
OmFileHelper.getSize(tFolder);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LoadLibraryPresentationToObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LoadLibraryPresentationToObject.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LoadLibraryPresentationToObject.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LoadLibraryPresentationToObject.java
 Wed Nov 25 04:08:02 2015
@@ -21,7 +21,7 @@ package org.apache.openmeetings.core.doc
 import java.util.Iterator;
 import java.util.LinkedList;
 
-import org.apache.openmeetings.db.dto.file.FilesObject;
+import org.apache.openmeetings.db.dto.file.FileExplorerItemDTO;
 import org.apache.openmeetings.db.dto.file.PresentationObject;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.dom4j.Document;
@@ -83,14 +83,14 @@ public class LoadLibraryPresentationToOb
                }
        }
        
-       public FilesObject createListObjectLibraryByFileDocument(Element 
fileElement){
+       public FileExplorerItemDTO 
createListObjectLibraryByFileDocument(Element fileElement){
                try {
                        
                        
log.info("createListObjectLibraryByFileDocument"+fileElement);
-                       FilesObject fileObject = new FilesObject();
-                       fileObject.setFileName(fileElement.getText());
-                       
fileObject.setLastModified(fileElement.attribute("lastmod").getText());
-                       
fileObject.setFileBytes(fileElement.attribute("size").getText());
+                       FileExplorerItemDTO fileObject = new 
FileExplorerItemDTO();
+                       fileObject.setName(fileElement.getText());
+                       //FIXME TODO 
fileObject.setLastModified(fileElement.attribute("lastmod").getText());
+                       //FIXME TODO 
fileObject.setSize(fileElement.attribute("size").getText());
                        return fileObject;
                } catch (Exception err) {
                        log.error("createListObjectLibraryByFileDocument",err);
@@ -98,20 +98,20 @@ public class LoadLibraryPresentationToOb
                return null;
        }               
        
-       public LinkedList<FilesObject> 
createListObjectLibraryByFileDocumentThumbs(Element fileElement){
+       public LinkedList<FileExplorerItemDTO> 
createListObjectLibraryByFileDocumentThumbs(Element fileElement){
                try {
 
-                       LinkedList<FilesObject> thumbMap = new 
LinkedList<FilesObject>();
+                       LinkedList<FileExplorerItemDTO> thumbMap = new 
LinkedList<FileExplorerItemDTO>();
                        
                        for (@SuppressWarnings("unchecked")
                        Iterator<Element> i = fileElement.elementIterator(); 
i.hasNext(); ) {
                                Element thumbElement = i.next();
                                
log.info("createListObjectLibraryByFileDocumentThumbs"+thumbElement);
-                               FilesObject singleThumb = new FilesObject();
-                               singleThumb.setFileName(thumbElement.getName());
-                               
singleThumb.setFileNamePure(thumbElement.getText());
-                               
singleThumb.setLastModified(thumbElement.attribute("lastmod").getText());
-                               
singleThumb.setFileBytes(thumbElement.attribute("size").getText());
+                               FileExplorerItemDTO singleThumb = new 
FileExplorerItemDTO();
+                               singleThumb.setName(thumbElement.getName());
+                               //FIXME TODO 
singleThumb.setFileNamePure(thumbElement.getText());
+                               //FIXME TODO 
singleThumb.setLastModified(thumbElement.attribute("lastmod").getText());
+                               //FIXME TODO 
singleThumb.setSize(thumbElement.attribute("size").getText());
                                thumbMap.add(singleThumb);
                        }
                        

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 Wed Nov 25 04:08:02 2015
@@ -145,7 +145,7 @@ public class ConferenceLibrary implement
                                                false, // isPresentation
                                                localFileName, // WML 
localFileName
                                                true, // isStoredWML file
-                                               true, 0L, "");
+                                               true, "", "");
 
                                return fileExplorerId;
                        }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/RecordingService.java
 Wed Nov 25 04:08:02 2015
@@ -99,8 +99,8 @@ public class RecordingService implements
 
                        Recording recording = new Recording();
 
-                       recording.setFileHash("");
-                       recording.setFileName(roomRecordingName);
+                       recording.setHash("");
+                       recording.setName(roomRecordingName);
                        Long ownerId = client.getUserId();
                        if (ownerId != null && ownerId < 0) {
                                User c = userDao.get(-ownerId);

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/pom.xml Wed Nov 25 04:08:02 
2015
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.openmeetings</groupId>
                <artifactId>openmeetings-parent</artifactId>
-               <version>3.1.0-SNAPSHOT</version>
+               <version>4.0.0-SNAPSHOT</version>
                <relativePath>..</relativePath>
        </parent>
        <artifactId>openmeetings-db</artifactId>

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=1716295&r1=1716294&r2=1716295&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
 Wed Nov 25 04:08:02 2015
@@ -42,293 +42,249 @@ import org.springframework.transaction.a
 @Transactional
 public class FileExplorerItemDao {
 
-    private static final Logger log = 
Red5LoggerFactory.getLogger(FileExplorerItemDao.class, webAppRootKey);
+       private static final Logger log = 
Red5LoggerFactory.getLogger(FileExplorerItemDao.class, webAppRootKey);
        @PersistenceContext
        private EntityManager em;
 
-    public Long add(String fileName, String fileHash,
-            Long parentItemId, Long ownerId, Long roomId,
-            Long insertedBy, Boolean isFolder, Boolean isImage,
-            Boolean isPresentation, String wmlFilePath,
-            Boolean isStoredWmlFile, Boolean isChart,
-            Long externalId, String externalType) {
-        log.debug(".add(): adding file " + fileName+ " roomID: "+roomId);
-        try {
-            FileExplorerItem fileItem = new FileExplorerItem();
-            fileItem.setFileName(fileName);
-            fileItem.setFileHash(fileHash);
-            fileItem.setDeleted(false);
-            fileItem.setParentItemId(parentItemId);
-            fileItem.setOwnerId(ownerId);
-            fileItem.setRoomId(roomId);
-            fileItem.setInserted(new Date());
-            fileItem.setInsertedBy(insertedBy);
-            Type t = null;
-            if (isStoredWmlFile) {
-               t = Type.WmlFile;
-            }
-            if (isChart) {
-               t = Type.PollChart;
-            }
-            if (isImage) {
-               t = Type.Image;
-            }
-            if (isPresentation) {
-               t = Type.Presentation;
-            }
-            if (isFolder) {
-               t = Type.Folder;
-            }
-            fileItem.setType(t);
-            fileItem.setUpdated(new Date());
-            fileItem.setWmlFilePath(wmlFilePath);
-            fileItem.setExternalId(externalId);
-            fileItem.setExternalType(externalType);
+       public Long add(String fileName, String fileHash, Long parentId, Long 
ownerId, Long roomId, Long insertedBy,
+                       Boolean isFolder, Boolean isImage, Boolean 
isPresentation, String wmlFilePath, Boolean isStoredWmlFile,
+                       Boolean isChart, String externalId, String 
externalType) {
+               log.debug(".add(): adding file " + fileName + " roomID: " + 
roomId);
+               try {
+                       FileExplorerItem fileItem = new FileExplorerItem();
+                       fileItem.setName(fileName);
+                       fileItem.setHash(fileHash);
+                       fileItem.setDeleted(false);
+                       fileItem.setParentId(parentId);
+                       fileItem.setOwnerId(ownerId);
+                       fileItem.setRoomId(roomId);
+                       fileItem.setInserted(new Date());
+                       fileItem.setInsertedBy(insertedBy);
+                       Type t = null;
+                       if (isStoredWmlFile) {
+                               t = Type.WmlFile;
+                       }
+                       if (isChart) {
+                               t = Type.PollChart;
+                       }
+                       if (isImage) {
+                               t = Type.Image;
+                       }
+                       if (isPresentation) {
+                               t = Type.Presentation;
+                       }
+                       if (isFolder) {
+                               t = Type.Folder;
+                       }
+                       fileItem.setType(t);
+                       fileItem.setUpdated(new Date());
+                       fileItem.setWmlFilePath(wmlFilePath);
+                       fileItem.setExternalId(externalId);
+                       fileItem.setExternalType(externalType);
 
                        fileItem = em.merge(fileItem);
                        Long fileItemId = fileItem.getId();
 
-            log.debug(".add(): file " + fileName + " added as " + fileItemId);
-            return fileItemId;
-        } catch (Exception ex2) {
-            log.error(".add(): ", ex2);
-        }
-        return null;
-    }
-    
-    public Long addFileExplorerItem(FileExplorerItem fileItem) {
-        try {
+                       log.debug(".add(): file " + fileName + " added as " + 
fileItemId);
+                       return fileItemId;
+               } catch (Exception ex2) {
+                       log.error(".add(): ", ex2);
+               }
+               return null;
+       }
+
+       public Long addFileExplorerItem(FileExplorerItem fileItem) {
+               try {
 
                        fileItem = em.merge(fileItem);
                        Long fileItemId = fileItem.getId();
 
-            return fileItemId;
-        } catch (Exception ex2) {
-            log.error("[addFileExplorerItem]", ex2);
-        }
-        return null;
-    }
+                       return fileItemId;
+               } catch (Exception ex2) {
+                       log.error("[addFileExplorerItem]", ex2);
+               }
+               return null;
+       }
 
        public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(Long 
roomId, Long ownerId) {
-        log.debug(".getFileExplorerItemsByRoomAndOwner() started");
-        try {
+               log.debug(".getFileExplorerItemsByRoomAndOwner() started");
+               try {
                        TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFilesByRoomAndOwner", FileExplorerItem.class);
-                       query.setParameter("roomId",roomId);
-                       query.setParameter("ownerId",ownerId);
-                       
+                       query.setParameter("roomId", roomId);
+                       query.setParameter("ownerId", ownerId);
+
                        List<FileExplorerItem> fileExplorerList = 
query.getResultList();
 
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerItemsByRoomAndOwner]: ", ex2);
-        }
-        return null;
-    }
+                       return fileExplorerList;
+               } catch (Exception ex2) {
+                       log.error("[getFileExplorerItemsByRoomAndOwner]: ", 
ex2);
+               }
+               return null;
+       }
 
-    public List<FileExplorerItem> getByRoom(Long roomId) {
-        log.debug("getFileExplorerItemsByRoom roomId :: "+roomId);
+       public List<FileExplorerItem> getByRoom(Long roomId) {
+               log.debug("getFileExplorerItemsByRoom roomId :: " + roomId);
                TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFilesByRoom", FileExplorerItem.class);
-               query.setParameter("roomId",roomId);
-               
+               query.setParameter("roomId", roomId);
+
                return query.getResultList();
-    }
+       }
 
-    public List<FileExplorerItem> getByOwner(Long ownerId) {
-        log.debug(".getFileExplorerItemsByOwner() started");
+       public List<FileExplorerItem> getByOwner(Long ownerId) {
+               log.debug("getByOwner() started");
                TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFilesByOwner", FileExplorerItem.class);
-               query.setParameter("ownerId",ownerId);
-               
-        return query.getResultList();
-    }
+               query.setParameter("ownerId", ownerId);
 
-    public List<FileExplorerItem> getByParent(Long parentId) {
-        log.debug(".getFileExplorerItemsByParent() started");
+               return query.getResultList();
+       }
+
+       public List<FileExplorerItem> getByParent(Long parentId) {
+               log.debug("getByParent() started");
                TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFilesByParent", FileExplorerItem.class);
-               query.setParameter("parentItemId", parentId);
-               
-        return query.getResultList();
-    }
-
-    public FileExplorerItem getFileExplorerItemsByHash(String hash) {
-        try {
-
-                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileByHash", FileExplorerItem.class);
-                       query.setParameter("fileHash", hash);
-                       
-                       FileExplorerItem fileExplorerList = null;
-                       try {
-                               fileExplorerList = query.getSingleResult();
-                   } catch (NoResultException ex) {
-                   }
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerItemsById]: ", ex2);
-        }
-        return null;
-    }
-    
-    public FileExplorerItem get(Long fileId) {
-        try {
-
-                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileById", FileExplorerItem.class);
-                       query.setParameter("id", fileId);
-                       
-                       FileExplorerItem fileExplorerList = null;
+               query.setParameter("parentId", parentId);
+
+               return query.getResultList();
+       }
+
+       public FileExplorerItem getByHash(String hash) {
+               log.debug("getByHash() started");
+               FileExplorerItem f = null;
+               TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileByHash", FileExplorerItem.class);
+               query.setParameter("hash", hash);
+
+               try {
+                       f = query.getSingleResult();
+               } catch (NoResultException ex) {
+                       //no-op
+               }
+               return f;
+       }
+
+       public FileExplorerItem get(Long id) {
+               FileExplorerItem f = null;
+               if (id != null && id > 0) {
+                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileById", FileExplorerItem.class)
+                                       .setParameter("id", id);
+
                        try {
-                               fileExplorerList = query.getSingleResult();
-                   } catch (NoResultException ex) {
-                   }
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerItemsById]: ", ex2);
-        }
-        return null;
-    }
-    
-    public FileExplorerItem getFileExplorerItemsByExternalIdAndType(Long 
externalFileId, String externalType) {
-        log.debug(".getFileExplorerItemsByExternalIdAndType() started");
-
-        try {
-                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileExternal", FileExplorerItem.class);
-                       query.setParameter("externalFileId", externalFileId);
-                       query.setParameter("externalType", externalType);
-                       
-                       FileExplorerItem fileExplorerList = null;
+                               f = query.getSingleResult();
+                       } catch (NoResultException ex) {
+                       }
+               } else {
+                       log.info("[get] " + "Info: No id given");
+               }
+               return f;
+       }
+
+       public FileExplorerItem get(String externalId, String externalType) {
+               FileExplorerItem f = null;
+               log.debug("get started");
+
+               try {
+                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFileExternal", FileExplorerItem.class)
+                                       .setParameter("externalFileId", 
externalId).setParameter("externalType", externalType);
+
                        try {
-                               fileExplorerList = query.getSingleResult();
-                   } catch (NoResultException ex) {
-                   }
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerItemsByExternalIdAndType]: ", ex2);
-        }
-        return null;
-    }
-
-    public List<FileExplorerItem> getFileExplorerItems() {
-        log.debug(".getFileExplorerItems() started");
-
-        try {
-                       TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getAllFiles", FileExplorerItem.class);
-
-            List<FileExplorerItem> fileExplorerList = query.getResultList();
-
-            return fileExplorerList;
-        } catch (Exception ex2) {
-            log.error("[getFileExplorerItems]: ", ex2);
-        }
-        return null;
-    }    
-
-    /**
-     * @param fileId
-     */
-    public void delete(Long fileId) {
-        log.debug(".delete() started");
-        delete(get(fileId));
-    }
-    
-    public void delete(FileExplorerItem f) {
-        f.setDeleted(true);
-        f.setUpdated(new Date());
-
-        update(f);
-    }
-    
-    public void deleteFileExplorerItemByExternalIdAndType(Long 
externalFilesid, String externalType) {
-        log.debug(".deleteFileExplorerItemByExternalIdAndType() started");
-
-        try {
-
-            FileExplorerItem fId = 
getFileExplorerItemsByExternalIdAndType(externalFilesid, externalType);
-
-            if (fId == null) {
-               throw new Exception("externalFilesid: "+externalFilesid+" and 
externalType: "+externalType+" Not found");
-            }
-            
-            fId.setDeleted(true);
-            fId.setUpdated(new Date());
-
-            update(fId);
-        } catch (Exception ex2) {
-            log.error("[deleteFileExplorerItemByExternalIdAndType]: ", ex2);
-        }
-    }
-
-    /**
-     * @param fileId
-     * @param fileName
-     */
-    public void updateFileOrFolderName(Long fileId, String fileName) {
-        log.debug(".updateFileOrFolderName() started");
-
-        try {
-
-            FileExplorerItem fId = get(fileId);
-
-            fId.setFileName(fileName);
-            fId.setUpdated(new Date());
-
-            update(fId);
-        } catch (Exception ex2) {
-            log.error("[updateFileOrFolderName]: ", ex2);
-        }
-    }
+                               f = query.getSingleResult();
+                       } catch (NoResultException ex) {
+                       }
+
+               } catch (Exception ex2) {
+                       log.error("[get]: ", ex2);
+               }
+               return f;
+       }
+
+       public List<FileExplorerItem> get() {
+               log.debug("get started");
+
+               return em.createNamedQuery("getAllFiles", 
FileExplorerItem.class).getResultList();
+       }
+
+       public void delete(FileExplorerItem f) {
+               f.setDeleted(true);
+               f.setUpdated(new Date());
+
+               update(f);
+       }
 
-    public FileExplorerItem update(FileExplorerItem f) {
-        // fId.setUpdated(new Date());
+       public void delete(String externalId, String externalType) {
+               log.debug("delete started");
+
+               delete(get(externalId, externalType));
+       }
+
+       /**
+        * @param id
+        * @param name
+        */
+       public void updateFileOrFolderName(Long id, String name) {
+               log.debug(".updateFileOrFolderName() started");
+
+               try {
+
+                       FileExplorerItem fId = get(id);
+
+                       fId.setName(name);
+                       fId.setUpdated(new Date());
+
+                       update(fId);
+               } catch (Exception ex2) {
+                       log.error("[updateFileOrFolderName]: ", ex2);
+               }
+       }
+
+       public FileExplorerItem update(FileExplorerItem f) {
+               // fId.setUpdated(new Date());
 
                if (f.getId() == null) {
                        em.persist(f);
-           } else {
-               if (!em.contains(f)) {
-                       f = em.merge(f);
-                   }
+               } else {
+                       if (!em.contains(f)) {
+                               f = em.merge(f);
+                       }
                }
                return f;
-    }
+       }
 
-    /**
-     * @param fileId
-     * @param newParentFileExplorerItemId
-     * @param isOwner
-     */
-    public void moveFile(Long fileId, Long parentId, Long roomId, Boolean 
isOwner, Long ownerId) {
-        log.debug(".moveFile() started");
-        try {
-
-            FileExplorerItem fId = get(fileId);
-
-            fId.setParentItemId(parentId);
-
-            if (parentId == 0) {
-                if (isOwner) {
-                    // move to personal Folder
-                    fId.setOwnerId(ownerId);
-                } else {
-                    // move to public room folder
-                    fId.setOwnerId(null);
-                    fId.setRoomId(roomId);
-                }
-            } else {
-                fId.setOwnerId(null);
-            }
+       /**
+        * @param fileId
+        * @param newParentFileExplorerItemId
+        * @param isOwner
+        */
+       public void moveFile(Long fileId, Long parentId, Long roomId, Boolean 
isOwner, Long ownerId) {
+               log.debug(".moveFile() started");
+               try {
+
+                       FileExplorerItem fId = get(fileId);
+
+                       fId.setParentId(parentId);
+
+                       if (parentId == 0) {
+                               if (isOwner) {
+                                       // move to personal Folder
+                                       fId.setOwnerId(ownerId);
+                               } else {
+                                       // move to public room folder
+                                       fId.setOwnerId(null);
+                                       fId.setRoomId(roomId);
+                               }
+                       } else {
+                               fId.setOwnerId(null);
+                       }
 
-            fId.setUpdated(new Date());
+                       fId.setUpdated(new Date());
 
                        if (fId.getId() == null) {
                                em.persist(fId);
-                   } else {
-                       if (!em.contains(fId)) {
-                               em.merge(fId);
-                           }
+                       } else {
+                               if (!em.contains(fId)) {
+                                       em.merge(fId);
+                               }
                        }
-        } catch (Exception ex2) {
-            log.error("[updateFileOrFolderName]: ", ex2);
-        }
-    }
+               } catch (Exception ex2) {
+                       log.error("[updateFileOrFolderName]: ", ex2);
+               }
+       }
 
 }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/RecordingDao.java
 Wed Nov 25 04:08:02 2015
@@ -77,7 +77,7 @@ public class RecordingDao {
        public Recording getByHash(String hash) {
                try {
                        TypedQuery<Recording> query = 
em.createNamedQuery("getRecordingByHash", Recording.class);
-                       query.setParameter("fileHash", hash);
+                       query.setParameter("hash", hash);
 
                        try {
                                return query.getSingleResult();
@@ -85,7 +85,7 @@ public class RecordingDao {
                                // noop
                        }
                } catch (Exception ex2) {
-                       log.error("[getRecordingByHash]: ", ex2);
+                       log.error("[getByHash]: ", ex2);
                }
                return null;
        }
@@ -280,8 +280,8 @@ public class RecordingDao {
        private long getSize(Recording r) {
                long size = 0;
 
-               if (isRecordingExists(r.getFileHash())) {
-                       size += getRecording(r.getFileHash()).length();
+               if (isRecordingExists(r.getHash())) {
+                       size += getRecording(r.getHash()).length();
                }
                if (isRecordingExists(r.getAlternateDownload())) {
                        size += getRecording(r.getAlternateDownload()).length();
@@ -289,11 +289,11 @@ public class RecordingDao {
                if (isRecordingExists(r.getPreviewImage())) {
                        size += getRecording(r.getPreviewImage()).length();
                }
-               if (isRecordingExists(r.getFileHash() + MP4_EXTENSION)) {
-                       size += getMp4Recording(r.getFileHash()).length();
+               if (isRecordingExists(r.getHash() + MP4_EXTENSION)) {
+                       size += getMp4Recording(r.getHash()).length();
                }
-               if (isRecordingExists(r.getFileHash() + OGG_EXTENSION)) {
-                       size += getOggRecording(r.getFileHash()).length();
+               if (isRecordingExists(r.getHash() + OGG_EXTENSION)) {
+                       size += getOggRecording(r.getHash()).length();
                }
                for (Recording rec : getByParent(r.getId())) {
                        size += getSize(rec);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 Wed Nov 25 04:08:02 2015
@@ -240,17 +240,13 @@ public class UserDao implements IDataPro
                return u;
        }
        
-       public void delete(User u, Long userId) {
-               deleteUserID(u.getId());
-       }
-
        public User get(long id) {
                return get(id, false);
        }
        
-       private User get(long id, boolean force) {
+       private User get(Long id, boolean force) {
                User u = null;
-               if (id > 0) {
+               if (id != null && id > 0) {
                        OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
                        boolean qrce = 
oem.getFetchPlan().getQueryResultCacheEnabled();
                        oem.getFetchPlan().setQueryResultCacheEnabled(false); 
//FIXME update in cache during update
@@ -273,35 +269,22 @@ public class UserDao implements IDataPro
                return u;
        }
 
-       public Long deleteUserID(long userId) {
-               try {
-                       if (userId != 0) {
-                               User us = get(userId);
-                               for (GroupUser ou : us.getGroupUsers()){
-                                       em.remove(ou);
-                               }
-                               us.setGroupUsers(null);
-                               us.setDeleted(true);
-                               us.setUpdated(new Date());
-                               us.setSipUser(null);
-                               Address adr = us.getAddress();
-                               if (adr != null) {
-                                       adr.setDeleted(true);
-                               }
-
-                               if (us.getId() == null) {
-                                       em.persist(us);
-                               } else {
-                                       if (!em.contains(us)) {
-                                               em.merge(us);
-                                       }
-                               }
-                               return us.getId();
+       public void delete(User u, Long userId) {
+               if (u != null && u.getId() != null) {
+                       for (GroupUser ou : u.getGroupUsers()){
+                               em.remove(ou);
+                       }
+                       u.setGroupUsers(null);
+                       u.setDeleted(true);
+                       u.setUpdated(new Date());
+                       u.setSipUser(null);
+                       Address adr = u.getAddress();
+                       if (adr != null) {
+                               adr.setDeleted(true);
                        }
-               } catch (Exception ex2) {
-                       log.error("[deleteUserID]", ex2);
+
+                       update(u, userId);
                }
-               return null;
        }
 
        public List<User> get(Collection<Long> ids) {

Copied: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
 (from r1716294, 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java?p2=openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java&p1=openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java&r1=1716294&r2=1716295&rev=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FilesObject.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
 Wed Nov 25 04:08:02 2015
@@ -18,58 +18,132 @@
  */
 package org.apache.openmeetings.db.dto.file;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
+
 /**
  * This Object will represent a File on the File-System
+ * 
  * @author sebastianwagner
  *
  */
-public class FilesObject {
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class FileExplorerItemDTO implements Serializable {
+       private static final long serialVersionUID = 1L;
+       private Long id;
+       private String name;
+       private Long parentId;
+       private Long roomId;
+       private Long size;
+       private String externalId;
+       private String externalType;
+       private Type type;
+
+       public FileExplorerItemDTO() {}
+
+       public FileExplorerItemDTO(FileExplorerItem f) {
+               id = f.getId();
+               name = f.getName();
+               parentId = f.getParentId();
+               roomId = f.getRoomId();
+               size = f.getSize();
+               externalId = f.getExternalId();
+               externalType = f.getExternalType();
+               type = f.getType();
+       }
        
-       private String fileName;
-       private String fileNamePure;
-       private String fileNameExt;
-       private String lastModified;
-       private String fileBytes;
-       private String isimage;
+       public FileExplorerItem get() {
+               FileExplorerItem f = new FileExplorerItem();
+               f.setId(id);
+               f.setName(name);
+               f.setParentId(parentId);
+               f.setRoomId(roomId);
+               f.setSize(size);
+               f.setExternalId(externalId);
+               f.setExternalType(externalType);
+               f.setType(type);
+               return f;
+       }
        
-       public FilesObject() {}
+       public Long getId() {
+               return id;
+       }
        
-       public String getFileName() {
-               return fileName;
+       public void setId(Long id) {
+               this.id = id;
+       }
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String fileName) {
+               this.name = fileName;
+       }
+
+       public Long getParentId() {
+               return parentId;
+       }
+
+       public void setParentId(Long parentId) {
+               this.parentId = parentId;
        }
-       public void setFileName(String fileName) {
-               this.fileName = fileName;
+
+       public Long getRoomId() {
+               return roomId;
        }
-       public String getFileNamePure() {
-               return fileNamePure;
+
+       public void setRoomId(Long roomId) {
+               this.roomId = roomId;
        }
-       public void setFileNamePure(String fileNamePure) {
-               this.fileNamePure = fileNamePure;
+
+       public Long getSize() {
+               return size;
        }
-       public String getFileNameExt() {
-               return fileNameExt;
+
+       public void setSize(Long size) {
+               this.size = size;
        }
-       public void setFileNameExt(String fileNameExt) {
-               this.fileNameExt = fileNameExt;
+
+       public String getExternalId() {
+               return externalId;
        }
-       public String getLastModified() {
-               return lastModified;
+
+       public void setExternalId(String externalId) {
+               this.externalId = externalId;
        }
-       public void setLastModified(String lastModified) {
-               this.lastModified = lastModified;
+
+       public String getExternalType() {
+               return externalType;
        }
-       public String getFileBytes() {
-               return fileBytes;
+
+       public void setExternalType(String externalType) {
+               this.externalType = externalType;
        }
-       public void setFileBytes(String fileBytes) {
-               this.fileBytes = fileBytes;
+
+       public Type getType() {
+               return type;
        }
-       public String getIsimage() {
-               return isimage;
+
+       public void setType(Type type) {
+               this.type = type;
        }
-       public void setIsimage(String isimage) {
-               this.isimage = isimage;
+
+       public static List<FileExplorerItemDTO> list(List<FileExplorerItem> l) {
+               List<FileExplorerItemDTO> list = new ArrayList<>();
+               if (l != null) {
+                       for (FileExplorerItem f : l) {
+                               list.add(new FileExplorerItemDTO(f));
+                       }
+               }
+               return list;
        }
-       
-       
 }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LiberaryObject.java
 Wed Nov 25 04:08:02 2015
@@ -29,17 +29,17 @@ public class LiberaryObject {
        //These Objects here should only be initialized if needed, 
        //an empty LinkedList thorws a ServiceInvokationTarget-Exception (makes 
no sense to me but it
        //is the way in Axis2 1.3
-       private LinkedList<FilesObject> filesList;
+       private LinkedList<FileExplorerItemDTO> filesList;
        private LinkedList<FoldersObject> foldersList;
        private PresentationObject presentationObject;
        private String error;
        
        public LiberaryObject() {}
        
-       public LinkedList<FilesObject> getFilesList() {
+       public LinkedList<FileExplorerItemDTO> getFilesList() {
                return filesList;
        }
-       public void setFilesList(LinkedList<FilesObject> filesList) {
+       public void setFilesList(LinkedList<FileExplorerItemDTO> filesList) {
                this.filesList = filesList;
        }
        public LinkedList<FoldersObject> getFoldersList() {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/LibraryPresentation.java
 Wed Nov 25 04:08:02 2015
@@ -19,37 +19,42 @@
 package org.apache.openmeetings.db.dto.file;
 
 public class LibraryPresentation {
-
        private LibraryPresentationFile originalDocument = null;
        private LibraryPresentationFile pdfDocument = null;
        private LibraryPresentationFile swfDocument = null;
        private LibraryPresenationThumbs thumbs = null;
-       
+
        public LibraryPresentation() {}
-       
+
        public LibraryPresentationFile getOriginalDocument() {
                return originalDocument;
        }
+
        public void setOriginalDocument(LibraryPresentationFile 
originalDocument) {
                this.originalDocument = originalDocument;
        }
+
        public LibraryPresentationFile getPdfDocument() {
                return pdfDocument;
        }
+
        public void setPdfDocument(LibraryPresentationFile pdfDocument) {
                this.pdfDocument = pdfDocument;
        }
+
        public LibraryPresentationFile getSwfDocument() {
                return swfDocument;
        }
+
        public void setSwfDocument(LibraryPresentationFile swfDocument) {
                this.swfDocument = swfDocument;
        }
+
        public LibraryPresenationThumbs getThumbs() {
                return thumbs;
        }
+
        public void setThumbs(LibraryPresenationThumbs thumbs) {
                this.thumbs = thumbs;
        }
-       
 }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/PresentationObject.java
 Wed Nov 25 04:08:02 2015
@@ -26,35 +26,35 @@ import java.util.LinkedList;
  */
 public class PresentationObject {
        
-       private FilesObject originalDocument;
-       private FilesObject pdfDocument;
-       private FilesObject swfDocument;
-       LinkedList<FilesObject> thumbs;
+       private FileExplorerItemDTO originalDocument;
+       private FileExplorerItemDTO pdfDocument;
+       private FileExplorerItemDTO swfDocument;
+       LinkedList<FileExplorerItemDTO> thumbs;
 
        public PresentationObject() {}
        
-       public FilesObject getOriginalDocument() {
+       public FileExplorerItemDTO getOriginalDocument() {
                return originalDocument;
        }
-       public void setOriginalDocument(FilesObject originalDocument) {
+       public void setOriginalDocument(FileExplorerItemDTO originalDocument) {
                this.originalDocument = originalDocument;
        }
-       public FilesObject getPdfDocument() {
+       public FileExplorerItemDTO getPdfDocument() {
                return pdfDocument;
        }
-       public void setPdfDocument(FilesObject pdfDocument) {
+       public void setPdfDocument(FileExplorerItemDTO pdfDocument) {
                this.pdfDocument = pdfDocument;
        }
-       public FilesObject getSwfDocument() {
+       public FileExplorerItemDTO getSwfDocument() {
                return swfDocument;
        }
-       public void setSwfDocument(FilesObject swfDocument) {
+       public void setSwfDocument(FileExplorerItemDTO swfDocument) {
                this.swfDocument = swfDocument;
        }
-       public LinkedList<FilesObject> getThumbs() {
+       public LinkedList<FileExplorerItemDTO> getThumbs() {
                return thumbs;
        }
-       public void setThumbs(LinkedList<FilesObject> thumbs) {
+       public void setThumbs(LinkedList<FileExplorerItemDTO> thumbs) {
                this.thumbs = thumbs;
        }
        

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/record/RecordingDTO.java
 Wed Nov 25 04:08:02 2015
@@ -49,8 +49,8 @@ public class RecordingDTO implements Ser
        
        public RecordingDTO(Recording r) {
                this.id = r.getId();
-               this.name = r.getFileName();
-               this.flvName = r.getFileHash();
+               this.name = r.getName();
+               this.flvName = r.getHash();
                this.aviName = r.getAlternateDownload();
                this.roomId = r.getRoomId();
                this.status = r.getStatus().name();
@@ -150,12 +150,12 @@ public class RecordingDTO implements Ser
        }
        
        public static List<RecordingDTO> list(List<Recording> l) {
-               List<RecordingDTO> rList = new ArrayList<RecordingDTO>();
+               List<RecordingDTO> list = new ArrayList<>();
                if (l != null) {
                        for (Recording r : l) {
-                               rList.add(new RecordingDTO(r));
+                               list.add(new RecordingDTO(r));
                        }
                }
-               return rList;
+               return list;
        }
 }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java?rev=1716295&r1=1716294&r2=1716295&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObjectList.java
 Wed Nov 25 04:08:02 2015
@@ -23,10 +23,10 @@ import java.util.Map;
 
 public class WhiteboardObjectList {
        private Long roomId;
-       private Map<Long,WhiteboardObject> whiteboardObjects = new 
HashMap<Long,WhiteboardObject>();
-       
+       private Map<Long, WhiteboardObject> whiteboardObjects = new 
HashMap<Long, WhiteboardObject>();
+
        public WhiteboardObjectList() {}
-       
+
        public Long getRoomId() {
                return roomId;
        }

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=1716295&r1=1716294&r2=1716295&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
 Wed Nov 25 04:08:02 2015
@@ -34,17 +34,16 @@ import org.simpleframework.xml.Root;
 @NamedQueries({
        @NamedQuery(name = "getAllFiles", query = "SELECT c FROM 
FileExplorerItem c ORDER BY c.id")
        , @NamedQuery(name = "getFileById", query = "SELECT c FROM 
FileExplorerItem c WHERE c.id = :id")
-       , @NamedQuery(name = "getFileByHash", query = "SELECT c FROM 
FileExplorerItem c WHERE c.fileHash = :fileHash")
+       , @NamedQuery(name = "getFileByHash", query = "SELECT c FROM 
FileExplorerItem c WHERE c.hash = :hash")
        , @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 ")
+                       + " AND c.roomId = :roomId AND c.ownerId = :ownerId 
ORDER BY c.type ASC, c.name ")
        , @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 IS NULL ORDER 
BY c.type ASC, c.fileName ")
+                       "AND c.ownerId IS NULL AND c.parentId IS NULL ORDER BY 
c.type ASC, c.name ")
        , @NamedQuery(name = "getFilesByOwner", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false AND c.ownerId = :ownerId "
-                       + "AND c.parentItemId IS NULL ORDER BY c.type ASC, 
c.fileName ")
+                       + "AND c.parentId IS NULL ORDER BY c.type ASC, c.name ")
        , @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 "
-                       + "AND c.externalType LIKE :externalType")
+                       + "AND c.parentId = :parentId ORDER BY c.type ASC, 
c.name ")
+       , @NamedQuery(name = "getFileExternal", query = "SELECT c FROM 
FileExplorerItem c WHERE c.externalId = :externalId AND c.externalType LIKE 
:externalType")
 })
 @Table(name = "fileexploreritem")
 @Root
@@ -58,14 +57,14 @@ public class FileExplorerItem extends Fi
 
        @Column(name = "filesize")
        @Element(data = true, required = false)
-       private Long fileSize;
+       private Long size;
 
        @Column(name = "wml_file_path")
        @Element(data = true, required = false)
        private String wmlFilePath;
 
-       @Column(name = "external_file_id")
-       private Long externalId;
+       @Column(name = "external_id")
+       private String externalId;
 
        @Column(name = "external_type")
        private String externalType;
@@ -78,12 +77,12 @@ public class FileExplorerItem extends Fi
                this.id = id;
        }
 
-       public Long getFileSize() {
-               return fileSize;
+       public Long getSize() {
+               return size;
        }
 
-       public void setFileSize(Long fileSize) {
-               this.fileSize = fileSize;
+       public void setSize(Long fileSize) {
+               this.size = fileSize;
        }
 
        public String getWmlFilePath() {
@@ -94,11 +93,11 @@ public class FileExplorerItem extends Fi
                this.wmlFilePath = wmlFilePath;
        }
 
-       public Long getExternalId() {
+       public String getExternalId() {
                return externalId;
        }
 
-       public void setExternalId(Long externalId) {
+       public void setExternalId(String externalId) {
                this.externalId = externalId;
        }
 

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=1716295&r1=1716294&r2=1716295&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
 Wed Nov 25 04:08:02 2015
@@ -39,17 +39,17 @@ public abstract class FileItem implement
                Folder, Image, PollChart, Presentation, Recording, Video, 
WmlFile
        }
 
-       @Column(name = "filename")
-       @Element(data = true, required = false)
-       private String fileName;
-
-       @Column(name = "filehash")
-       @Element(data = true, required = false)
-       private String fileHash;
+       @Column(name = "name")
+       @Element(name = "fileName", data = true, required = false)
+       private String name;
+
+       @Column(name = "hash")
+       @Element(name = "fileHash", data = true, required = false)
+       private String hash;
 
-       @Column(name = "parent_fileexploreritem_id")
+       @Column(name = "parent_item_id")
        @Element(data = true, name = "parentFileExplorerItemId", required = 
false)
-       private Long parentItemId;
+       private Long parentId;
 
        @Column(name = "room_id")
        @Element(data = true, required = false, name = "room_id")
@@ -94,28 +94,28 @@ public abstract class FileItem implement
        @Enumerated(EnumType.STRING)
        private Type type;
 
-       public String getFileName() {
-               return fileName;
+       public String getName() {
+               return name;
        }
 
-       public void setFileName(String fileName) {
-               this.fileName = fileName;
+       public void setName(String name) {
+               this.name = name;
        }
 
-       public String getFileHash() {
-               return fileHash;
+       public String getHash() {
+               return hash;
        }
 
-       public void setFileHash(String fileHash) {
-               this.fileHash = fileHash;
+       public void setHash(String hash) {
+               this.hash = hash;
        }
 
-       public Long getParentItemId() {
-               return parentItemId;
+       public Long getParentId() {
+               return parentId;
        }
 
-       public void setParentItemId(Long parentItemId) {
-               this.parentItemId = parentItemId;
+       public void setParentId(Long parentId) {
+               this.parentId = parentId;
        }
 
        public Long getRoomId() {



Reply via email to