Statistics
| Branch: | Revision:

root / src / com / rackspace / cloud / files / api / client / Permission.java @ 378fe36a

History | View | Annotate | Download (2.1 kB)

1
package com.rackspace.cloud.files.api.client;
2

    
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.List;
6

    
7
public class Permission implements Serializable{
8
        String group;
9
        String user;
10
        String displayName;
11
        boolean read=false;
12
        boolean write = false;
13
        
14
        public Permission() {
15
                
16
        }
17
        
18
        public static List<Permission> parsePermissions(String rawPermissions){
19
                
20
                List<Permission> permissions = new ArrayList<Permission>();
21
                String[] readwrite = rawPermissions.split(";");
22
        for (String s : readwrite) {
23
            String[] part = s.split("=");
24
            String perm = part[0].trim();
25
            String[] users = part[1].split(",");
26
            for (String u : users) {
27
                    Permission p = new Permission();
28
                String user = u.trim();
29
                if(u.indexOf(':')==-1)
30
                        p.setUser(user);
31
                else{
32
                        String group = user.substring(u.lastIndexOf(':')+1,u.length());
33
                        for(Permission pp : permissions){
34
                                if(group.equals(pp.getGroup())){
35
                                        p=pp;
36
                                        break;
37
                                }
38
                        }
39
                        p.setGroup(group);
40
                }
41
                        
42
                if (perm.equals("read")) {
43
                    p.read = Boolean.TRUE;
44
                }
45
                else if (perm.equals("write")) {
46
                    p.write = Boolean.TRUE;
47
                }
48
                permissions.add(p);
49
            }
50
        }
51
        return permissions;
52
        }
53
        
54
        public String getGroup() {
55
                return group;
56
        }
57
        public void setGroup(String group) {
58
                this.group = group;
59
        }
60
        public String getUser() {
61
                return user;
62
        }
63
        public void setUser(String user) {
64
                this.user = user;
65
        }
66
        
67
        public boolean isRead() {
68
                return read;
69
        }
70
        public void setRead(boolean read) {
71
                this.read = read;
72
        }
73
        public boolean isWrite() {
74
                return write;
75
        }
76
        public void setWrite(boolean write) {
77
                this.write = write;
78
        }
79
        
80
        public void setDisplayName(String displayName) {
81
                this.displayName = displayName;
82
        }
83
        
84
        public String getDisplayName() {
85
                return displayName;
86
        }
87

    
88
}