diff options
Diffstat (limited to 'ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java')
-rw-r--r-- | ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java b/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java index ece73fa8c..1f6250f3d 100644 --- a/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java +++ b/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package io.fd.hc2vpp.vppioam.impl.oper; import io.fd.honeycomb.translate.impl.read.GenericInitListReader; +import io.fd.honeycomb.translate.impl.read.GenericListReader; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.vpp.jvpp.ioampot.future.FutureJVppIoampot; @@ -27,33 +29,41 @@ import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev170112.PotProfilesBuilder; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev170112.pot.profile.PotProfileList; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev170112.pot.profiles.PotProfileSet; +import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev170112.pot.profiles.PotProfileSetBuilder; +import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.ioam.sb.pot.rev170112.pot.profiles.PotProfileSetKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import javax.annotation.Nonnull; import javax.inject.Inject; +import java.util.Arrays; +import java.util.List; + public class VppIoamReaderFactory implements ReaderFactory { @Nonnull - FutureJVppIoamtrace jVppIoamtrace; + FutureJVppIoamtrace jVppIoamTrace; @Nonnull - FutureJVppIoampot jVppIoampot; + FutureJVppIoampot jVppIoamPot; @Inject - VppIoamReaderFactory(FutureJVppIoamtrace jVppIoamtrace, FutureJVppIoampot jVppIoampot){ + VppIoamReaderFactory(FutureJVppIoamtrace jVppIoamTrace, FutureJVppIoampot jVppIoamPot){ - this.jVppIoamtrace = jVppIoamtrace; - this.jVppIoampot = jVppIoampot; + this.jVppIoamTrace = jVppIoamTrace; + this.jVppIoamPot = jVppIoamPot; } /** * Initialize 1 or more readers and add them to provided registry. * - * @param registry + * @param registry Registry */ @Override public void init(@Nonnull ModifiableReaderRegistryBuilder registry) { + final PotProfileSetKey STATIC_INSTANCE_KEY = new PotProfileSetKey("static-pot-profile-instance"); + final List<PotProfileSetKey> staticKeys = Arrays.asList(STATIC_INSTANCE_KEY); + //IoamTraceConfig (Structural) final InstanceIdentifier<IoamTraceConfig> ioamTraceConfigId = InstanceIdentifier.create(IoamTraceConfig.class); registry.addStructuralReader(ioamTraceConfigId, IoamTraceConfigBuilder.class); @@ -61,20 +71,23 @@ public class VppIoamReaderFactory implements ReaderFactory { //TraceConfig final InstanceIdentifier<TraceConfig> traceConfigId = ioamTraceConfigId.child(TraceConfig.class); registry.add(new GenericInitListReader<>(traceConfigId, - new TraceProfileReaderCustomizer(jVppIoamtrace))); + new TraceProfileReaderCustomizer(jVppIoamTrace))); //PotProfiles (Structural) final InstanceIdentifier<PotProfiles> potProfilesInstanceIdentifier = InstanceIdentifier.create(PotProfiles.class); registry.addStructuralReader(potProfilesInstanceIdentifier, PotProfilesBuilder.class); + //PotProfileSet (Structural) - final InstanceIdentifier<PotProfileSet> potProfileSetInstanceIdentifier = + final InstanceIdentifier<PotProfileSet> potProfileSetInstanceIdentifier = potProfilesInstanceIdentifier.child(PotProfileSet.class); - //TODO - temporary disabled till HC2VPP-63 is resolved - //registry.addStructuralReader(potProfileSetInstanceIdentifier, PotProfileSetBuilder.class); + + registry.addStructuralListReader(potProfileSetInstanceIdentifier, PotProfileSetBuilder.class, staticKeys); + //PotProfileList - final InstanceIdentifier<PotProfileList> potProfileListInstanceIdentifier= potProfileSetInstanceIdentifier.child(PotProfileList.class); - registry.add(new GenericInitListReader<>(potProfileListInstanceIdentifier, - new PotProfileReaderCustomizer(jVppIoampot))); + final InstanceIdentifier<PotProfileList> potProfileListInstanceIdentifier = + potProfileSetInstanceIdentifier.child(PotProfileList.class); + registry.add(new GenericInitListReader<>(potProfileListInstanceIdentifier, + new PotProfileReaderCustomizer(jVppIoamPot))); } } |