@Override
public void unregisterContribution(Object contribution, String extensionPoint, ComponentInstance contributor) {
if (contribution instanceof FlavorDescriptor) {
FlavorDescriptor flavor = (FlavorDescriptor) contribution;
flavorReg.removeContribution(flavor);
} else if (contribution instanceof Resource) {
Resource resource = (Resource) contribution;
unregisterResource(resource);
} else if (contribution instanceof SimpleStyle) {
SimpleStyle style = (SimpleStyle) contribution;
unregisterResource(getResourceFromStyle(style));
} else if (contribution instanceof PageDescriptor) {
PageDescriptor page = (PageDescriptor) contribution;
if (page.hasResources()) {
WebResourceManager wrm = Framework.getService(WebResourceManager.class);
wrm.unregisterResourceBundle(page.getComputedResourceBundle());
}
pageReg.removeContribution(page);
} else if (contribution instanceof NegotiationDescriptor) {
NegotiationDescriptor neg = (NegotiationDescriptor) contribution;
negReg.removeContribution(neg);
} else {
log.error(String.format(
"Unknown contribution to the theme " + "styling service, extension point '%s': '%s",
extensionPoint, contribution));
}
}