import com.google.common.collect.Multimap;
import java.util.Collection;
import java.util.Collections;
-import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.opendaylight.controller.config.util.xml.XmlElement;
import org.opendaylight.controller.config.util.xml.XmlMappingConstants;
import org.opendaylight.controller.config.util.xml.XmlUtil;
+import org.opendaylight.yangtools.yang.common.Revision;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
Map<String /* Name of module entry from yang file */,
ModuleConfig>> moduleConfigs;
- private final Map<String, Map<Date, IdentityMapping>> identityMap;
+ private final Map<String, Map<Optional<Revision>, IdentityMapping>> identityMap;
private final EnumResolver enumResolver;
public Config(final Map<String, Map<String, ModuleConfig>> moduleConfigs, final EnumResolver enumResolver) {
- this(moduleConfigs, Collections.<String, Map<Date, IdentityMapping>>emptyMap(), enumResolver);
+ this(moduleConfigs, Collections.<String, Map<Optional<Revision>, IdentityMapping>>emptyMap(), enumResolver);
}
public Config(final Map<String, Map<String, ModuleConfig>> moduleConfigs,
- final Map<String, Map<Date, IdentityMapping>> identityMap, final EnumResolver enumResolver) {
+ final Map<String, Map<Optional<Revision>, IdentityMapping>> identityMap, final EnumResolver enumResolver) {
this.moduleConfigs = moduleConfigs;
this.identityMap = identityMap;
this.enumResolver = enumResolver;
Map<String, Multimap<String, ModuleElementResolved>> retVal = Maps.newHashMap();
- for (XmlElement moduleElement : moduleElements) {
- ResolvingStrategy<ModuleElementResolved> resolvingStrategy = (moduleMapping, moduleElement1,
- serviceTracker1, instanceName, moduleNamespace,
- defaultStrategy) -> moduleMapping.fromXml(moduleElement1, serviceTracker1, instanceName,
- moduleNamespace, defaultStrategy, identityMap, enumResolver);
+ ResolvingStrategy<ModuleElementResolved> resolvingStrategy = (moduleMapping, moduleElement, serviceTracker1,
+ instanceName, moduleNamespace, defaultStrategy) -> moduleMapping.fromXml(moduleElement, serviceTracker1,
+ instanceName, moduleNamespace, defaultStrategy, identityMap, enumResolver);
+ for (XmlElement moduleElement : moduleElements) {
resolveModule(retVal, serviceTracker, moduleElement, defaultEditStrategyType, resolvingStrategy);
}
+
return retVal;
}
Map<String, Multimap<String, ModuleElementDefinition>> retVal = Maps.newHashMap();
- for (XmlElement moduleElement : moduleElements) {
- ResolvingStrategy<ModuleElementDefinition> resolvingStrategy = (moduleMapping, moduleElement1,
- serviceTracker1, instanceName, moduleNamespace, defaultStrategy) -> {
- // TODO: add check for conflicts between global and local
- // edit strategy
- String perInstanceEditStrategy = moduleElement1.getAttribute(XmlMappingConstants.OPERATION_ATTR_KEY,
- XmlMappingConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
- return new ModuleElementDefinition(instanceName, perInstanceEditStrategy, defaultStrategy);
- };
+ ResolvingStrategy<ModuleElementDefinition> resolvingStrategy = (moduleMapping, moduleElement, serviceTracker1,
+ instanceName, moduleNamespace, defaultStrategy) -> {
+ // TODO: add check for conflicts between global and local edit
+ // strategy
+ String perInstanceEditStrategy = moduleElement.getAttribute(XmlMappingConstants.OPERATION_ATTR_KEY,
+ XmlMappingConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0);
+ return new ModuleElementDefinition(instanceName, perInstanceEditStrategy, defaultStrategy);
+ };
+ for (XmlElement moduleElement : moduleElements) {
resolveModule(retVal, serviceTracker, moduleElement, defaultEditStrategyType, resolvingStrategy);
}
+
return retVal;
}