*/
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;
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");
}