2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
8 package org.opendaylight.nemo.user.tenantmanager;
\r
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName;
\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.RegisterUserInput;
\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.user.roles.UserRole;
\r
16 import java.util.List;
\r
19 * Created by z00293636 on 2015/9/20.
\r
21 public class RegisterUser {
\r
22 private TenantManage tenantManage;
\r
23 private List<UserRole> userRoleList;
\r
24 private List<User> usersList;
\r
26 public RegisterUser(TenantManage tenantManage)
\r
28 this.tenantManage = tenantManage;
\r
31 public String registerUser(RegisterUserInput input)
\r
33 String errorInfo = null;
\r
35 tenantManage.fetchUserRoles();
\r
36 userRoleList = tenantManage.getUserRoleList();
\r
37 tenantManage.fetchUsers();
\r
38 usersList = tenantManage.getUsersList();
\r
40 if (userRoleList == null)
\r
42 errorInfo = "There are no roles be defined.";
\r
46 if (IfRoleExist(input.getUserRole()))
\r
48 if (usersList != null && IfUserHasRegistered(input.getUserId()))
\r
50 errorInfo = "The user has been registered.";
\r
54 tenantManage.addUser(input);
\r
59 errorInfo = "The role is not defined in the data store.";
\r
64 private boolean IfRoleExist(UserRoleName userRoleName){
\r
65 Boolean roleExist = false;
\r
67 for (UserRole userRole : userRoleList)
\r
69 if (userRole.getRoleName().equals(userRoleName))
\r
78 private boolean IfUserHasRegistered(UserId userId){
\r
79 Boolean userHasRegistered = false;
\r
81 for (User user : usersList)
\r
83 if (user.getUserId().equals(userId))
\r
85 userHasRegistered = true;
\r
89 return userHasRegistered;
\r