X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fblueprint%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fblueprint%2Fext%2FOpendaylightNamespaceHandler.java;h=47b2c2b238320f711d428208728608b49ee92e7f;hp=e6ddd48234a7b5906e5eb108b846aec4c7860655;hb=cab1d5845cb951fe31a3243653ed567583dc73c1;hpb=c9943f5bc72d4cde9356d3bd4cf73d36f4b2f754;ds=inline diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java index e6ddd48234..47b2c2b238 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/OpendaylightNamespaceHandler.java @@ -54,6 +54,7 @@ public class OpendaylightNamespaceHandler implements NamespaceHandler { static final String RPC_REGISTRY_NAME = "org.opendaylight.blueprint.RpcRegistry"; static final String NOTIFICATION_SERVICE_NAME = "org.opendaylight.blueprint.NotificationService"; static final String TYPE_ATTR = "type"; + static final String UPDATE_STRATEGY_ATTR = "update-strategy"; private static final Logger LOG = LoggerFactory.getLogger(OpendaylightNamespaceHandler.class); private static final String COMPONENT_PROCESSOR_NAME = ComponentProcessor.class.getName(); @@ -350,7 +351,20 @@ public class OpendaylightNamespaceHandler implements NamespaceHandler { return new DataStoreAppConfigMetadata(getId(context, element), element.getAttribute( DataStoreAppConfigMetadata.BINDING_CLASS), element.getAttribute( DataStoreAppConfigMetadata.LIST_KEY_VALUE), element.getAttribute( - DataStoreAppConfigMetadata.DEFAULT_CONFIG_FILE_NAME), defaultAppConfigElement); + DataStoreAppConfigMetadata.DEFAULT_CONFIG_FILE_NAME), parseUpdateStrategy( + element.getAttribute(UPDATE_STRATEGY_ATTR)), defaultAppConfigElement); + } + + private UpdateStrategy parseUpdateStrategy(String updateStrategyValue) { + if (Strings.isNullOrEmpty(updateStrategyValue) || + updateStrategyValue.equalsIgnoreCase(UpdateStrategy.RELOAD.name())) { + return UpdateStrategy.RELOAD; + } else if(updateStrategyValue.equalsIgnoreCase(UpdateStrategy.NONE.name())){ + return UpdateStrategy.NONE; + } else { + LOG.warn("update-strategy {} not supported, using reload", updateStrategyValue); + return UpdateStrategy.RELOAD; + } } private Metadata parseSpecificReferenceList(Element element, ParserContext context) {