From 6a7215cedcf96f1b7186157814219e086c58fcf4 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Wed, 24 Oct 2012 16:00:51 -0700 Subject: [PATCH] fix default templateadaptor is not injected --- .../com/cloud/utils/component/ComponentLocator.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/src/com/cloud/utils/component/ComponentLocator.java b/utils/src/com/cloud/utils/component/ComponentLocator.java index 2f76f1541d5..25b5ac1abab 100755 --- a/utils/src/com/cloud/utils/component/ComponentLocator.java +++ b/utils/src/com/cloud/utils/component/ComponentLocator.java @@ -202,7 +202,16 @@ public class ComponentLocator implements ComponentLocatorMBean { _managerMap.putAll(library.getManagers()); _factories.putAll(library.getFactories()); _pluginsMap.putAll(library.getPluggableServices()); - + + for (Entry>> e : library.getAdapters().entrySet()) { + if (adapters.containsKey(e.getKey())) { + s_logger.debug("Merge needed for " + e.getKey()); + adapters.get(e.getKey()).addAll(e.getValue()); + } + else { + adapters.put(e.getKey(), e.getValue()); + } + } // putAll overwrites existing keys, so merge instead for (Entry>> e : handler.adapters.entrySet()) { if (adapters.containsKey(e.getKey())) {