Project

General

Profile

Download (1.34 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 AuthorityPermission (String authority){
18
		String permissionString;
19
		int firstPoint = authority.indexOf(".");
20
		if (firstPoint == -1){
21
			className = CdmPermissionClass.valueOf(authority);
22
		}else{
23
			className = CdmPermissionClass.valueOf((authority.substring(0, firstPoint)));
24
			int bracket = authority.indexOf("{");
25
			permissionString = getPermissionString(authority);
26
			if (bracket != -1){
27
				int secondBracket = authority.indexOf("}");
28
				String uuid = authority.substring(bracket+1, secondBracket);
29
				targetUuid = UUID.fromString(uuid);
30
			}
31
			permission = CdmPermission.valueOf(permissionString.toUpperCase());
32
		}
33
	}
34
	
35
	private static String getPermissionString(String authority){
36
		int lastPoint = authority.lastIndexOf(".");
37
		int bracket = authority.indexOf("{");
38
		if (bracket == -1){
39
			return authority.substring(lastPoint+1);
40
		}else{
41
			return authority.substring(lastPoint+1, bracket);
42
		}
43
	}
44
	
45
}
(1-1/6)