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("${zookeeper.host}")
41 private String zookeeperHost;
43 @Value("${cassandra.host}")
44 public String cassandraHost;
47 public String musicIp;
53 public String version;
55 @Value("${music.rest.ip}")
56 public String musicRestIp;
58 @Value("${music.properties}")
59 public String musicProperties;
61 @Value("${lock.lease.period}")
62 public String lockLeasePeriod;
64 @Value("${public.ip}")
65 public String publicIp;
73 @Value("${all.public.ips}")
74 public String allPublicIps;
76 @Value("${cassandra.user}")
77 public String cassandraUser;
79 @Value("${cassandra.password}")
80 public String cassandraPassword;
82 @Value("${aaf.endpoint.url}")
83 public String aafEndpointUrl;
85 @Value("${admin.username}")
86 public String adminUsername;
88 @Value("${admin.password}")
89 public String adminPassword;
91 @Value("${cassandra.port}")
92 public String cassandraPort;
94 @Value("${aaf.admin.url}")
95 public String aafAdminUrl;
97 @Value("${music.namespace}")
98 public String musicNamespace;
100 @Value("${admin.aaf.role}")
101 public String adminAafRole;
103 @Value("${notify.interval}")
104 public String notifyInterval;
106 @Value("${notify.timeout}")
107 public String notifyTimeout;
110 public String isCadi;
112 private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesLoader.class);
115 public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
116 //return new PropertySourcesPlaceholderConfigurer();
117 PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
118 pspc.setIgnoreResourceNotFound(true);
119 pspc.setIgnoreUnresolvablePlaceholders(true);
123 public void loadProperties () {
124 if(aafAdminUrl != null && !aafAdminUrl.equals("${aaf.admin.url}"))
125 MusicUtil.setAafAdminUrl(aafAdminUrl);
126 if(aafEndpointUrl != null && !aafEndpointUrl.equals("${aaf.endpoint.url}"))
127 MusicUtil.setAafEndpointUrl(aafEndpointUrl);
128 if(adminAafRole != null && !adminAafRole.equals("${admin.aaf.role}"))
129 MusicUtil.setAdminAafRole(adminAafRole);
130 //MusicUtil.setAdminId(adminId);
131 if(adminPassword != null && !adminPassword.equals("${admin.password}"))
132 MusicUtil.setAdminPass(adminPassword);
133 if(adminUsername != null && !adminUsername.equals("${admin.username}"))
134 MusicUtil.setAdminId(adminUsername);
135 if(allIds != null && !allIds.equals("${all.ids}")) {
136 String[] ids = allIds.split(":");
137 MusicUtil.setAllIds(new ArrayList<String>(Arrays.asList(ids)));
139 if(allPublicIps != null && !allPublicIps.equals("${all.public.ips}")) {
140 String[] ips = allPublicIps.split(":");
141 if (ips.length == 1) {
143 } else if (ips.length > 1) {
144 MusicUtil.setAllPublicIps(
145 new ArrayList<String>(Arrays.asList(ips)));
148 if(cassandraPort != null && !cassandraPort.equals("${cassandra.port}"))
149 MusicUtil.setCassandraPort(Integer.parseInt(cassandraPort));
150 if(cassandraUser != null && !cassandraUser.equals("${cassandra.user}"))
151 MusicUtil.setCassName(cassandraUser);
152 if(cassandraPassword != null && !cassandraPassword.equals("${cassandra.password}"))
153 MusicUtil.setCassPwd(cassandraPassword);
154 if(debug != null && !debug.equals("${debug}"))
155 MusicUtil.setDebug(Boolean.parseBoolean(debug));
156 if(lockLeasePeriod != null && !lockLeasePeriod.equals("${lock.lease.period}"))
157 MusicUtil.setDefaultLockLeasePeriod(Long.parseLong(lockLeasePeriod));
158 if(musicIp != null && !musicIp.equals("${music.ip}"))
159 MusicUtil.setDefaultMusicIp(musicIp);
160 if(musicNamespace != null && !musicNamespace.equals("${music.namespace}"))
161 MusicUtil.setMusicNamespace(musicNamespace);
162 if(musicProperties != null && !musicProperties.equals("${music.properties}"))
163 MusicUtil.setMusicPropertiesFilePath(musicProperties);
164 if(musicRestIp != null && !musicRestIp.equals("${music.rest.ip}"))
165 MusicUtil.setMusicRestIp(musicRestIp);
166 if(cassandraHost != null && !cassandraHost.equals("${cassandra.host}"))
167 MusicUtil.setMyCassaHost(cassandraHost);
168 logger.info("#### Cassandra Host: " + MusicUtil.getMyCassaHost());
169 if(myId != null && !myId.equals("${my.id}"))
170 MusicUtil.setMyId(Integer.parseInt(myId));
171 if(zookeeperHost != null && !zookeeperHost.equals("${zookeeper.host}"))
172 MusicUtil.setMyZkHost(zookeeperHost);
173 if(notifyInterval != null && !notifyInterval.equals("${notify.interval}"))
174 MusicUtil.setNotifyInterval(Integer.parseInt(notifyInterval));
175 if(notifyTimeout != null && !notifyTimeout.equals("${notify.timeout}"))
176 MusicUtil.setNotifyTimeOut(Integer.parseInt(notifyTimeout));
177 if(allPublicIps != null && !allPublicIps.equals("${public.ip}"))
178 MusicUtil.setPublicIp(allPublicIps);
179 if(version != null && !version.equals("${version}"))
180 MusicUtil.setVersion(version);
181 if(isCadi != null && !isCadi.equals("${cadi}"))
182 MusicUtil.setIsCadi(Boolean.parseBoolean(isCadi));
187 public void afterPropertiesSet() throws Exception {
188 // TODO Auto-generated method stub