2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (c) 2017 AT&T Intellectual Property
6 * ===================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 * ============LICENSE_END=============================================
20 * ====================================================================
23 package org.onap.music.main;
25 import java.util.ArrayList;
26 import java.util.Arrays;
28 import org.onap.music.eelf.logging.EELFLoggerDelegate;
29 import org.springframework.beans.factory.InitializingBean;
30 import org.springframework.beans.factory.annotation.Value;
31 import org.springframework.context.annotation.Bean;
32 import org.springframework.context.annotation.PropertySource;
33 import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
34 import org.springframework.stereotype.Component;
36 @PropertySource(value = {"file:/opt/app/music/etc/music.properties", "classpath:/project.properties"})
38 public class PropertiesLoader implements InitializingBean {
40 @Value("${cassandra.host}")
41 public String cassandraHost;
44 public String musicIp;
50 public String version;
55 @Value("${music.properties}")
56 public String musicProperties;
58 @Value("${lock.lease.period}")
59 public String lockLeasePeriod;
61 @Value("${cassandra.user}")
62 public String cassandraUser;
64 @Value("${cassandra.password}")
65 public String cassandraPassword;
67 @Value("${aaf.endpoint.url}")
68 public String aafEndpointUrl;
70 @Value("${admin.username}")
71 public String adminUsername;
73 @Value("${admin.password}")
74 public String adminPassword;
76 @Value("${cassandra.port}")
77 public String cassandraPort;
79 @Value("${aaf.admin.url}")
80 public String aafAdminUrl;
82 @Value("${music.namespace}")
83 public String musicNamespace;
85 @Value("${admin.aaf.role}")
86 public String adminAafRole;
88 @Value("${notify.interval}")
89 public String notifyInterval;
91 @Value("${notify.timeout}")
92 public String notifyTimeout;
97 @Value("${keyspace.active}")
98 public String isKeyspaceActive;
100 @Value("${retry.count}")
101 public String rertryCount;
103 @Value("${transId.header.prefix}")
104 private String transIdPrefix;
106 @Value("${conversation.header.prefix}")
107 private String conversationIdPrefix;
109 @Value("${clientId.header.prefix}")
110 private String clientIdPrefix;
112 @Value("${messageId.header.prefix}")
113 private String messageIdPrefix;
115 @Value("${transId.header.required}")
116 private String transIdRequired;
118 @Value("${conversation.header.required}")
119 private String conversationIdRequired;
121 @Value("${clientId.header.required}")
122 private String clientIdRequired;
124 @Value("${messageId.header.required}")
125 private String messageIdRequired;
127 private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesLoader.class);
130 public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
131 //return new PropertySourcesPlaceholderConfigurer();
132 PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
133 pspc.setIgnoreResourceNotFound(true);
134 pspc.setIgnoreUnresolvablePlaceholders(true);
141 public void loadProperties() {
142 if (aafAdminUrl != null && !aafAdminUrl.equals("${aaf.admin.url}")) {
143 MusicUtil.setAafAdminUrl(aafAdminUrl);
145 if (aafEndpointUrl != null && !aafEndpointUrl.equals("${aaf.endpoint.url}")) {
146 MusicUtil.setAafEndpointUrl(aafEndpointUrl);
148 if (adminAafRole != null && !adminAafRole.equals("${admin.aaf.role}")) {
149 MusicUtil.setAdminAafRole(adminAafRole);
151 if (adminPassword != null && !adminPassword.equals("${admin.password}")) {
152 MusicUtil.setAdminPass(adminPassword);
154 if (adminUsername != null && !adminUsername.equals("${admin.username}")) {
155 MusicUtil.setAdminId(adminUsername);
157 if (cassandraPort != null && !cassandraPort.equals("${cassandra.port}")) {
158 MusicUtil.setCassandraPort(Integer.parseInt(cassandraPort));
160 if (cassandraUser != null && !cassandraUser.equals("${cassandra.user}")) {
161 MusicUtil.setCassName(cassandraUser);
163 if (cassandraPassword != null && !cassandraPassword.equals("${cassandra.password}")) {
164 MusicUtil.setCassPwd(cassandraPassword);
166 if (debug != null && !debug.equals("${debug}")) {
167 MusicUtil.setDebug(Boolean.parseBoolean(debug));
169 if (lockLeasePeriod != null && !lockLeasePeriod.equals("${lock.lease.period}")) {
170 MusicUtil.setDefaultLockLeasePeriod(Long.parseLong(lockLeasePeriod));
172 if (musicIp != null && !musicIp.equals("${music.ip}")) {
173 MusicUtil.setDefaultMusicIp(musicIp);
175 if (musicNamespace != null && !musicNamespace.equals("${music.namespace}")) {
176 MusicUtil.setMusicNamespace(musicNamespace);
178 if (musicProperties != null && !musicProperties.equals("${music.properties}")) {
179 MusicUtil.setMusicPropertiesFilePath(musicProperties);
181 if (cassandraHost != null && !cassandraHost.equals("${cassandra.host}")) {
182 MusicUtil.setMyCassaHost(cassandraHost);
184 if (notifyInterval != null && !notifyInterval.equals("${notify.interval}")) {
185 MusicUtil.setNotifyInterval(Integer.parseInt(notifyInterval));
187 if (notifyTimeout != null && !notifyTimeout.equals("${notify.timeout}")) {
188 MusicUtil.setNotifyTimeOut(Integer.parseInt(notifyTimeout));
190 if (version != null && !version.equals("${version}")) {
191 MusicUtil.setVersion(version);
193 if (build != null && !version.equals("${build}")) {
194 MusicUtil.setBuild(build);
196 if (isCadi != null && !isCadi.equals("${cadi}")) {
197 MusicUtil.setIsCadi(Boolean.parseBoolean(isCadi));
199 if (rertryCount != null && !rertryCount.equals("${retry.count}")) {
200 MusicUtil.setRetryCount(Integer.parseInt(rertryCount));
202 if (isKeyspaceActive != null && !isKeyspaceActive.equals("${keyspace.active}")) {
203 MusicUtil.setKeyspaceActive(Boolean.parseBoolean(isKeyspaceActive));
207 if(transIdPrefix!=null) {
208 MusicUtil.setTransIdPrefix(transIdPrefix);
211 if(conversationIdPrefix!=null) {
212 MusicUtil.setConversationIdPrefix(conversationIdPrefix);
215 if(clientIdPrefix!=null) {
216 MusicUtil.setClientIdPrefix(clientIdPrefix);
219 if(messageIdPrefix!=null) {
220 MusicUtil.setMessageIdPrefix(messageIdPrefix);
223 if(transIdRequired!=null) {
224 MusicUtil.setTransIdRequired(transIdRequired);
227 if(conversationIdRequired!=null) {
228 MusicUtil.setConversationIdRequired(conversationIdRequired);
231 if(clientIdRequired!=null) {
232 MusicUtil.setClientIdRequired(clientIdRequired);
235 if(messageIdRequired!=null) {
236 MusicUtil.setMessageIdRequired(messageIdRequired);
242 public void afterPropertiesSet() throws Exception {
243 // TODO Auto-generated method stub