import static org.opendaylight.netconf.api.xml.XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_URL_1_0;
import com.google.common.base.Function;
-import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import org.opendaylight.netconf.api.capability.BasicCapability;
import org.opendaylight.netconf.api.capability.Capability;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChangeBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.changed.by.parms.ChangedByBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.changed.by.parms.changed.by.server.or.user.ServerBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
class NetconfCapabilityMonitoringService implements CapabilityListener, AutoCloseable {
}
private static Schemas transformSchemas(final Set<Capability> caps) {
- final List<Schema> schemas = new ArrayList<>(caps.size());
+ final Map<SchemaKey, Schema> schemas = Maps.newHashMapWithExpectedSize(caps.size());
for (final Capability cap : caps) {
if (cap.getCapabilitySchema().isPresent()) {
- final SchemaBuilder builder = new SchemaBuilder();
-
Preconditions.checkState(isValidModuleCapability(cap));
- builder.setNamespace(new Uri(cap.getModuleNamespace().get()));
-
- final String version = cap.getRevision().get();
- builder.setVersion(version);
-
- final String identifier = cap.getModuleName().get();
- builder.setIdentifier(identifier);
-
- builder.setFormat(Yang.class);
-
- builder.setLocation(transformLocations(cap.getLocation()));
-
- builder.withKey(new SchemaKey(Yang.class, identifier, version));
-
- schemas.add(builder.build());
+ final SchemaKey key = new SchemaKey(Yang.class, cap.getModuleName().get(), cap.getRevision().get());
+ schemas.put(key, new SchemaBuilder()
+ .withKey(key)
+ .setNamespace(new Uri(cap.getModuleNamespace().get()))
+ .setLocation(transformLocations(cap.getLocation()))
+ .build());
}
}
final NetconfCapabilityChangeBuilder netconfCapabilityChangeBuilder = new NetconfCapabilityChangeBuilder();
netconfCapabilityChangeBuilder
.setChangedBy(new ChangedByBuilder().setServerOrUser(
- new ServerBuilder().setServer(Boolean.TRUE).build()).build());
+ new ServerBuilder().setServer(Empty.getInstance()).build()).build());
netconfCapabilityChangeBuilder.setDeletedCapability(Lists.newArrayList(Collections2
.transform(removed, CAPABILITY_TO_URI)));
netconfCapabilityChangeBuilder.setAddedCapability(Lists.newArrayList(Collections2