in chef/commands/src/main/java/org/jclouds/karaf/chef/commands/ChefCommandBase.java [103:129]
protected Configuration findOrCreateFactoryConfiguration(ConfigurationAdmin configurationAdmin, String factoryPid, String id, String api) throws IOException {
Configuration configuration = null;
if (configurationAdmin != null) {
try {
Configuration[] configurations = configurationAdmin.listConfigurations(String.format(FACTORY_FILTER, factoryPid));
if (configurations != null) {
for (Configuration conf : configurations) {
Dictionary<?, ?> dictionary = conf.getProperties();
//If id has been specified only try to match by id, ignore the rest.
if (dictionary != null && id != null) {
if (id.equals(dictionary.get(Constants.NAME))) {
return conf;
}
} else {
if (dictionary != null && api != null && api.equals(dictionary.get("api"))) {
return conf;
}
}
}
}
} catch (Exception e) {
// noop
}
configuration = configurationAdmin.createFactoryConfiguration(factoryPid, null);
}
return configuration;
}