From 43825bf2f783c41bb0d044e97fce5f7b216ddbbc Mon Sep 17 00:00:00 2001 From: simonbrandhof Date: Mon, 20 Jun 2011 01:49:24 +0200 Subject: [PATCH] Fix key of components registered in picocontainer --- .../org/sonar/server/plugins/ServerPluginRepository.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java b/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java index a3bd938116f..b937d6d30c0 100644 --- a/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java +++ b/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java @@ -131,7 +131,7 @@ public class ServerPluginRepository implements PluginRepository { void installExtension(MutablePicoContainer container, Object extension) { if (isType(extension, ServerExtension.class)) { - container.as(Characteristics.CACHE).addComponent(extension); + container.as(Characteristics.CACHE).addComponent(getExtensionKey(extension), extension); } } @@ -139,4 +139,11 @@ public class ServerPluginRepository implements PluginRepository { Class clazz = (extension instanceof Class ? (Class) extension : extension.getClass()); return extensionClass.isAssignableFrom(clazz); } + + static Object getExtensionKey(Object component) { + if (component instanceof Class) { + return component; + } + return component.getClass().getCanonicalName() + "-" + component.toString(); + } } -- 2.39.5