2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Modifications Copyright (c) 2019 Samsung
9 * ================================================================================
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 * ============LICENSE_END============================================
22 * ===================================================================
26 package org.onap.clamp.clds.config;
28 import com.google.gson.JsonParseException;
30 import java.io.IOException;
31 import java.io.InputStream;
32 import java.nio.charset.StandardCharsets;
34 import org.apache.commons.io.IOUtils;
35 import org.onap.clamp.clds.exception.CldsUsersException;
36 import org.onap.clamp.clds.service.CldsUser;
37 import org.onap.clamp.clds.util.JsonUtils;
39 public class CldsUserJsonDecoder {
41 private CldsUserJsonDecoder() {
45 * This method decodes the JSON file provided to a CldsUser Array. The stream is
46 * closed after this call, this is not possible to reuse it.
48 * @param cldsUsersFile
49 * The inputStream containing the users json file
50 * @return CldsUser[] Array containing a list of the user defined in the JSON
53 public static CldsUser[] decodeJson(InputStream cldsUsersFile) {
55 return decodeJson(IOUtils.toString(cldsUsersFile, StandardCharsets.UTF_8.name()));
56 } catch (IOException e) {
57 throw new CldsUsersException("Exception occurred during the decoding of the clds-users.json", e);
62 * This method decodes the JSON string to a CldsUser Array.
64 * @param cldsUsersString JSON string
65 * @return CldsUser[] Array containing a list of the user defined in the JSON
67 public static CldsUser[] decodeJson(String cldsUsersString) {
69 // the ObjectMapper readValue method closes the stream no need to do
71 return JsonUtils.GSON.fromJson(cldsUsersString, CldsUser[].class);
72 } catch (JsonParseException e) {
73 throw new CldsUsersException("Exception occurred during the decoding of the clds-users.json", e);