- ConfigurationAdmin configAdmin = bundleContext.getService(configAdminServiceReference);
- Configuration config = configAdmin.getConfiguration(CONFIG_ID);
- Dictionary<String, Object> properties = config.getProperties();
- Enumeration<String> keys = properties.keys();
- while (keys.hasMoreElements()) {
- String key = keys.nextElement();
- String strategyProps = (String) properties.get(key);
- String[] strategyClassAndDelay = strategyProps.split(",");
- if(strategyClassAndDelay.length >= 1) {
- Class<? extends EntityOwnerSelectionStrategy> aClass
- = (Class<? extends EntityOwnerSelectionStrategy>) getClass().getClassLoader().loadClass(strategyClassAndDelay[0]);
- long delay = 0;
- if(strategyClassAndDelay.length > 1){
- delay = Long.parseLong(strategyClassAndDelay[1]);
+ configAdmin = bundleContext.getService(configAdminServiceReference);
+ Dictionary<String, Object> properties = getProperties(configAdmin);
+ if(properties != null) {
+ Enumeration<String> keys = properties.keys();
+ while (keys.hasMoreElements()) {
+ String key = keys.nextElement();
+ String strategyProps = (String) properties.get(key);
+ String[] strategyClassAndDelay = strategyProps.split(",");
+ if(strategyClassAndDelay.length >= 1) {
+ @SuppressWarnings("unchecked")
+ Class<? extends EntityOwnerSelectionStrategy> aClass
+ = (Class<? extends EntityOwnerSelectionStrategy>) getClass().getClassLoader().loadClass(strategyClassAndDelay[0]);
+ long delay = 0;
+ if(strategyClassAndDelay.length > 1){
+ delay = Long.parseLong(strategyClassAndDelay[1]);
+ }
+ builder.addStrategy(key, aClass, delay);