Fix a few sonar warnings
[mdsal.git] / yanglib / mdsal-yanglib-rfc8525 / src / main / java / org / opendaylight / mdsal / yanglib / rfc8525 / OSGiYangLibrarySupport.java
index 2827d38f2f1e23a1a047b3cda5201e1fe1686146..f6ba070c5f22b812e86052e80faea6db8399aacd 100644 (file)
@@ -7,13 +7,13 @@
  */
 package org.opendaylight.mdsal.yanglib.rfc8525;
 
+import static com.google.common.base.Verify.verifyNotNull;
+
 import com.google.common.annotations.Beta;
-import java.io.IOException;
-import org.opendaylight.binding.runtime.api.BindingRuntimeGenerator;
-import org.opendaylight.mdsal.yanglib.api.SchemaContextResolver;
+import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeGenerator;
 import org.opendaylight.mdsal.yanglib.api.YangLibSupport;
-import org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory;
-import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier;
+import org.opendaylight.mdsal.yanglib.spi.ForwardingYangLibSupport;
 import org.opendaylight.yangtools.yang.model.parser.api.YangParserException;
 import org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory;
 import org.osgi.service.component.annotations.Activate;
@@ -24,26 +24,28 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Beta
-@Component(immediate = true)
-public final class OSGiYangLibrarySupport implements YangLibSupport {
+@Component(immediate = true, service = YangLibSupport.class)
+// FIXME: merge with YangLibrarySupport once we have constructor injection
+public final class OSGiYangLibrarySupport extends ForwardingYangLibSupport {
     private static final Logger LOG = LoggerFactory.getLogger(OSGiYangLibrarySupport.class);
 
     @Reference
     YangParserFactory parserFactory = null;
     @Reference
     BindingRuntimeGenerator generator = null;
+    @Reference
+    BindingCodecTreeFactory codecFactory = null;
 
     private YangLibrarySupport delegate;
 
     @Override
-    public MountPointContextFactory createMountPointContextFactory(final MountPointIdentifier mountId,
-            final SchemaContextResolver resolver) {
-        return delegate.createMountPointContextFactory(mountId, resolver);
+    protected YangLibSupport delegate() {
+        return verifyNotNull(delegate);
     }
 
     @Activate
-    void activate() throws YangParserException, IOException {
-        delegate = new YangLibrarySupport(parserFactory, generator);
+    void activate() throws YangParserException {
+        delegate = new YangLibrarySupport(parserFactory, generator, codecFactory);
         LOG.info("RFC8525 YANG Library support activated");
     }