Project

General

Profile

Download (1.53 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2
package eu.etaxonomy.cdm.permission;
3

    
4
import java.util.UUID;
5

    
6
public class AuthorityPermission{
7
	CdmPermissionClass className;
8
	CdmPermission permission;
9
	UUID targetUuid;
10
	
11
	public AuthorityPermission(Object targetDomainObject, CdmPermission permission, UUID uuid){
12
		this.className = CdmPermissionClass.getValueOf(targetDomainObject);
13
		this.permission = permission;
14
		targetUuid = uuid;
15
	}
16
	
17
	public CdmPermissionClass getClassName(){
18
		return className;
19
	}
20
	
21
	public CdmPermission getPermission(){
22
		return permission;
23
	}
24
	
25
	public UUID getTargetUUID(){
26
		return targetUuid;
27
	}
28
	public AuthorityPermission (String authority){
29
		String permissionString;
30
		int firstPoint = authority.indexOf(".");
31
		if (firstPoint == -1){
32
			className = CdmPermissionClass.valueOf(authority);
33
		}else{
34
			className = CdmPermissionClass.valueOf((authority.substring(0, firstPoint)));
35
			int bracket = authority.indexOf("{");
36
			permissionString = getPermissionString(authority);
37
			if (bracket != -1){
38
				int secondBracket = authority.indexOf("}");
39
				String uuid = authority.substring(bracket+1, secondBracket);
40
				targetUuid = UUID.fromString(uuid);
41
			}
42
			permission = CdmPermission.valueOf(permissionString.toUpperCase());
43
		}
44
	}
45
	
46
	private static String getPermissionString(String authority){
47
		int lastPoint = authority.lastIndexOf(".");
48
		int bracket = authority.indexOf("{");
49
		if (bracket == -1){
50
			return authority.substring(lastPoint+1);
51
		}else{
52
			return authority.substring(lastPoint+1, bracket);
53
		}
54
	}
55
	
56
}
(1-1/6)