Adding interfaces in documentation
[aai/sparky-be.git] / src / main / java / org / onap / aai / sparky / editattributes / UserAuthorizationReader.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.onap.aai.sparky.editattributes;
22
23 import java.io.File;
24 import java.io.IOException;
25 import java.nio.file.Files;
26 import java.util.ArrayList;
27 import java.util.List;
28 import java.util.stream.Collectors;
29 import java.util.stream.Stream;
30
31 /**
32  * Reads user IDs from a file. Each line in the user authorization file should contain a single user
33  * ID. For example,
34  *
35  * <pre>
36  * user1
37  * user2
38  * </pre>
39  */
40 public class UserAuthorizationReader {
41
42   private File userAuthorizationFile;
43
44   /**
45    * Set the user authorization file.
46    *
47    * @param file a user authorization file
48    */
49   public UserAuthorizationReader(File file) {
50     this.userAuthorizationFile = file;
51   }
52
53   /**
54    * Gets user IDs from a file.
55    *
56    * @return a list of user IDs
57    * @throws IOException if there is a problem reading the user configuration file
58    */
59   public List<String> getUsers() throws IOException {
60     List<String> userList = new ArrayList<>();
61     try (Stream<String> stream = Files.lines(getUserAuthorizationFile().toPath())) {
62       userList.addAll(stream.map(String::trim).collect(Collectors.toList()));
63     }
64     return userList;
65   }
66
67   // Getters and setters
68   public File getUserAuthorizationFile() {
69     return userAuthorizationFile;
70   }
71
72   public void setUserAuthorizationFile(File file) {
73     this.userAuthorizationFile = file;
74   }
75 }