Use separate progress bars next to each file, in order to better track the progress...
[pithos] / src / gr / ebs / gss / server / soap / WSAPIBean.java
1 /*
2  * Copyright 2008, 2009 Electronic Business Systems Ltd.
3  *
4  * This file is part of GSS.
5  *
6  * GSS is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * GSS is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with GSS.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 package gr.ebs.gss.server.soap;
20
21 import gr.ebs.gss.client.exceptions.DuplicateNameException;
22 import gr.ebs.gss.client.exceptions.GSSIOException;
23 import gr.ebs.gss.client.exceptions.InsufficientPermissionsException;
24 import gr.ebs.gss.client.exceptions.ObjectNotFoundException;
25 import gr.ebs.gss.client.exceptions.QuotaExceededException;
26 import gr.ebs.gss.server.domain.FileHeader;
27 import gr.ebs.gss.server.domain.User;
28 import gr.ebs.gss.server.domain.dto.FileHeaderDTO;
29 import gr.ebs.gss.server.domain.dto.FolderDTO;
30 import gr.ebs.gss.server.domain.dto.GroupDTO;
31 import gr.ebs.gss.server.domain.dto.PermissionDTO;
32 import gr.ebs.gss.server.domain.dto.UserDTO;
33 import gr.ebs.gss.server.ejb.ExternalAPI;
34 import gr.ebs.gss.server.ejb.GSSDAO;
35
36 import java.io.File;
37 import java.io.IOException;
38 import java.util.Date;
39 import java.util.List;
40 import java.util.Set;
41
42 import javax.activation.DataHandler;
43 import javax.activation.FileDataSource;
44 import javax.ejb.EJB;
45 import javax.ejb.Stateless;
46 import javax.jws.WebMethod;
47 import javax.jws.WebParam;
48 import javax.jws.WebService;
49 import javax.xml.bind.annotation.XmlMimeType;
50
51
52 /**
53  * @author kman
54  *
55  */
56 @Stateless
57 @WebService(name="GSSWSAPI")
58 public class WSAPIBean implements WSAPIRemote{
59         @EJB
60         ExternalAPI api;
61         @EJB
62         GSSDAO dao;
63
64         /* (non-Javadoc)
65          * @see gr.ebs.gss.server.soap.WSAPIRemote#copyFile(java.lang.Long, java.lang.Long, java.lang.Long, java.lang.String)
66          */
67         @WebMethod(operationName="copyFile")
68         @Override
69         public void copyFile(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId, @WebParam(name="destId") Long destId, @WebParam(name="destName") String destName) throws ObjectNotFoundException, DuplicateNameException, GSSIOException, InsufficientPermissionsException, QuotaExceededException {
70                 api.copyFile(userId, fileId, destId, destName);
71
72         }
73
74         /* (non-Javadoc)
75          * @see gr.ebs.gss.server.soap.WSAPIRemote#copyFolder(java.lang.Long, java.lang.Long, java.lang.Long, java.lang.String)
76          */
77         @WebMethod(operationName="copyFolder")
78         @Override
79         public void copyFolder(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId, @WebParam(name="destId") Long destId, @WebParam(name="destName") String destName) throws ObjectNotFoundException, DuplicateNameException, InsufficientPermissionsException, GSSIOException, QuotaExceededException {
80                 api.copyFolderStructure(userId, folderId, destId, destName);
81
82         }
83
84         /* (non-Javadoc)
85          * @see gr.ebs.gss.server.soap.WSAPIRemote#createFile(java.lang.Long, java.lang.Long, java.lang.String, java.lang.String, java.io.InputStream)
86          */
87         @WebMethod(operationName="createFile")
88         @XmlMimeType(value = "application/octet-stream")
89         @Override
90         public void createFile(@WebParam(name="userId")Long userId, @WebParam(name="folderId")Long folderId, @WebParam(name="name")String name, @WebParam(name="mimeType")String mimeType, @WebParam(name="stream")DataHandler stream) throws DuplicateNameException, ObjectNotFoundException, GSSIOException, InsufficientPermissionsException, QuotaExceededException {
91                 try {
92                         FileHeaderDTO file = api.createFile(userId, folderId, name, mimeType, stream.getInputStream());
93                         User user = api.getUser(userId);
94                         api.updateAccounting(user, new Date(), file.getFileSize());
95                 } catch (IOException e) {
96                         throw new GSSIOException(e);
97                 }
98
99         }
100
101         /* (non-Javadoc)
102          * @see gr.ebs.gss.server.soap.WSAPIRemote#createFolder(java.lang.Long, java.lang.Long, java.lang.String)
103          */
104         @WebMethod(operationName="createFolder")
105         @Override
106         public void createFolder(@WebParam(name="userId")Long userId, @WebParam(name="parentId")Long parentId, @WebParam(name="name")String name) throws DuplicateNameException, ObjectNotFoundException, InsufficientPermissionsException {
107                 api.createFolder(userId, parentId, name);
108
109         }
110
111         /* (non-Javadoc)
112          * @see gr.ebs.gss.server.soap.WSAPIRemote#createGroup(java.lang.Long, java.lang.String)
113          */
114         @WebMethod(operationName="createGroup")
115         @Override
116         public void createGroup(@WebParam(name="userId") Long userId, @WebParam(name="name") String name) throws ObjectNotFoundException, DuplicateNameException {
117                 api.createGroup(userId, name);
118
119         }
120
121         /* (non-Javadoc)
122          * @see gr.ebs.gss.server.soap.WSAPIRemote#createTag(java.lang.Long, java.lang.Long, java.lang.String)
123          */
124         @WebMethod(operationName="createTag")
125         @Override
126         public void createTag(@WebParam(name="userId") Long userId, @WebParam(name="fileHeaderId") Long fileHeaderId, @WebParam(name="tag") String tag) throws ObjectNotFoundException {
127                 api.createTag(userId, fileHeaderId, tag);
128
129         }
130
131         /* (non-Javadoc)
132          * @see gr.ebs.gss.server.soap.WSAPIRemote#deleteFile(java.lang.Long, java.lang.Long)
133          */
134         @WebMethod(operationName="deleteFile")
135         @Override
136         public void deleteFile(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
137                 api.deleteFile(userId, fileId);
138
139         }
140
141         /* (non-Javadoc)
142          * @see gr.ebs.gss.server.soap.WSAPIRemote#deleteFolder(java.lang.Long, java.lang.Long)
143          */
144         @WebMethod(operationName="deleteFolder")
145         @Override
146         public void deleteFolder(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws InsufficientPermissionsException, ObjectNotFoundException {
147                 api.deleteFolder(userId, folderId);
148
149         }
150
151         /* (non-Javadoc)
152          * @see gr.ebs.gss.server.soap.WSAPIRemote#deleteGroup(java.lang.Long, java.lang.Long)
153          */
154         @WebMethod(operationName="deleteGroup")
155         @Override
156         public void deleteGroup(@WebParam(name="userId") Long userId, @WebParam(name="groupId") Long groupId) throws ObjectNotFoundException, InsufficientPermissionsException {
157                 api.deleteGroup(userId, groupId);
158
159         }
160
161         /* (non-Javadoc)
162          * @see gr.ebs.gss.server.soap.WSAPIRemote#emptyTrash(java.lang.Long)
163          */
164         @WebMethod(operationName="emptyTrash")
165         @Override
166         public void emptyTrash( @WebParam(name="userId") Long userId) throws ObjectNotFoundException, InsufficientPermissionsException {
167                 api.emptyTrash(userId);
168
169         }
170
171         /* (non-Javadoc)
172          * @see gr.ebs.gss.server.soap.WSAPIRemote#getDeletedFiles(java.lang.Long)
173          */
174         @WebMethod(operationName="getDeletedFiles")
175         @Override
176         public FileHeaderDTO[] getDeletedFiles( @WebParam(name="userId") Long userId) throws ObjectNotFoundException {
177                 List<FileHeaderDTO> res = api.getDeletedFiles(userId);
178                 return res.toArray(new FileHeaderDTO[res.size()]);
179         }
180
181         /* (non-Javadoc)
182          * @see gr.ebs.gss.server.soap.WSAPIRemote#getDeletedRootFolders(java.lang.Long)
183          */
184         @WebMethod(operationName="getDeletedRootFolders")
185         @Override
186         public FolderDTO[] getDeletedRootFolders(@WebParam(name="userId") Long userId) throws ObjectNotFoundException {
187                 List<FolderDTO> res = api.getDeletedRootFolders(userId);
188                 return res.toArray(new FolderDTO[res.size()]);
189         }
190
191         /* (non-Javadoc)
192          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFile(java.lang.Long, java.lang.Long)
193          */
194         @WebMethod(operationName="getFile")
195         @Override
196         public FileHeaderDTO getFile(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
197                 return api.getFile(userId, fileId);
198         }
199
200         /* (non-Javadoc)
201          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFileContents(java.lang.Long, java.lang.Long)
202          */
203         @WebMethod(operationName="getFileContents")
204         @Override
205         public @XmlMimeType(value = "application/octet-stream")DataHandler getFileContents(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
206                 if (userId == null)
207                         throw new ObjectNotFoundException("No user specified");
208                 if (fileId == null)
209                         throw new ObjectNotFoundException("No file specified");
210
211                 final FileHeader header = dao.getEntityById(FileHeader.class, fileId);
212                 final User user = dao.getEntityById(User.class, userId);
213                 if (!header.hasReadPermission(user))
214                         throw new InsufficientPermissionsException("You don't have the necessary permissions");
215
216                 File f = new File(header.getCurrentBody().getStoredFilePath());
217                 return new DataHandler(new FileDataSource(f));
218         }
219
220         /* (non-Javadoc)
221          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFiles(java.lang.Long, java.lang.Long)
222          */
223         @WebMethod(operationName="getFiles")
224         @Override
225         public FileHeaderDTO[] getFiles(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
226                 List<FileHeaderDTO> res = api.getFiles(userId, folderId, true);
227                 return res.toArray(new FileHeaderDTO[res.size()]);
228         }
229
230         /* (non-Javadoc)
231          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFolder(java.lang.Long, java.lang.Long)
232          */
233         @WebMethod(operationName="getFolder")
234         @Override
235         public FolderDTO getFolder(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
236                 return api.getFolder(userId, folderId);
237         }
238
239         /* (non-Javadoc)
240          * @see gr.ebs.gss.server.soap.WSAPIRemote#getGroup(java.lang.Long)
241          */
242         @WebMethod(operationName="getGroup")
243         @Override
244         public GroupDTO getGroup(@WebParam(name="groupId") Long groupId) throws ObjectNotFoundException {
245                 return api.getGroup(groupId);
246         }
247
248         /* (non-Javadoc)
249          * @see gr.ebs.gss.server.soap.WSAPIRemote#getGroups(java.lang.Long)
250          */
251         @WebMethod(operationName="getGroups")
252         @Override
253         public GroupDTO[] getGroups(@WebParam(name="userId") Long userId) throws ObjectNotFoundException {
254                 List<GroupDTO> res = api.getGroups(userId);
255                 return res.toArray(new GroupDTO[res.size()]);
256         }
257
258
259         /* (non-Javadoc)
260          * @see gr.ebs.gss.server.soap.WSAPIRemote#getRootFolder(java.lang.Long)
261          */
262         @WebMethod(operationName="getRootFolder")
263         @Override
264         public FolderDTO getRootFolder(@WebParam(name="userId") Long userId) throws ObjectNotFoundException {
265                 return api.getRootFolder(userId);
266         }
267
268         /* (non-Javadoc)
269          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSubfolders(java.lang.Long, java.lang.Long)
270          */
271         @WebMethod(operationName="getSubFolders")
272         @Override
273         public FolderDTO[] getSubfolders(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
274                 List<FolderDTO> res = api.getSubfolders(userId, folderId);
275                 return res.toArray(new FolderDTO[res.size()]);
276
277         }
278
279
280         /* (non-Javadoc)
281          * @see gr.ebs.gss.server.soap.WSAPIRemote#getUserTags(java.lang.Long)
282          */
283         @WebMethod(operationName="getUserTags")
284         @Override
285         public String[] getUserTags(@WebParam(name="userId") Long userId) throws ObjectNotFoundException {
286                 Set<String> res = api.getUserTags(userId);
287                 return res.toArray(new String[res.size()]);
288         }
289
290         /* (non-Javadoc)
291          * @see gr.ebs.gss.server.soap.WSAPIRemote#getUsers(java.lang.Long, java.lang.Long)
292          */
293         @WebMethod(operationName="getUsers")
294         @Override
295         public UserDTO[] getUsers(@WebParam(name="userId") Long userId, @WebParam(name="groupId") Long groupId) throws ObjectNotFoundException {
296                 List<UserDTO> res = api.getUsers(userId, groupId);
297                 return res.toArray(new UserDTO[res.size()]);
298         }
299
300         /* (non-Javadoc)
301          * @see gr.ebs.gss.server.soap.WSAPIRemote#modifyFolder(java.lang.Long, java.lang.Long, java.lang.String)
302          */
303         @WebMethod(operationName="modifyFolder")
304         @Override
305         public void modifyFolder(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId, @WebParam(name="folderName") String folderName) throws InsufficientPermissionsException, ObjectNotFoundException, DuplicateNameException {
306                 api.modifyFolder(userId, folderId, folderName);
307
308         }
309
310         /* (non-Javadoc)
311          * @see gr.ebs.gss.server.soap.WSAPIRemote#moveFile(java.lang.Long, java.lang.Long, java.lang.Long, java.lang.String)
312          */
313         @WebMethod(operationName="moveFile")
314         @Override
315         public void moveFile(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId, @WebParam(name="destId") Long destId, @WebParam(name="destName") String destName) throws InsufficientPermissionsException, ObjectNotFoundException, DuplicateNameException, GSSIOException, QuotaExceededException {
316                 api.moveFile(userId, fileId, destId, destName);
317
318         }
319
320         /* (non-Javadoc)
321          * @see gr.ebs.gss.server.soap.WSAPIRemote#moveFileToTrash(java.lang.Long, java.lang.Long)
322          */
323         @WebMethod(operationName="moveFileToTrash")
324         @Override
325         public void moveFileToTrash(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
326                 api.moveFileToTrash(userId, fileId);
327
328         }
329
330         /* (non-Javadoc)
331          * @see gr.ebs.gss.server.soap.WSAPIRemote#moveFolder(java.lang.Long, java.lang.Long, java.lang.Long, java.lang.String)
332          */
333         @WebMethod(operationName="moveFolder")
334         @Override
335         public void moveFolder(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId, @WebParam(name="destId") Long destId, @WebParam(name="destName") String destName) throws ObjectNotFoundException, DuplicateNameException, InsufficientPermissionsException, GSSIOException, QuotaExceededException {
336                 api.moveFolder(userId, folderId, destId, destName);
337
338         }
339
340         /* (non-Javadoc)
341          * @see gr.ebs.gss.server.soap.WSAPIRemote#moveFolderToTrash(java.lang.Long, java.lang.Long)
342          */
343         @WebMethod(operationName="moveFolderToTrash")
344         @Override
345         public void moveFolderToTrash(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
346                 api.moveFolderToTrash(userId, folderId);
347
348         }
349
350         /* (non-Javadoc)
351          * @see gr.ebs.gss.server.soap.WSAPIRemote#removeFileFromTrash(java.lang.Long, java.lang.Long)
352          */
353         @WebMethod(operationName="restoreFileFromTrash")
354         @Override
355         public void restoreFileFromTrash(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
356                 api.removeFileFromTrash(userId, fileId);
357         }
358
359         /* (non-Javadoc)
360          * @see gr.ebs.gss.server.soap.WSAPIRemote#removeFolderFromTrash(java.lang.Long, java.lang.Long)
361          */
362         @WebMethod(operationName="restoreFolderFromTrash")
363         @Override
364         public void restoreFolderFromTrash(@WebParam(name="userId") Long userId, @WebParam(name="folderId") Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
365                 api.removeFolderFromTrash(userId, folderId);
366         }
367
368         /* (non-Javadoc)
369          * @see gr.ebs.gss.server.soap.WSAPIRemote#updateFile(java.lang.Long, java.lang.Long, java.lang.String, java.lang.String)
370          */
371         @WebMethod(operationName="updateFile")
372         @Override
373         public void updateFile(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId, @WebParam(name="name") String name, @WebParam(name="tagSet") String tagSet) throws ObjectNotFoundException, InsufficientPermissionsException {
374                 api.updateFile(userId, fileId, name, tagSet);
375         }
376
377         /* (non-Javadoc)
378          * @see gr.ebs.gss.server.soap.WSAPIRemote#updateFileContents(java.lang.Long, java.lang.Long, java.lang.String, java.io.InputStream)
379          */
380         @WebMethod(operationName="updateFileContents")
381         @XmlMimeType(value = "application/octet-stream")
382         @Override
383         public void updateFileContents(@WebParam(name="userId") Long userId, @WebParam(name="fileId") Long fileId, @WebParam(name="mimeType") String mimeType, @WebParam(name="resourceStream") DataHandler resourceInputStream) throws ObjectNotFoundException, GSSIOException, InsufficientPermissionsException, QuotaExceededException {
384         File uploadedFile = null;
385         try {
386                         uploadedFile = api.uploadFile(resourceInputStream.getInputStream(), userId);
387                 } catch (IOException ex) {
388                         throw new GSSIOException(ex, false);
389                 }
390                 FileHeaderDTO file = api.updateFileContents(userId, fileId, mimeType, uploadedFile);
391                 User user = api.getUser(userId);
392                 api.updateAccounting(user, new Date(), file.getFileSize());
393         }
394
395         /* (non-Javadoc)
396          * @see gr.ebs.gss.server.soap.WSAPIRemote#addUserToGroup(java.lang.Long, java.lang.Long, java.lang.Long)
397          */
398         @Override
399         @WebMethod
400         public void addUserToGroup(Long userId, Long groupId, Long userToAddId) throws ObjectNotFoundException, DuplicateNameException, InsufficientPermissionsException {
401                 api.addUserToGroup(userId, groupId, userToAddId);
402
403         }
404
405
406         /* (non-Javadoc)
407          * @see gr.ebs.gss.server.soap.WSAPIRemote#findUser(java.lang.String)
408          */
409         @Override
410         @WebMethod
411         public UserDTO getUser(String username) {
412                 User user = api.findUser(username);
413                 if(user == null)
414                         return null;
415                 return user.getDTO();
416         }
417
418         /* (non-Javadoc)
419          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFilePermissions(java.lang.Long, java.lang.Long)
420          */
421         @Override
422         @WebMethod
423         public Set<PermissionDTO> getFilePermissions(Long userId, Long fileId) throws ObjectNotFoundException, InsufficientPermissionsException {
424                 return api.getFilePermissions(userId, fileId);
425         }
426
427         /* (non-Javadoc)
428          * @see gr.ebs.gss.server.soap.WSAPIRemote#getFolderPermissions(java.lang.Long, java.lang.Long)
429          */
430         @Override
431         @WebMethod
432         public Set<PermissionDTO> getFolderPermissions(Long userId, Long folderId) throws ObjectNotFoundException, InsufficientPermissionsException {
433                 return api.getFolderPermissions(userId, folderId);
434         }
435
436         /* (non-Javadoc)
437          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSharedFiles(java.lang.Long)
438          */
439         @Override
440         @WebMethod
441         public List<FileHeaderDTO> getSharedFiles(Long userId) throws ObjectNotFoundException {
442                 return api.getSharedFilesNotInSharedFolders(userId);
443         }
444
445         /* (non-Javadoc)
446          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSharedFiles(java.lang.Long, java.lang.Long)
447          */
448         @Override
449         @WebMethod
450         public List<FileHeaderDTO> getSharedFilesOfUser(Long ownerId, Long callingUserId) throws ObjectNotFoundException {
451                 return api.getSharedFiles(ownerId, callingUserId);
452         }
453
454         /* (non-Javadoc)
455          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSharedRootFolders(java.lang.Long)
456          */
457         @Override
458         @WebMethod
459         public List<FolderDTO> getSharedRootFolders(Long userId) throws ObjectNotFoundException {
460                 return api.getSharedRootFolders(userId);
461         }
462
463         /* (non-Javadoc)
464          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSharedRootFolders(java.lang.Long, java.lang.Long)
465          */
466         @Override
467         @WebMethod
468         public List<FolderDTO> getSharedRootFoldersOfUser(Long ownerId, Long callingUserId) throws ObjectNotFoundException {
469                 return api.getSharedRootFolders(ownerId, callingUserId);
470         }
471
472         /* (non-Javadoc)
473          * @see gr.ebs.gss.server.soap.WSAPIRemote#getSharedSubfolders(java.lang.Long, java.lang.Long)
474          */
475         @Override
476         @WebMethod
477         public List<FolderDTO> getSharedSubfolders(Long userId, Long folderId) throws ObjectNotFoundException {
478                 return api.getSharedSubfolders(userId, folderId);
479         }
480
481
482
483         /* (non-Javadoc)
484          * @see gr.ebs.gss.server.soap.WSAPIRemote#getUsersSharingFoldersForUser(java.lang.Long)
485          */
486         @Override
487         @WebMethod
488         public List<UserDTO> getUsersSharingFoldersForUser(Long userId) throws ObjectNotFoundException {
489                 return api.getUsersSharingFoldersForUser(userId);
490         }
491
492
493         /* (non-Javadoc)
494          * @see gr.ebs.gss.server.soap.WSAPIRemote#removeMemberFromGroup(java.lang.Long, java.lang.Long, java.lang.Long)
495          */
496         @Override
497         @WebMethod
498         public void removeMemberFromGroup(Long userId, Long groupId, Long memberId) throws ObjectNotFoundException, InsufficientPermissionsException {
499                 api.removeMemberFromGroup(userId, groupId, memberId);
500
501         }
502
503
504         /* (non-Javadoc)
505          * @see gr.ebs.gss.server.soap.WSAPIRemote#setFilePermissions(java.lang.Long, java.lang.Long, java.util.Set)
506          */
507         @Override
508         @WebMethod
509         public void setFilePermissions(Long userId, Long fileId, boolean readForAll, Set<PermissionDTO> permissions) throws ObjectNotFoundException, InsufficientPermissionsException {
510                 api.setFilePermissions(userId, fileId, readForAll, permissions);
511
512         }
513
514         /* (non-Javadoc)
515          * @see gr.ebs.gss.server.soap.WSAPIRemote#setFolderPermissions(java.lang.Long, java.lang.Long, java.util.Set)
516          */
517         @Override
518         @WebMethod
519         public void setFolderPermissions(Long userId, Long folderId, Set<PermissionDTO> permissions) throws ObjectNotFoundException, InsufficientPermissionsException {
520                 api.setFolderPermissions(userId, folderId, permissions);
521
522         }
523
524
525
526
527 }