ee1ea8e56266e9279308f1735e76c115d00a027c
[so.git] / mso-api-handlers / mso-api-handler-common / src / main / java / org / onap / so / apihandler / common / PathResourceResolver.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Modifications Copyright (c) 2019 Samsung
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.so.apihandler.common;
24
25
26 import java.io.FileInputStream;
27 import java.io.FileNotFoundException;
28 import java.io.InputStream;
29 import java.io.InputStreamReader;
30
31 import org.slf4j.Logger;
32 import org.slf4j.LoggerFactory;
33 import org.w3c.dom.ls.LSInput;
34 import org.w3c.dom.ls.LSResourceResolver;
35
36 public class PathResourceResolver implements LSResourceResolver {
37         
38     private static Logger logger = LoggerFactory.getLogger(PathResourceResolver.class);
39
40     private String path;
41         
42     public PathResourceResolver(String path) {
43         
44         this.path = path;
45     }
46     
47     @Override
48     public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
49  
50         LSInputImpl input = new LSInputImpl();
51  
52         InputStream stream = null;
53                 try {
54                         stream = new FileInputStream(path + systemId);
55                 } catch (FileNotFoundException e) {
56         logger.debug ("Could not resolve resource based on file: {}", path + systemId, e);
57                 }
58  
59         input.setPublicId(publicId);
60         input.setSystemId(systemId);
61         input.setBaseURI(baseURI);
62         input.setCharacterStream(new InputStreamReader(stream));
63  
64         return input;
65     }
66 }