cleaned up clds service code
[clamp.git] / src / main / java / org / onap / clamp / clds / service / CldsInfoProvider.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2018 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  * Modifications copyright (c) 2018 Nokia
21  * ===================================================================
22  *
23  */
24
25 package org.onap.clamp.clds.service;
26
27 import static org.onap.clamp.clds.service.CldsService.RESOURCE_NAME;
28
29 import com.att.eelf.configuration.EELFLogger;
30 import com.att.eelf.configuration.EELFManager;
31 import java.io.InputStream;
32 import java.util.Properties;
33 import org.onap.clamp.clds.model.CldsInfo;
34 import org.onap.clamp.clds.util.ResourceFileUtil;
35
36 class CldsInfoProvider {
37
38     private static final String CLDS_VERSION = "clds.version";
39     private final CldsService cldsService;
40     private final EELFLogger logger = EELFManager.getInstance().getLogger(CldsInfoProvider.class);
41
42
43     CldsInfoProvider(CldsService cldsService) {
44         this.cldsService = cldsService;
45     }
46
47     CldsInfo getCldsInfo(){
48         CldsInfo cldsInfo = new CldsInfo();
49         cldsInfo.setUserName(cldsService.getUserName());
50         cldsInfo.setCldsVersion(getCldsVersionFromProps());
51
52         cldsInfo.setPermissionReadCl(cldsService.isAuthorizedNoException(cldsService.permissionReadCl));
53         cldsInfo.setPermissionUpdateCl(cldsService.isAuthorizedNoException(cldsService.permissionUpdateCl));
54         cldsInfo.setPermissionReadTemplate(cldsService.isAuthorizedNoException(cldsService.permissionReadTemplate));
55         cldsInfo.setPermissionUpdateTemplate(cldsService.isAuthorizedNoException(cldsService.permissionUpdateTemplate));
56         return cldsInfo;
57     }
58
59     private String getCldsVersionFromProps() {
60         String cldsVersion = "";
61         Properties props = new Properties();
62         try (InputStream resourceStream = ResourceFileUtil.getResourceAsStream(RESOURCE_NAME)) {
63             props.load(resourceStream);
64             cldsVersion = props.getProperty(CLDS_VERSION);
65         } catch (Exception ex) {
66             logger.error("Exception caught during the clds.version reading", ex);
67         }
68         return cldsVersion;
69     }
70 }