X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fosgi%2FNetconfOperationServiceImpl.java;h=28001851ccf2695b0d9ed69c98a6871e6e0ba7f4;hb=b8f8ebecd3a5f563a21eea11e21ae1b6eb4b2757;hp=ed8f02bf569974daeb14b91eeccd81e32d7f0a25;hpb=237237663265bfda9069c66151371ce7697aed59;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/NetconfOperationServiceImpl.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/NetconfOperationServiceImpl.java index ed8f02bf56..28001851cc 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/NetconfOperationServiceImpl.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/NetconfOperationServiceImpl.java @@ -8,55 +8,26 @@ package org.opendaylight.controller.netconf.confignetconfconnector.osgi; -import com.google.common.base.Optional; -import com.google.common.collect.Sets; +import java.util.Set; import org.opendaylight.controller.config.util.ConfigRegistryJMXClient; -import org.opendaylight.controller.config.yang.store.api.YangStoreException; -import org.opendaylight.controller.config.yang.store.api.YangStoreService; -import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot; import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider; -import org.opendaylight.controller.netconf.confignetconfconnector.util.Util; -import org.opendaylight.controller.netconf.mapping.api.Capability; import org.opendaylight.controller.netconf.mapping.api.NetconfOperation; -import org.opendaylight.controller.netconf.mapping.api.NetconfOperationFilter; import org.opendaylight.controller.netconf.mapping.api.NetconfOperationService; -import org.opendaylight.yangtools.yang.model.api.Module; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; /** - * Manages life cycle of {@link YangStoreSnapshot}. + * Manages life cycle of {@link YangStoreContext}. */ public class NetconfOperationServiceImpl implements NetconfOperationService { - private final YangStoreSnapshot yangStoreSnapshot; private final NetconfOperationProvider operationProvider; - private final Set capabilities; private final TransactionProvider transactionProvider; - public NetconfOperationServiceImpl(YangStoreService yangStoreService, ConfigRegistryJMXClient jmxClient, - String netconfSessionIdForReporting) throws YangStoreException { + public NetconfOperationServiceImpl(final YangStoreService yangStoreService, final ConfigRegistryJMXClient jmxClient, + final String netconfSessionIdForReporting) { - yangStoreSnapshot = yangStoreService.getYangStoreSnapshot(); transactionProvider = new TransactionProvider(jmxClient, netconfSessionIdForReporting); - operationProvider = new NetconfOperationProvider(yangStoreSnapshot, jmxClient, transactionProvider, + operationProvider = new NetconfOperationProvider(yangStoreService, jmxClient, transactionProvider, netconfSessionIdForReporting); - capabilities = setupCapabilities(yangStoreSnapshot); - } - - @Override - public void close() { - yangStoreSnapshot.close(); - transactionProvider.close(); - } - - @Override - public Set getCapabilities() { - return capabilities; } @Override @@ -65,109 +36,8 @@ public class NetconfOperationServiceImpl implements NetconfOperationService { } @Override - public Set getFilters() { - return Collections.emptySet(); - } - - private static Set setupCapabilities(YangStoreSnapshot yangStoreSnapshot) { - Set capabilities = Sets.newHashSet(); - - // [RFC6241] 8.3. Candidate Configuration Capability - capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0")); - // [RFC6241] 8.5. Rollback-on-Error Capability - capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:rollback-on-error:1.0")); - - final Collection> modulesAndContents = yangStoreSnapshot.getModuleMap().values(); - for (Map.Entry moduleAndContent : modulesAndContents) { - capabilities.add(new YangStoreCapability(moduleAndContent)); - } - - return capabilities; - } - - private static class BasicCapability implements Capability { - - private final String capability; - - private BasicCapability(String capability) { - this.capability = capability; - } - - @Override - public String getCapabilityUri() { - return capability; - } - - @Override - public Optional getModuleNamespace() { - return Optional.absent(); - } - - @Override - public Optional getModuleName() { - return Optional.absent(); - } - - @Override - public Optional getRevision() { - return Optional.absent(); - } - - @Override - public Optional getCapabilitySchema() { - return Optional.absent(); - } - - @Override - public Optional> getLocation() { - return Optional.absent(); - } + public void close() { + transactionProvider.close(); } - private static class YangStoreCapability extends BasicCapability { - - private final String content; - private final String revision; - private final String moduleName; - private final String moduleNamespace; - - public YangStoreCapability(Map.Entry moduleAndContent) { - super(getAsString(moduleAndContent.getKey())); - this.content = moduleAndContent.getValue(); - Module module = moduleAndContent.getKey(); - this.moduleName = module.getName(); - this.moduleNamespace = module.getNamespace().toString(); - this.revision = Util.writeDate(module.getRevision()); - } - - @Override - public Optional getCapabilitySchema() { - return Optional.of(content); - } - - private static String getAsString(Module module) { - final StringBuffer capabilityContent = new StringBuffer(); - capabilityContent.append(module.getNamespace()); - capabilityContent.append("?module="); - capabilityContent.append(module.getName()); - capabilityContent.append("&revision="); - capabilityContent.append(Util.writeDate(module.getRevision())); - return capabilityContent.toString(); - } - - @Override - public Optional getModuleName() { - return Optional.of(moduleName); - } - - @Override - public Optional getModuleNamespace() { - return Optional.of(moduleNamespace); - } - - @Override - public Optional getRevision() { - return Optional.of(revision); - } - } }