Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java Wed Nov 25 04:08:02 2015 @@ -66,18 +66,18 @@ import org.simpleframework.xml.Root; @Entity @NamedQueries({ @NamedQuery(name = "getRecordingById", query = "SELECT f FROM Recording f WHERE f.id = :id") - , @NamedQuery(name = "getRecordingByHash", query = "SELECT f FROM Recording f WHERE f.fileHash = :fileHash") + , @NamedQuery(name = "getRecordingByHash", query = "SELECT f FROM Recording f WHERE f.hash = :hash") , @NamedQuery(name = "getRecordingsByExternalUser", query = "SELECT c FROM Recording c, User u " + "WHERE c.insertedBy = u.id AND u.externalId = :externalId AND u.externalType = :externalType " + "AND c.deleted = false") , @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM Recording f WHERE f.deleted = false AND f.ownerId IS NULL " - + "AND f.groupId IS NULL AND (f.parentItemId IS NULL OR f.parentItemId = 0) " + + "AND f.groupId IS NULL AND (f.parentId IS NULL OR f.parentId = 0) " + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "getRecordingsByGroup", query = "SELECT f FROM Recording f WHERE f.deleted = false AND f.ownerId IS NULL " - + "AND f.groupId = :groupId AND (f.parentItemId IS NULL OR f.parentItemId = 0) " + + "AND f.groupId = :groupId AND (f.parentId IS NULL OR f.parentId = 0) " + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM Recording f WHERE f.deleted = false AND f.ownerId = :ownerId " - + "AND (f.parentItemId IS NULL OR f.parentItemId = 0) " + + "AND (f.parentId IS NULL OR f.parentId = 0) " + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "resetRecordingProcessingStatus", query = "UPDATE Recording f SET f.status = :error WHERE f.status IN (:recording, :converting)") , @NamedQuery(name = "getRecordingsAll", query = "SELECT c FROM Recording c LEFT JOIN FETCH c.metaData ORDER BY c.id") @@ -87,7 +87,7 @@ import org.simpleframework.xml.Root; + "AND r.externalType LIKE :externalType AND c.deleted = false") , @NamedQuery(name = "getRecordingsByRoom", query = "SELECT c FROM Recording c WHERE c.deleted = false AND c.roomId = :roomId " + "ORDER BY c.type ASC, c.inserted") - , @NamedQuery(name = "getRecordingsByParent", query = "SELECT f FROM Recording f WHERE f.deleted = false AND f.parentItemId = :parentId " + , @NamedQuery(name = "getRecordingsByParent", query = "SELECT f FROM Recording f WHERE f.deleted = false AND f.parentId = :parentId " + "ORDER BY f.type ASC, f.inserted") , @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM Recording rec, Room r, User u " + "WHERE rec.deleted = false AND rec.roomId = r.id AND rec.insertedBy = u.id "
Modified: openmeetings/trunk/singlewebapp/openmeetings-flash/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-flash/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-flash/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-flash/pom.xml Wed Nov 25 04:08:02 2015 @@ -21,7 +21,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-flash</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-install/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-install/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-install</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java Wed Nov 25 04:08:02 2015 @@ -288,7 +288,7 @@ public class BackupExport { * ##################### File-Explorer */ { - List<FileExplorerItem> list = fileExplorerItemDao.getFileExplorerItems(); + List<FileExplorerItem> list = fileExplorerItemDao.get(); Registry registry = new Registry(); Strategy strategy = new RegistryStrategy(registry); Serializer serializer = new Persister(strategy); Modified: openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java Wed Nov 25 04:08:02 2015 @@ -592,8 +592,8 @@ public class BackupImport { if (file.getOwnerId() != null) { file.setOwnerId(usersMap.get(file.getOwnerId())); } - if (file.getParentItemId() != null && file.getParentItemId() <= 0L) { - file.setParentItemId(null); + if (file.getParentId() != null && file.getParentId() <= 0L) { + file.setParentId(null); } fileExplorerItemDao.addFileExplorerItem(file); } Modified: openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Wed Nov 25 04:08:02 2015 @@ -369,7 +369,7 @@ public class Admin { deleted = 0; for (File f : files.listFiles()) { long fSize = OmFileHelper.getSize(f); - FileExplorerItem item = fileDao.getFileExplorerItemsByHash(f.getName()); + FileExplorerItem item = fileDao.getByHash(f.getName()); if (item == null) { if (cleanup) { FileHelper.removeRec(f); @@ -385,8 +385,8 @@ public class Admin { } } missing = 0; - for (FileExplorerItem item : fileDao.getFileExplorerItems()) { - if (!item.isDeleted() && item.getFileHash() != null && !new File(files, item.getFileHash()).exists()) { + for (FileExplorerItem item : fileDao.get()) { + if (!item.isDeleted() && item.getHash() != null && !new File(files, item.getHash()).exists()) { missing++; } } @@ -414,7 +414,7 @@ public class Admin { RecordingDao recordDao = getApplicationContext(ctxName).getBean(RecordingDao.class); long[] params = {0, 0}; // [0] == deleted [1] == missing for (Recording rec : recordDao.get()) { - checkRecordingFile(hibernateDir, rec.getFileHash(), rec.isDeleted(), params, cleanup); + checkRecordingFile(hibernateDir, rec.getHash(), rec.isDeleted(), params, cleanup); checkRecordingFile(hibernateDir, rec.getAlternateDownload(), rec.isDeleted(), params, cleanup); checkRecordingFile(hibernateDir, rec.getPreviewImage(), rec.isDeleted(), params, cleanup); } Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/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-screenshare</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-server/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-server/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-server/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-server/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-server</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-service/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-service/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-service/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-service</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-util/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-util/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-util</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/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-web</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java Wed Nov 25 04:08:02 2015 @@ -83,10 +83,10 @@ public class ConvertingErrorsDialog exte protected void onOpen(IPartialPageRequestHandler handler) { Recording f = getModelObject(); List<RecordingLog> logs = getBean(RecordingLogDao.class).getByRecordingId(f.getId()); - if (f.getFileHash() == null) { + if (f.getHash() == null) { message.setVisible(true); message.setDefaultModelObject(Application.getString(888)); - } else if (!isRecordingExists(f.getFileHash() + MP4_EXTENSION)) { + } else if (!isRecordingExists(f.getHash() + MP4_EXTENSION)) { message.setVisible(true); message.setDefaultModelObject(Application.getString(1595)); } else { Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java Wed Nov 25 04:08:02 2015 @@ -40,7 +40,7 @@ public class FileItemPanel extends Folde if (model.getObject() instanceof Recording) { Recording r = (Recording)model.getObject(); long errorCount = getBean(RecordingLogDao.class).countErrors(r.getId()); - boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !isRecordingExists(r.getFileHash() + MP4_EXTENSION)); + boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !isRecordingExists(r.getHash() + MP4_EXTENSION)); errors.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Wed Nov 25 04:08:02 2015 @@ -107,7 +107,7 @@ public class FileItemTree<T extends File case Recording: { Recording r = (Recording)f; - if (isRecordingExists(r.getFileHash() + MP4_EXTENSION)) { + if (isRecordingExists(r.getHash() + MP4_EXTENSION)) { style = "recording om-icon"; } else if (Status.RECORDING == r.getStatus() || Status.CONVERTING == r.getStatus()) { style = "processing-recording om-icon"; @@ -150,7 +150,7 @@ public class FileItemTree<T extends File @Override protected IModel<String> newLabelModel(IModel<T> model) { - return Model.of(model.getObject().getFileName()); + return Model.of(model.getObject().getName()); } }; } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java Wed Nov 25 04:08:02 2015 @@ -146,14 +146,14 @@ public abstract class FileTreePanel exte public void createRecordingFolder(String name) { Recording f = new Recording(); - f.setFileName(name); + f.setName(name); f.setInsertedBy(getUserId()); f.setInserted(new Date()); f.setType(Type.Folder);; Recording p = (Recording)selectedFile.getObject(); long parentId = p.getId(); if (Type.Folder == p.getType()) { - f.setParentItemId(parentId); + f.setParentId(parentId); } f.setOwnerId(p.getOwnerId()); f.setGroupId(p.getGroupId()); Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java Wed Nov 25 04:08:02 2015 @@ -71,7 +71,7 @@ public class FolderPanel extends Panel { if (pid == f.getId()) { return; } - f.setParentItemId(pid > 0 ? pid : null); + f.setParentId(pid > 0 ? pid : null); f.setOwnerId(p.getOwnerId()); f.setRoomId(p.getRoomId()); if (f instanceof Recording) { @@ -102,7 +102,7 @@ public class FolderPanel extends Panel { d.add(AttributeAppender.append("class", r instanceof Recording ? "recorditem" : "fileitem")); drag = d; } - drag.add(r.getId() < 1 ? new Label("name", r.getFileName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getFileName())) { + drag.add(r.getId() < 1 ? new Label("name", r.getName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getName())) { private static final long serialVersionUID = 1L; @Override @@ -114,7 +114,7 @@ public class FolderPanel extends Panel { protected void onSubmit(AjaxRequestTarget target) { super.onSubmit(target); FileItem fi = model.getObject(); - fi.setFileName(getEditor().getModelObject()); + fi.setName(getEditor().getModelObject()); if (fi instanceof Recording) { getBean(RecordingDao.class).update((Recording)fi); } else { Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/MyRecordingTreeProvider.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/MyRecordingTreeProvider.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/MyRecordingTreeProvider.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/MyRecordingTreeProvider.java Wed Nov 25 04:08:02 2015 @@ -36,7 +36,7 @@ public class MyRecordingTreeProvider ext Recording r = new Recording(); r.setId(0L); r.setType(Type.Folder); - r.setFileName(Application.getString(860)); + r.setName(Application.getString(860)); r.setOwnerId(getUserId()); return Arrays.asList(r).iterator(); } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/PublicRecordingTreeProvider.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/PublicRecordingTreeProvider.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/PublicRecordingTreeProvider.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/PublicRecordingTreeProvider.java Wed Nov 25 04:08:02 2015 @@ -45,7 +45,7 @@ public class PublicRecordingTreeProvider r.setOwnerId(null); r.setType(Type.Folder); String pub = Application.getString(861); - r.setFileName(groupId == null ? pub : String.format("%s (%s)", pub, name)); + r.setName(groupId == null ? pub : String.format("%s (%s)", pub, name)); return Arrays.asList(r).iterator(); } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Wed Nov 25 04:08:02 2015 @@ -331,13 +331,13 @@ public class RoomPanel extends BasePanel createRecordingFolder(name); } else { FileExplorerItem f = new FileExplorerItem(); - f.setFileName(name); + f.setName(name); f.setInsertedBy(getUserId()); f.setInserted(new Date()); f.setType(Type.Folder);; FileItem p = selectedFile.getObject(); long parentId = p.getId(); - f.setParentItemId(Type.Folder == p.getType() && parentId > 0 ? parentId : null); + f.setParentId(Type.Folder == p.getType() && parentId > 0 ? parentId : null); f.setOwnerId(p.getOwnerId()); f.setRoomId(p.getRoomId()); getBean(FileExplorerItemDao.class).update(f); @@ -659,10 +659,10 @@ public class RoomPanel extends BasePanel if (roomId == null) { f.setId(0L); f.setOwnerId(getUserId()); - f.setFileName(Application.getString(706)); + f.setName(Application.getString(706)); } else { f.setId(-roomId); - f.setFileName(Application.getString(707)); + f.setName(Application.getString(707)); } return Arrays.asList(f).iterator(); } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.html Wed Nov 25 04:08:02 2015 @@ -24,7 +24,7 @@ <table> <tr> <td><wicket:message key="863"/></td> - <td><span wicket:id="fileName"></span></td> + <td><span wicket:id="name"></span></td> </tr> <tr> <td><wicket:message key="864"/></td> Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java Wed Nov 25 04:08:02 2015 @@ -88,7 +88,7 @@ public class VideoInfo extends Panel { add(form.setOutputMarkupId(true)); setDefaultModel(rm); - form.add(new Label("fileName"), new Label("duration"), new Label("recordEnd"), new Label("roomName", roomName), + form.add(new Label("name"), new Label("duration"), new Label("recordEnd"), new Label("roomName", roomName), downloadBtn.setEnabled(false), reConvert.setEnabled(false)); add(download); update(null, r); @@ -125,7 +125,7 @@ public class VideoInfo extends Panel { } } reConvert.setEnabled(reConvEnabled); - downloadBtn.setEnabled(isRecordingExists(r.getAlternateDownload()) || isRecordingExists(r.getFileHash())); + downloadBtn.setEnabled(isRecordingExists(r.getAlternateDownload()) || isRecordingExists(r.getHash())); if (target != null) { target.add(form); } @@ -178,8 +178,8 @@ public class VideoInfo extends Panel { @Override public void onClick(AjaxRequestTarget target) { - download.setFileName(rm.getObject().getFileHash()); - download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getFileHash()))); + download.setFileName(rm.getObject().getHash()); + download.setResourceStream(new FileResourceStream(getRecording(rm.getObject().getHash()))); download.initiate(target); } }); Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java Wed Nov 25 04:08:02 2015 @@ -60,7 +60,7 @@ public class VideoPlayer extends Panel { } public VideoPlayer update(AjaxRequestTarget target, Recording r) { - boolean videoExists = r != null && getMp4Recording(r.getFileHash()).exists(); + boolean videoExists = r != null && getMp4Recording(r.getHash()).exists(); if (videoExists) { PageParameters pp = new PageParameters().add("id", r.getId()); mp4.setPageParameters(pp); Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java Wed Nov 25 04:08:02 2015 @@ -38,11 +38,11 @@ public class FlvRecordingResourceReferen @Override String getFileName(Recording r) { - return r.getFileHash(); + return r.getHash(); } @Override File getFile(Recording r) { - return getRecording(r.getFileHash()); + return getRecording(r.getHash()); } } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java (original) +++ openmeetings/trunk/singlewebapp/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/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java (original) +++ openmeetings/trunk/singlewebapp/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/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml Wed Nov 25 04:08:02 2015 @@ -71,7 +71,7 @@ </init-param> <init-param> <param-name>ignorePaths</param-name> - <param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services,networktest.,file.,remotelog.</param-value> + <param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services,networktest.,file.</param-value> </init-param> </filter> <filter-mapping> Modified: openmeetings/trunk/singlewebapp/openmeetings-webservice/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/pom.xml?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-webservice/pom.xml (original) +++ openmeetings/trunk/singlewebapp/openmeetings-webservice/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-webservice</artifactId> Modified: openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java 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 => 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 => 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 => 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 => 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/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java (original) +++ openmeetings/trunk/singlewebapp/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/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1716295&r1=1716294&r2=1716295&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java (original) +++ openmeetings/trunk/singlewebapp/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); }
