summaryrefslogtreecommitdiffstats
path: root/ioam/impl/src/main/java/io/fd/hc2vpp/vppioam/impl/oper/VppIoamReaderFactory.java
diff options
context:
space:
mode:
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.java39
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)));
}
}