2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 AT&T Intellectual Property. All rights
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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 * ===================================================================
25 package org.onap.clamp.clds.service;
27 import static org.onap.clamp.clds.service.CldsService.RESOURCE_NAME;
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;
36 class CldsInfoProvider {
38 private static final String CLDS_VERSION = "clds.version";
39 private final CldsService cldsService;
40 private final EELFLogger logger = EELFManager.getInstance().getLogger(CldsInfoProvider.class);
43 CldsInfoProvider(CldsService cldsService) {
44 this.cldsService = cldsService;
47 CldsInfo getCldsInfo(){
48 CldsInfo cldsInfo = new CldsInfo();
49 cldsInfo.setUserName(cldsService.getUserName());
50 cldsInfo.setCldsVersion(getCldsVersionFromProps());
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));
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);