2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.aaa.authn.mdsal.store;
10 import java.util.List;
11 import org.opendaylight.aaa.api.IDMStoreException;
12 import org.opendaylight.aaa.api.IDMStoreUtil;
13 import org.opendaylight.aaa.api.IIDMStore;
14 import org.opendaylight.aaa.api.model.Domain;
15 import org.opendaylight.aaa.api.model.Domains;
16 import org.opendaylight.aaa.api.model.Grant;
17 import org.opendaylight.aaa.api.model.Grants;
18 import org.opendaylight.aaa.api.model.Role;
19 import org.opendaylight.aaa.api.model.Roles;
20 import org.opendaylight.aaa.api.model.User;
21 import org.opendaylight.aaa.api.model.Users;
24 * @author Sharon Aicler - saichler@cisco.com
27 public class IDMStore implements IIDMStore {
28 private final IDMMDSALStore mdsalStore;
30 public IDMStore(IDMMDSALStore mdsalStore) {
31 this.mdsalStore = mdsalStore;
35 public Domain writeDomain(Domain domain) throws IDMStoreException {
36 return IDMObject2MDSAL.toIDMDomain(mdsalStore.writeDomain(IDMObject2MDSAL.toMDSALDomain(domain)));
40 public Domain readDomain(String domainid) throws IDMStoreException {
41 return IDMObject2MDSAL.toIDMDomain(mdsalStore.readDomain(domainid));
45 public Domain deleteDomain(String domainid) throws IDMStoreException {
46 return IDMObject2MDSAL.toIDMDomain(mdsalStore.deleteDomain(domainid));
50 public Domain updateDomain(Domain domain) throws IDMStoreException {
51 return IDMObject2MDSAL.toIDMDomain(mdsalStore.updateDomain(IDMObject2MDSAL.toMDSALDomain(domain)));
55 public Domains getDomains() throws IDMStoreException {
56 Domains domains = new Domains();
57 List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Domain> mdSalDomains = mdsalStore.getAllDomains();
58 for (org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Domain d : mdSalDomains) {
59 domains.getDomains().add(IDMObject2MDSAL.toIDMDomain(d));
65 public Role writeRole(Role role) throws IDMStoreException {
66 return IDMObject2MDSAL.toIDMRole(mdsalStore.writeRole(IDMObject2MDSAL.toMDSALRole(role)));
70 public Role readRole(String roleid) throws IDMStoreException {
71 return IDMObject2MDSAL.toIDMRole(mdsalStore.readRole(roleid));
75 public Role deleteRole(String roleid) throws IDMStoreException {
76 return IDMObject2MDSAL.toIDMRole(mdsalStore.deleteRole(roleid));
80 public Role updateRole(Role role) throws IDMStoreException {
81 return IDMObject2MDSAL.toIDMRole(mdsalStore.writeRole(IDMObject2MDSAL.toMDSALRole(role)));
85 public User writeUser(User user) throws IDMStoreException {
86 return IDMObject2MDSAL.toIDMUser(mdsalStore.writeUser(IDMObject2MDSAL.toMDSALUser(user)));
90 public User readUser(String userid) throws IDMStoreException {
91 return IDMObject2MDSAL.toIDMUser(mdsalStore.readUser(userid));
95 public User deleteUser(String userid) throws IDMStoreException {
96 return IDMObject2MDSAL.toIDMUser(mdsalStore.deleteUser(userid));
100 public User updateUser(User user) throws IDMStoreException {
101 return IDMObject2MDSAL.toIDMUser(mdsalStore.writeUser(IDMObject2MDSAL.toMDSALUser(user)));
105 public Grant writeGrant(Grant grant) throws IDMStoreException {
106 return IDMObject2MDSAL.toIDMGrant(mdsalStore.writeGrant(IDMObject2MDSAL.toMDSALGrant(grant)));
110 public Grant readGrant(String grantid) throws IDMStoreException {
111 return IDMObject2MDSAL.toIDMGrant(mdsalStore.readGrant(grantid));
115 public Grant deleteGrant(String grantid) throws IDMStoreException {
116 return IDMObject2MDSAL.toIDMGrant(mdsalStore.readGrant(grantid));
120 public Roles getRoles() throws IDMStoreException {
121 Roles roles = new Roles();
122 List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Role> mdSalRoles = mdsalStore.getAllRoles();
123 for (org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Role r : mdSalRoles) {
124 roles.getRoles().add(IDMObject2MDSAL.toIDMRole(r));
130 public Users getUsers() 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 users.getUsers().add(IDMObject2MDSAL.toIDMUser(u));
140 public Users getUsers(String username, String domain) throws IDMStoreException {
141 Users users = new Users();
142 List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User> mdSalUsers = mdsalStore.getAllUsers();
143 for (org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User u : mdSalUsers) {
144 if (u.getDomainid().equals(domain) && u.getName().equals(username)) {
145 users.getUsers().add(IDMObject2MDSAL.toIDMUser(u));
152 public Grants getGrants(String domainid, String userid) throws IDMStoreException {
153 Grants grants = new Grants();
154 List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant> mdSalGrants = mdsalStore.getAllGrants();
155 String currentGrantUserId, currentGrantDomainId;
156 for (org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant g : mdSalGrants) {
157 currentGrantUserId = g.getUserid();
158 currentGrantDomainId = g.getDomainid();
159 if (currentGrantUserId.equals(userid) && currentGrantDomainId.equals(domainid)) {
160 grants.getGrants().add(IDMObject2MDSAL.toIDMGrant(g));
167 public Grants getGrants(String userid) throws IDMStoreException {
168 Grants grants = new Grants();
169 List<org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant> mdSalGrants = mdsalStore.getAllGrants();
170 for (org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant g : mdSalGrants) {
171 if (g.getUserid().equals(userid)) {
172 grants.getGrants().add(IDMObject2MDSAL.toIDMGrant(g));
179 public Grant readGrant(String domainid, String userid, String roleid) throws IDMStoreException {
180 return readGrant(IDMStoreUtil.createGrantid(userid, domainid, roleid));