*/
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.mdsal.binding.dom.codec.api.BindingCodecTreeFactory;
import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeGenerator;
-import org.opendaylight.mdsal.yanglib.api.SchemaContextResolver;
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
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 {
+ void activate() throws YangParserException {
delegate = new YangLibrarySupport(parserFactory, generator, codecFactory);
LOG.info("RFC8525 YANG Library support activated");
}