c20ce5c5e983ad4ade897f4cb819aa93c2282491
[music.git] / src / main / java / org / onap / music / main / PropertiesLoader.java
1 /*
2  * ============LICENSE_START==========================================
3  * org.onap.music
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
10  * 
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  * 
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.
18  * 
19  * ============LICENSE_END=============================================
20  * ====================================================================
21  */
22
23 package org.onap.music.main;
24
25 import java.util.ArrayList;
26 import java.util.Arrays;
27
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;
35
36 @PropertySource(value = {"file:/opt/app/music/etc/music.properties", "classpath:/project.properties"})
37 @Component
38 public class PropertiesLoader implements InitializingBean {
39
40     @Value("${cassandra.host}")
41     public String cassandraHost;
42     
43     @Value("${music.ip}")
44     public String musicIp;        
45     
46     @Value("${debug}")
47     public String debug;
48     
49     @Value("${version}")
50     public String version;
51
52     @Value("${build}")
53     public String build;
54     
55     @Value("${music.properties}")
56     public String musicProperties;
57     
58     @Value("${lock.lease.period}")
59     public String lockLeasePeriod;
60     
61     @Value("${cassandra.user}")
62     public String cassandraUser;
63     
64     @Value("${cassandra.password}")
65     public String cassandraPassword;
66     
67     @Value("${aaf.endpoint.url}")
68     public String aafEndpointUrl;
69     
70     @Value("${admin.username}")
71     public String adminUsername;
72     
73     @Value("${admin.password}")
74     public String adminPassword;
75     
76     @Value("${cassandra.port}")
77     public String cassandraPort;
78     
79     @Value("${aaf.admin.url}")
80     public String aafAdminUrl;
81     
82     @Value("${music.namespace}")
83     public String musicNamespace;
84     
85     @Value("${admin.aaf.role}")
86     public String adminAafRole;
87     
88     @Value("${notify.interval}")
89     public String notifyInterval;
90     
91     @Value("${notify.timeout}")
92     public String notifyTimeout;
93
94     @Value("${cadi}")
95     public String isCadi;
96     
97     @Value("${keyspace.active}")
98     public String isKeyspaceActive;
99
100     @Value("${retry.count}")
101     public String rertryCount;
102     
103     @Value("${transId.header.prefix}")
104     private String transIdPrefix;
105
106     @Value("${conversation.header.prefix}")
107     private String conversationIdPrefix;
108
109     @Value("${clientId.header.prefix}")
110     private String clientIdPrefix;
111
112     @Value("${messageId.header.prefix}")
113     private String messageIdPrefix;    
114     
115     @Value("${transId.header.required}")
116     private String transIdRequired;
117
118     @Value("${conversation.header.required}")
119     private String conversationIdRequired;
120
121     @Value("${clientId.header.required}")
122     private String clientIdRequired;
123
124     @Value("${messageId.header.required}")
125     private String messageIdRequired;
126     
127     private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesLoader.class);
128     
129     @Bean
130     public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
131         //return new PropertySourcesPlaceholderConfigurer();
132         PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
133         pspc.setIgnoreResourceNotFound(true);
134         pspc.setIgnoreUnresolvablePlaceholders(true);
135         return pspc;
136     }
137     
138     /**
139      * .
140      */
141     public void loadProperties() {
142         if (aafAdminUrl != null && !aafAdminUrl.equals("${aaf.admin.url}")) {
143             MusicUtil.setAafAdminUrl(aafAdminUrl);
144         }
145         if (aafEndpointUrl != null && !aafEndpointUrl.equals("${aaf.endpoint.url}")) {
146             MusicUtil.setAafEndpointUrl(aafEndpointUrl);
147         }
148         if (adminAafRole != null && !adminAafRole.equals("${admin.aaf.role}")) {
149             MusicUtil.setAdminAafRole(adminAafRole);
150         }
151         if (adminPassword != null && !adminPassword.equals("${admin.password}")) {
152             MusicUtil.setAdminPass(adminPassword);
153         }
154         if (adminUsername != null && !adminUsername.equals("${admin.username}")) {
155             MusicUtil.setAdminId(adminUsername);
156         }
157         if (cassandraPort != null && !cassandraPort.equals("${cassandra.port}")) {
158             MusicUtil.setCassandraPort(Integer.parseInt(cassandraPort));
159         }
160         if (cassandraUser != null && !cassandraUser.equals("${cassandra.user}")) {
161             MusicUtil.setCassName(cassandraUser);
162         }
163         if (cassandraPassword != null && !cassandraPassword.equals("${cassandra.password}")) {
164             MusicUtil.setCassPwd(cassandraPassword);
165         }
166         if (debug != null && !debug.equals("${debug}")) {
167             MusicUtil.setDebug(Boolean.parseBoolean(debug));
168         }
169         if (lockLeasePeriod != null && !lockLeasePeriod.equals("${lock.lease.period}")) {
170             MusicUtil.setDefaultLockLeasePeriod(Long.parseLong(lockLeasePeriod));
171         }
172         if (musicIp != null && !musicIp.equals("${music.ip}")) {
173             MusicUtil.setDefaultMusicIp(musicIp);
174         }
175         if (musicNamespace != null && !musicNamespace.equals("${music.namespace}")) {
176             MusicUtil.setMusicNamespace(musicNamespace);
177         }
178         if (musicProperties != null && !musicProperties.equals("${music.properties}")) {
179             MusicUtil.setMusicPropertiesFilePath(musicProperties);
180         }
181         if (cassandraHost != null && !cassandraHost.equals("${cassandra.host}")) {
182             MusicUtil.setMyCassaHost(cassandraHost);
183         }
184         if (notifyInterval != null && !notifyInterval.equals("${notify.interval}")) {
185             MusicUtil.setNotifyInterval(Integer.parseInt(notifyInterval));
186         }
187         if (notifyTimeout != null && !notifyTimeout.equals("${notify.timeout}")) {
188             MusicUtil.setNotifyTimeOut(Integer.parseInt(notifyTimeout));
189         }
190         if (version != null && !version.equals("${version}")) {
191             MusicUtil.setVersion(version);
192         }
193         if (build != null && !version.equals("${build}")) {
194             MusicUtil.setBuild(build);
195         }
196         if (isCadi != null && !isCadi.equals("${cadi}")) {
197             MusicUtil.setIsCadi(Boolean.parseBoolean(isCadi));
198         }
199         if (rertryCount != null && !rertryCount.equals("${retry.count}")) {
200             MusicUtil.setRetryCount(Integer.parseInt(rertryCount));
201         }
202         if (isKeyspaceActive != null && !isKeyspaceActive.equals("${keyspace.active}")) {
203             MusicUtil.setKeyspaceActive(Boolean.parseBoolean(isKeyspaceActive));
204         }
205         
206
207         if(transIdPrefix!=null) {
208             MusicUtil.setTransIdPrefix(transIdPrefix);
209         }
210
211         if(conversationIdPrefix!=null) {
212             MusicUtil.setConversationIdPrefix(conversationIdPrefix);
213         }
214
215         if(clientIdPrefix!=null) {
216             MusicUtil.setClientIdPrefix(clientIdPrefix);
217         }
218
219         if(messageIdPrefix!=null) {
220             MusicUtil.setMessageIdPrefix(messageIdPrefix);
221         }
222
223         if(transIdRequired!=null) {
224             MusicUtil.setTransIdRequired(transIdRequired);
225         }
226
227         if(conversationIdRequired!=null) {
228             MusicUtil.setConversationIdRequired(conversationIdRequired);
229         }
230
231         if(clientIdRequired!=null) {
232             MusicUtil.setClientIdRequired(clientIdRequired);
233         }
234
235         if(messageIdRequired!=null) {
236             MusicUtil.setMessageIdRequired(messageIdRequired);
237         }
238     }
239     
240     
241     @Override
242     public void afterPropertiesSet() throws Exception {
243         // TODO Auto-generated method stub
244         
245     }
246         
247 }