namespace "urn:opendaylight:params:xml:ns:yang:interface:role";
prefix "if-role";
- // TODO - update revision number to 17.07 release date
- revision "2017-03-15" {
+ revision "2017-06-15" {
description "Basic specification of interface roles";
}
uses interface-role-grouping;
}
-
- augment /if:interfaces-state/if:interface {
- ext:augment-identifier "interface-role-state-augmentation";
-
- uses interface-role-grouping;
- }
}
import com.google.inject.AbstractModule;
import com.google.inject.multibindings.Multibinder;
-import io.fd.hc2vpp.iface.role.read.InterfaceRoleReaderFactory;
import io.fd.hc2vpp.iface.role.write.InterfaceRoleWriterFactory;
-import io.fd.honeycomb.translate.read.ReaderFactory;
import io.fd.honeycomb.translate.write.WriterFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Override
protected void configure() {
LOG.info("Configuring interface role module");
- Multibinder.newSetBinder(binder(), ReaderFactory.class).addBinding().to(InterfaceRoleReaderFactory.class);
Multibinder.newSetBinder(binder(), WriterFactory.class).addBinding().to(InterfaceRoleWriterFactory.class);
LOG.info("Interface role module configured");
}
+++ /dev/null
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.iface.role.read;
-
-import io.fd.honeycomb.translate.read.ReadContext;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ListReaderCustomizer;
-import java.util.List;
-import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.RolesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.Role;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.RoleBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.RoleKey;
-import org.opendaylight.yangtools.concepts.Builder;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceRoleReadCustomizer implements ListReaderCustomizer<Role, RoleKey, RoleBuilder> {
-
- @Nonnull
- @Override
- public List<RoleKey> getAllIds(@Nonnull final InstanceIdentifier<Role> instanceIdentifier,
- @Nonnull final ReadContext readContext) throws ReadFailedException {
- throw new UnsupportedOperationException("Operational read not supported for interface roles");
- }
-
- @Override
- public void merge(@Nonnull final Builder<? extends DataObject> builder, @Nonnull final List<Role> list) {
- ((RolesBuilder) builder).setRole(list);
- }
-
- @Nonnull
- @Override
- public RoleBuilder getBuilder(@Nonnull final InstanceIdentifier<Role> instanceIdentifier) {
- return new RoleBuilder();
- }
-
- @Override
- public void readCurrentAttributes(@Nonnull final InstanceIdentifier<Role> instanceIdentifier,
- @Nonnull final RoleBuilder roleBuilder, @Nonnull final ReadContext readContext)
- throws ReadFailedException {
- throw new UnsupportedOperationException("Operational read not supported for interface roles");
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.iface.role.read;
-
-import io.fd.honeycomb.translate.impl.read.GenericListReader;
-import io.fd.honeycomb.translate.read.ReaderFactory;
-import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
-import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315.InterfaceRoleStateAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315.InterfaceRoleStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.Roles;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.RolesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.Role;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceRoleReaderFactory implements ReaderFactory {
-
- @Override
- public void init(@Nonnull final ModifiableReaderRegistryBuilder registry) {
- final InstanceIdentifier<InterfaceRoleStateAugmentation> augId =
- InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class)
- .augmentation(InterfaceRoleStateAugmentation.class);
- registry.addStructuralReader(augId, InterfaceRoleStateAugmentationBuilder.class);
-
- final InstanceIdentifier<Roles> rolesId = augId.child(Roles.class);
- registry.addStructuralReader(rolesId, RolesBuilder.class);
- registry.add(new GenericListReader<>(rolesId.child(Role.class), new InterfaceRoleReadCustomizer()));
- }
-}
import io.fd.honeycomb.translate.write.WriteFailedException;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.Role;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.RoleKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170615._interface.role.grouping.roles.Role;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170615._interface.role.grouping.roles.RoleKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315.InterfaceRoleAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.Roles;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170315._interface.role.grouping.roles.Role;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170615.InterfaceRoleAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170615._interface.role.grouping.Roles;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.role.rev170615._interface.role.grouping.roles.Role;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public class InterfaceRoleWriterFactory implements WriterFactory {