Merge "Sonar improvements and class renaming"
[clamp.git] / src / main / java / org / onap / clamp / clds / util / ResourceFileUtil.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                             reserved.
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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23
24 package org.onap.clamp.clds.util;
25
26 import java.io.IOException;
27 import java.io.InputStream;
28
29 /**
30  * Utility methods supporting transforms.
31  */
32 public class ResourceFileUtil {
33
34     /**
35      * Disable the ResourceFileUtil constructor.
36      */
37     private ResourceFileUtil() {
38
39     }
40
41     /**
42      * Return resource as a Stream.
43      *
44      * @param name
45      * @return resource - resource as stream
46      */
47     public static InputStream getResourceAsStream(String name) {
48         InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
49         if (is == null) {
50             throw new IllegalArgumentException("Unable to find resource: " + name);
51         }
52         return is;
53     }
54
55     /**
56      * Return resource as a Stream.
57      *
58      * @param name
59      * @throws IOException
60      */
61     public static String getResourceAsString(String name) throws IOException {
62         InputStream is = getResourceAsStream(name);
63         java.util.Scanner scanner = new java.util.Scanner(is);
64         java.util.Scanner delimitedScanner = scanner.useDelimiter("\\A");
65         String text = delimitedScanner.hasNext() ? delimitedScanner.next() : "";
66         delimitedScanner.close();
67         scanner.close();
68         is.close();
69         return text;
70     }
71 }