package org.onap.music.main;
+import java.util.HashSet;
import java.util.Properties;
import org.onap.music.eelf.logging.EELFLoggerDelegate;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.stereotype.Component;
-@PropertySource(value = {"file:/opt/app/music/etc/music.properties", "classpath:/project.properties","file:/opt/app/music/etc/key.properties"})
+@PropertySource(value = {"file:/opt/app/music/etc/music.properties", "classpath:/project.properties"})
+//"file:/opt/app/music/etc/key.properties"
@Component
public class PropertiesLoader implements InitializingBean {
@Value("${debug}")
public String debug;
-
+
@Value("${version}")
public String version;
@Value("${build}")
public String build;
-
+
@Value("${music.properties}")
public String musicProperties;
-
+
@Value("${lock.lease.period}")
public String lockLeasePeriod;
-
+
@Value("${cassandra.user}")
public String cassandraUser;
-
+
@Value("${cassandra.password}")
public String cassandraPassword;
-
+
@Value("${cassandra.port}")
public String cassandraPort;
-
+
+ @Value("${cassandra.connecttimeoutms}")
+ public String cassandraConnectTimeOutMS;
+
+ @Value("${cassandra.readtimeoutms}")
+ public String cassandraReadTimeOutMS;
+
@Value("${cadi}")
public String isCadi;
-
+
@Value("${keyspace.active}")
public String isKeyspaceActive;
@Value("${retry.count}")
public String rertryCount;
+ @Value("${lock.daemon.sleeptime.ms}")
+ public String lockDaemonSleeptimems;
+
+ @Value("${keyspaces.for.lock.cleanup}")
+ public String keyspacesForLockCleanup;
+
+ @Value("${create.lock.wait.period.ms}")
+ private long createLockWaitPeriod;
+
+ @Value("${create.lock.wait.increment.ms}")
+ private int createLockWaitIncrement;
+
@Value("${transId.header.prefix}")
private String transIdPrefix;
@Value("${messageId.header.prefix}")
private String messageIdPrefix;
-
+
@Value("${transId.header.required}")
private Boolean transIdRequired;
@Value("${music.aaf.ns}")
private String musicAafNs;
- @Value("${cipher.enc.key}")
+ @Value("${cipher.enc.key:}")
private String cipherEncKey;
-
+
@SuppressWarnings("unused")
- private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesLoader.class);
-
+ private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesLoader.class);
+
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
-
+
PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
pspc.setIgnoreResourceNotFound(true);
pspc.setIgnoreUnresolvablePlaceholders(true);
return pspc;
}
-
+
/**
* .
*/
if (cassandraPassword != null && !cassandraPassword.equals("${cassandra.password}")) {
MusicUtil.setCassPwd(cassandraPassword);
}
+ if (cassandraConnectTimeOutMS != null && !cassandraConnectTimeOutMS.equals("${cassandra.connecttimeoutms}")) {
+ MusicUtil.setCassandraConnectTimeOutMS(Integer.parseInt(cassandraConnectTimeOutMS));
+ }
+ if (cassandraReadTimeOutMS != null && !cassandraReadTimeOutMS.equals("${cassandra.readtimeoutms}")) {
+ MusicUtil.setCassandraReadTimeOutMS(Integer.parseInt(cassandraReadTimeOutMS));
+ }
if (debug != null && !debug.equals("${debug}")) {
MusicUtil.setDebug(Boolean.parseBoolean(debug));
}
if (isKeyspaceActive != null && !isKeyspaceActive.equals("${keyspace.active}")) {
MusicUtil.setKeyspaceActive(Boolean.parseBoolean(isKeyspaceActive));
}
+ if (lockDaemonSleeptimems != null && !lockDaemonSleeptimems.equals("${lock.daemon.sleeptime.ms}")) {
+ MusicUtil.setLockDaemonSleepTimeMs(Long.parseLong(lockDaemonSleeptimems));
+ }
+ if (keyspacesForLockCleanup !=null && !keyspacesForLockCleanup.equals("${keyspaces.for.lock.cleanup}")) {
+ HashSet<String> keyspaces = new HashSet<>();
+ for (String keyspace: keyspacesForLockCleanup.split(",")) {
+ keyspaces.add(keyspace);
+ }
+ MusicUtil.setKeyspacesToCleanLocks(keyspaces);
+ }
if(transIdPrefix!=null) {
MusicUtil.setTransIdPrefix(transIdPrefix);
}
if(messageIdRequired!=null) {
MusicUtil.setMessageIdRequired(messageIdRequired);
}
+
+ if(createLockWaitPeriod!=0) {
+ MusicUtil.setCreateLockWaitPeriod(createLockWaitPeriod);
+ }
+
+ if(createLockWaitIncrement!=0) {
+ MusicUtil.setCreateLockWaitIncrement(createLockWaitIncrement);
+ }
}
public static void loadProperties(Properties properties) {
if (properties.getProperty("cassandra.password")!=null) {
MusicUtil.setCassPwd(properties.getProperty("cassandra.password"));
}
-
+
+ if(properties.getProperty("cassandra.connectTimeOutMS")!=null) {
+ MusicUtil.setCassandraConnectTimeOutMS(Integer.parseInt(properties.getProperty("cassandra.connecttimeoutms")));
+ }
+
+ if(properties.getProperty("cassandra.readTimeOutMS")!=null) {
+ MusicUtil.setCassandraReadTimeOutMS(Integer.parseInt(properties.getProperty("cassandra.readtimeoutms")));
+ }
+
if (properties.getProperty("music.properties")!=null) {
MusicUtil.setMusicPropertiesFilePath(properties.getProperty("music.properties"));
}
}
}
-
+
@Override
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
-
+
+ }
+
+ /* For unit testing purpose only*/
+ protected void setProperties() {
+ cassandraHost = "127.0.0.1";
+ debug = "true";
+ version = "x.x.x";
+ build = "y.y";
+ musicProperties = "property";
+ lockLeasePeriod = "5000";
+ cassandraUser = "user";
+ cassandraPassword = "password";
+ cassandraPort = "8007";
+ cassandraConnectTimeOutMS = "1000";
+ cassandraReadTimeOutMS = "1000";
+ isCadi = "true";
+ isKeyspaceActive = "true";
+ rertryCount = "20";
+ transIdPrefix = "transId-";
+ conversationIdPrefix = "conversation-";
+ clientIdPrefix = "clientId-";
+ messageIdPrefix = "messageId-";
+ transIdRequired = true;
+ conversationIdRequired = true;
+ clientIdRequired = true;
+ messageIdRequired = true;
+ musicAafNs = "ns";
+ cipherEncKey = "key";
}
}