Require XPath parser implementation in RFC7950 reactors
[yangtools.git] / yang / yang-xpath-impl / src / main / java / org / opendaylight / yangtools / yang / xpath / impl / AntlrXPathParserFactory.java
index d061bfcc208fd5211f680d3dc1de33ca9050ddec..0569374538bf30b9f7514d10fd824764b7c164bb 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.xpath.impl;
 
+import javax.inject.Singleton;
 import org.kohsuke.MetaInfServices;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangNamespaceContext;
@@ -15,9 +16,18 @@ import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser.QualifiedBound;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser.UnqualifiedBound;
 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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @MetaInfServices
+@Singleton
+@Component(immediate = true)
 public final class AntlrXPathParserFactory implements YangXPathParserFactory {
+    private static final Logger LOG = LoggerFactory.getLogger(AntlrXPathParserFactory.class);
+
     @Override
     public YangXPathParser newParser(final YangXPathMathMode mathMode) {
         return new AntlrXPathParser.Base(mathMode);
@@ -33,4 +43,16 @@ public final class AntlrXPathParserFactory implements YangXPathParserFactory {
             final QNameModule defaultNamespace) {
         return new AntlrXPathParser.Unqualified(mathMode, namespaceContext, defaultNamespace);
     }
+
+    @Activate
+    @SuppressWarnings("static-method")
+    void activate() {
+        LOG.info("XPath Parser activated");
+    }
+
+    @Deactivate
+    @SuppressWarnings("static-method")
+    void deactivate() {
+        LOG.info("XPath Parser deactivated");
+    }
 }