b475bbee30a602454a73a04739dc6585899f0dc6
[aaa.git] / aaa-authn-mdsal-store / aaa-authn-mdsal-store-impl / src / main / java / org / opendaylight / aaa / authn / mdsal / store / IDMStore.java
1 package org.opendaylight.aaa.authn.mdsal.store;
2
3 import java.util.List;
4
5 import org.opendaylight.aaa.api.IDMStoreException;
6 import org.opendaylight.aaa.api.IDMStoreUtil;
7 import org.opendaylight.aaa.api.IIDMStore;
8 import org.opendaylight.aaa.api.model.Domain;
9 import org.opendaylight.aaa.api.model.Domains;
10 import org.opendaylight.aaa.api.model.Grant;
11 import org.opendaylight.aaa.api.model.Grants;
12 import org.opendaylight.aaa.api.model.Role;
13 import org.opendaylight.aaa.api.model.Roles;
14 import org.opendaylight.aaa.api.model.User;
15 import org.opendaylight.aaa.api.model.Users;
16
17 public class IDMStore implements IIDMStore{
18     private final IDMMDSALStore mdsalStore;
19
20     public IDMStore(IDMMDSALStore mdsalStore){
21         this.mdsalStore = mdsalStore;
22     }
23
24     @Override
25     public Domain writeDomain(Domain domain) throws IDMStoreException {
26         return IDMObject2MDSAL.toIDMDomain(mdsalStore.writeDomain(IDMObject2MDSAL.toMDSALDomain(domain)));
27     }
28
29     @Override
30     public Domain readDomain(String domainid) throws IDMStoreException {
31         return IDMObject2MDSAL.toIDMDomain(mdsalStore.readDomain(domainid));
32     }
33
34     @Override
35     public Domain deleteDomain(String domainid) throws IDMStoreException {
36         return IDMObject2MDSAL.toIDMDomain(mdsalStore.deleteDomain(domainid));
37     }
38
39     @Override
40     public Domain updateDomain(Domain domain) throws IDMStoreException {
41         return IDMObject2MDSAL.toIDMDomain(mdsalStore.updateDomain(IDMObject2MDSAL.toMDSALDomain(domain)));
42     }
43
44     @Override
45     public Domains getDomains() throws IDMStoreException {
46         Domains domains = new Domains();
47         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Domain> mdSalDomains = mdsalStore.getAllDomains();
48         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Domain d:mdSalDomains){
49             domains.getDomains().add(IDMObject2MDSAL.toIDMDomain(d));
50         }
51         return domains;
52     }
53
54     @Override
55     public Role writeRole(Role role) throws IDMStoreException {
56         return IDMObject2MDSAL.toIDMRole(mdsalStore.writeRole(IDMObject2MDSAL.toMDSALRole(role)));
57     }
58
59     @Override
60     public Role readRole(String roleid) throws IDMStoreException {
61         return IDMObject2MDSAL.toIDMRole(mdsalStore.readRole(roleid));
62     }
63
64     @Override
65     public Role deleteRole(String roleid) throws IDMStoreException {
66         return IDMObject2MDSAL.toIDMRole(mdsalStore.deleteRole(roleid));
67     }
68
69     @Override
70     public Role updateRole(Role role) throws IDMStoreException {
71         return IDMObject2MDSAL.toIDMRole(mdsalStore.writeRole(IDMObject2MDSAL.toMDSALRole(role)));
72     }
73
74     @Override
75     public User writeUser(User user) throws IDMStoreException {
76         return IDMObject2MDSAL.toIDMUser(mdsalStore.writeUser(IDMObject2MDSAL.toMDSALUser(user)));
77     }
78
79     @Override
80     public User readUser(String userid) throws IDMStoreException {
81         return IDMObject2MDSAL.toIDMUser(mdsalStore.readUser(userid));
82     }
83
84     @Override
85     public User deleteUser(String userid) throws IDMStoreException {
86         return IDMObject2MDSAL.toIDMUser(mdsalStore.deleteUser(userid));
87     }
88
89     @Override
90     public User updateUser(User user) throws IDMStoreException {
91         return IDMObject2MDSAL.toIDMUser(mdsalStore.writeUser(IDMObject2MDSAL.toMDSALUser(user)));
92     }
93
94     @Override
95     public Grant writeGrant(Grant grant) throws IDMStoreException {
96         return IDMObject2MDSAL.toIDMGrant(mdsalStore.writeGrant(IDMObject2MDSAL.toMDSALGrant(grant)));
97     }
98
99     @Override
100     public Grant readGrant(String grantid) throws IDMStoreException {
101         return IDMObject2MDSAL.toIDMGrant(mdsalStore.readGrant(grantid));
102     }
103
104     @Override
105     public Grant deleteGrant(String grantid) throws IDMStoreException {
106         return IDMObject2MDSAL.toIDMGrant(mdsalStore.readGrant(grantid));
107     }
108
109     @Override
110     public Roles getRoles() throws IDMStoreException {
111         Roles roles = new Roles();
112         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Role> mdSalRoles = mdsalStore.getAllRoles();
113         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Role r:mdSalRoles){
114             roles.getRoles().add(IDMObject2MDSAL.toIDMRole(r));
115         }
116         return roles;
117     }
118
119     @Override
120     public Users getUsers() throws IDMStoreException {
121         Users users = new Users();
122         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User> mdSalUsers = mdsalStore.getAllUsers();
123         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User u:mdSalUsers){
124             users.getUsers().add(IDMObject2MDSAL.toIDMUser(u));
125         }
126         return users;
127     }
128
129     @Override
130     public Users getUsers(String username, String domain) throws IDMStoreException {
131         Users users = new Users();
132         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User> mdSalUsers = mdsalStore.getAllUsers();
133         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User u:mdSalUsers){
134             if(u.getDomainid().equals(domain) && u.getName().equals(username)){
135                 users.getUsers().add(IDMObject2MDSAL.toIDMUser(u));
136             }
137         }
138         return users;
139     }
140
141     @Override
142     public Grants getGrants(String domainid, String userid) throws IDMStoreException {
143         Grants grants = new Grants();
144         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant> mdSalGrants = mdsalStore.getAllGrants();
145         String currentGrantUserId, currentGrantDomainId;
146         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant g:mdSalGrants){
147             currentGrantUserId = g.getUserid();
148             currentGrantDomainId = g.getDomainid();
149             if (currentGrantUserId.equals(userid) && currentGrantDomainId.equals(domainid)) {
150                 grants.getGrants().add(IDMObject2MDSAL.toIDMGrant(g));
151             }
152         }
153         return grants;
154     }
155
156     @Override
157     public Grants getGrants(String userid) throws IDMStoreException {
158         Grants grants = new Grants();
159         List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant> mdSalGrants = mdsalStore.getAllGrants();
160         for(org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant g:mdSalGrants){
161             if(g.getUserid().equals(userid)){
162                 grants.getGrants().add(IDMObject2MDSAL.toIDMGrant(g));
163             }
164         }
165         return grants;
166     }
167
168     @Override
169     public Grant readGrant(String domainid, String userid, String roleid) throws IDMStoreException {
170         return readGrant(IDMStoreUtil.createGrantid(userid, domainid, roleid));
171     }
172 }