Revision 50cd9e9c src/gr/ebs/gss/server/ejb/AdminAPIBean.java

b/src/gr/ebs/gss/server/ejb/AdminAPIBean.java
24 24
import gr.ebs.gss.server.domain.AuditInfo;
25 25
import gr.ebs.gss.server.domain.FileBody;
26 26
import gr.ebs.gss.server.domain.FileHeader;
27
import gr.ebs.gss.server.domain.FileUploadStatus;
27 28
import gr.ebs.gss.server.domain.Folder;
28 29
import gr.ebs.gss.server.domain.Group;
29 30
import gr.ebs.gss.server.domain.Permission;
......
402 403
				api.deleteGroup(userId, group.getId());
403 404
		}
404 405
		catch(ObjectNotFoundException e){}
406
		List<Folder> otherFolders = dao.getSharingFoldersForUser(userId);
407
		for(Folder f : otherFolders){
408
			Iterator<Permission> pit = f.getPermissions().iterator();
409
			while(pit.hasNext()){
410
				Permission p = pit.next();
411
				if(p.getUser()!=null&&p.getUser().getId().equals(userId)){
412
					pit.remove();
413
					dao.delete(p);
414
				}
415
			}
416
			dao.update(f);
417
		}
418
		List<FileHeader> otherFiles = dao.getSharingFilesForUser(userId);
419
		for(FileHeader f : otherFiles){
420
			Iterator<Permission> pit = f.getPermissions().iterator();
421
			while(pit.hasNext()){
422
				Permission p = pit.next();
423
				if(p.getUser()!=null&&p.getUser().getId().equals(userId)){
424
					pit.remove();
425
					dao.delete(p);
426
				}
427
			}
428
			dao.update(f);
429
		}
430
		List<Group> otherGroups = dao.getGroupsContainingUser(userId);
431
		for(Group g : otherGroups){
432
			Iterator<User> uit = g.getMembers().iterator();
433
			while(uit.hasNext()){
434
				User u = uit.next();
435
				if(u.getId().equals(userId)){
436
					uit.remove();
437
				}
438
			}
439
			dao.update(g);
440
		}
405 441
		List<AccountingInfo> infos = dao.getAccountingInfo(user);
406 442
		Iterator<AccountingInfo> it = infos.iterator();
407 443
		while(it.hasNext()){
408 444
			AccountingInfo a = it.next();
409 445
			dao.delete(a);
410 446
		}
447
		List<FileUploadStatus> sts = dao.getUploadStatus(userId);
448
		for(FileUploadStatus s : sts)
449
			dao.delete(s);
450
		int deleteCount=dao.deletePermissionsNotCorrespondingToFilesAndFolders(userId);
411 451
		dao.flush();
412 452
		dao.delete(user);
413 453
	}

Also available in: Unified diff