From: Robert Varga Date: Wed, 25 May 2022 14:53:23 +0000 (+0200) Subject: Use on-demand component activation X-Git-Tag: v9.0.0~35 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=93f5affa4bfad369f4a81255cb7518d460c44189 Use on-demand component activation SCR provides for a way to activate components on-demand, so they end up being dormant when not used. Take advantage of this and also lower the amount of logging we perform during activation/deactivation. Change-Id: I3bbdc6bf1d6e20b7e9440f3e3c62b075aa826bbc Signed-off-by: Robert Varga --- diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java index f7294d70ab..f6d6efb492 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java @@ -50,9 +50,9 @@ import org.slf4j.LoggerFactory; /** * A factory for creating in-memory data trees. */ -@MetaInfServices @Singleton -@Component(immediate = true) +@Component +@MetaInfServices @RequireServiceComponentRuntime public final class InMemoryDataTreeFactory implements DataTreeFactory { private static final Logger LOG = LoggerFactory.getLogger(InMemoryDataTreeFactory.class); @@ -94,13 +94,13 @@ public final class InMemoryDataTreeFactory implements DataTreeFactory { @Activate @SuppressWarnings("static-method") void activate() { - LOG.info("In-memory Data Tree activated"); + LOG.debug("In-memory Data Tree activated"); } @Deactivate @SuppressWarnings("static-method") void deactivate() { - LOG.info("In-memory Data Tree deactivated"); + LOG.debug("In-memory Data Tree deactivated"); } private static @NonNull DataTree createDataTree(final DataTreeConfiguration treeConfig, diff --git a/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangParserFactory.java b/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangParserFactory.java index 7ad3b32c60..ce08692d58 100644 --- a/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangParserFactory.java +++ b/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangParserFactory.java @@ -28,14 +28,16 @@ import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.RequireServiceComponentRuntime; /** * Reference {@link YangParserFactory} implementation. */ @Beta -@MetaInfServices +@Component @Singleton -@Component(immediate = true) +@MetaInfServices +@RequireServiceComponentRuntime public final class DefaultYangParserFactory implements YangParserFactory { private static final List SUPPORTED_MODES = List.of(ImportResolutionMode.DEFAULT); diff --git a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java index 249f14d806..895a36dd68 100644 --- a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java +++ b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java @@ -18,11 +18,13 @@ import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.RequireServiceComponentRuntime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Component @MetaInfServices -@Component(immediate = true) +@RequireServiceComponentRuntime public final class AntlrXPathParserFactory implements YangXPathParserFactory { private static final Logger LOG = LoggerFactory.getLogger(AntlrXPathParserFactory.class); @@ -45,12 +47,12 @@ public final class AntlrXPathParserFactory implements YangXPathParserFactory { @Activate @SuppressWarnings("static-method") void activate() { - LOG.info("XPath Parser activated"); + LOG.debug("XPath Parser activated"); } @Deactivate @SuppressWarnings("static-method") void deactivate() { - LOG.info("XPath Parser deactivated"); + LOG.debug("XPath Parser deactivated"); } } diff --git a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/package-info.java b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/package-info.java index 7ba94d61cb..e3656754c3 100644 --- a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/package-info.java +++ b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/package-info.java @@ -10,8 +10,6 @@ * on the XPath grammar from grammars-v4. */ @NonNullByDefault -@RequireServiceComponentRuntime package org.opendaylight.yangtools.yang.xpath.impl; import org.eclipse.jdt.annotation.NonNullByDefault; -import org.osgi.service.component.annotations.RequireServiceComponentRuntime; \ No newline at end of file