HONEYCOMB-21 Vpp-integration minimal distribution
[honeycomb.git] / v3po / v3po2vpp / src / main / java / org / opendaylight / yang / gen / v1 / urn / honeycomb / params / xml / ns / yang / v3po2vpp / rev160406 / VppStateHoneycombReaderModule.java
index 5be949b..df216c0 100644 (file)
@@ -1,37 +1,16 @@
 package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.v3po2vpp.rev160406;
 
-import io.fd.honeycomb.translate.impl.read.GenericListReader;
-import io.fd.honeycomb.translate.impl.read.GenericReader;
-import io.fd.honeycomb.translate.read.ReaderFactory;
-import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
-import io.fd.honeycomb.translate.util.read.KeepaliveReaderWrapper;
-import io.fd.honeycomb.translate.v3po.util.NamingContext;
-import io.fd.honeycomb.translate.v3po.util.ReadTimeoutException;
-import io.fd.honeycomb.translate.v3po.vppstate.BridgeDomainCustomizer;
-import io.fd.honeycomb.translate.v3po.vppstate.L2FibEntryCustomizer;
-import io.fd.honeycomb.translate.v3po.vppstate.VersionCustomizer;
+import io.fd.honeycomb.translate.v3po.VppStateHoneycombReaderFactory;
 import java.lang.management.ManagementFactory;
 import javax.management.Attribute;
 import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 import org.opendaylight.controller.config.api.ConflictingVersionException;
 import org.opendaylight.controller.config.api.ValidationException;
-import org.opendaylight.controller.config.threadpool.ScheduledThreadPool;
 import org.opendaylight.controller.config.util.ConfigRegistryJMXClient;
 import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
 import org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.jvpp.cfg.rev160406.VppJvppImplModule;
 import org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.vpp.jvpp.cfg.rev160406.VppJvppImplModuleFactory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppState;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppStateBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.l2.fib.attributes.L2FibTable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.l2.fib.attributes.L2FibTableBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.l2.fib.attributes.l2.fib.table.L2FibEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.BridgeDomains;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.BridgeDomainsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.Version;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.vpp.state.bridge.domains.BridgeDomain;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.openvpp.jvpp.future.FutureJVpp;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -117,49 +96,4 @@ public class VppStateHoneycombReaderModule extends
     }
 
 
-    private static final class VppStateHoneycombReaderFactory implements ReaderFactory, AutoCloseable {
-
-        private final FutureJVpp jVpp;
-        private final NamingContext ifcCtx;
-        private final NamingContext bdCtx;
-        private final ScheduledThreadPool keepaliveExecutor;
-
-        public VppStateHoneycombReaderFactory(final FutureJVpp jVpp,
-                                              final NamingContext ifcCtx,
-                                              final NamingContext bdCtx,
-                                              final ScheduledThreadPool keepaliveExecutorDependency) {
-            this.jVpp = jVpp;
-            this.ifcCtx = ifcCtx;
-            this.bdCtx = bdCtx;
-            this.keepaliveExecutor = keepaliveExecutorDependency;
-        }
-
-        @Override
-        public void init(final ModifiableReaderRegistryBuilder registry) {
-            // VppState(Structural)
-            final InstanceIdentifier<VppState> vppStateId = InstanceIdentifier.create(VppState.class);
-            registry.addStructuralReader(vppStateId, VppStateBuilder.class);
-            //  Version
-            // Wrap with keepalive reader to detect connection issues
-            // TODO keepalive reader wrapper relies on VersionReaderCustomizer (to perform timeout on reads)
-            // Once readers+customizers are asynchronous, pull the timeout to keepalive executor so that keepalive wrapper
-            // is truly generic
-            registry.add(new KeepaliveReaderWrapper<>(
-                    new GenericReader<>(vppStateId.child(Version.class), new VersionCustomizer(jVpp)),
-                    keepaliveExecutor.getExecutor(), ReadTimeoutException.class, 30,
-                    () -> reinitializeJVpp(reinitializationCounter)));
-            //  BridgeDomains(Structural)
-            final InstanceIdentifier<BridgeDomains> bridgeDomainsId = vppStateId.child(BridgeDomains.class);
-            registry.addStructuralReader(bridgeDomainsId, BridgeDomainsBuilder.class);
-            //   BridgeDomain
-            final InstanceIdentifier<BridgeDomain> bridgeDomainId = bridgeDomainsId.child(BridgeDomain.class);
-            registry.add(new GenericListReader<>(bridgeDomainId, new BridgeDomainCustomizer(jVpp, bdCtx)));
-            //    L2FibTable(Structural)
-            final InstanceIdentifier<L2FibTable> l2FibTableId = bridgeDomainId.child(L2FibTable.class);
-            registry.addStructuralReader(l2FibTableId, L2FibTableBuilder.class);
-            //     L2FibEntry
-            registry.add(new GenericListReader<>(l2FibTableId.child(L2FibEntry.class),
-                    new L2FibEntryCustomizer(jVpp, bdCtx, ifcCtx)));
-        }
-    }
 }