in src/main/java/org/apache/sling/commons/log/logback/internal/SlingLogPanel.java [664:698]
private void removeLogger(final String pid)
throws ConfigurationException {
// try to get the configadmin service reference
ServiceReference sr = this.bundleContext
.getServiceReference(ConfigurationAdmin.class.getName());
if (sr != null) {
try {
if (pid == null) {
throw new ConfigurationException(LogConfigManager.PID,
"PID has to be specified.");
}
// try to get the configadmin
final ConfigurationAdmin configAdmin = (ConfigurationAdmin) this.bundleContext
.getService(sr);
if (configAdmin != null) {
try {
Configuration config = configAdmin.getConfiguration(pid);
if (config != null) {
config.delete();
} else {
throw new ConfigurationException(LogConfigManager.PID,
"No configuration for this PID:" + pid);
}
} catch (IOException ioe) {
internalFailure(
"Cannot delete configuration for pid " + pid,
ioe);
}
}
} finally {
// release the configadmin reference
this.bundleContext.ungetService(sr);
}
}
}