Remove deprecated Yin/YangStatementSourceImpl
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / rfc6020 / repo / YinTextToDomTransformer.java
index 95937d22f31db608d1519e6e7cfdd1ecf5d692d4..ad167121bdbac584f7ec46254ebaae65a3bf0836 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.rfc6020.repo;
 
 import com.google.common.annotations.Beta;
 import com.google.common.util.concurrent.Futures;
+import java.io.IOException;
 import javax.xml.parsers.SAXParser;
 import javax.xml.transform.dom.DOMSource;
 import org.opendaylight.yangtools.util.xml.UntrustedXML;
@@ -18,6 +19,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry;
 import org.opendaylight.yangtools.yang.model.repo.util.SchemaSourceTransformer;
 import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
 
 /**
@@ -28,23 +30,21 @@ import org.xml.sax.helpers.DefaultHandler;
  */
 @Beta
 public final class YinTextToDomTransformer extends SchemaSourceTransformer<YinTextSchemaSource, YinDomSchemaSource> {
-
-    @Deprecated
-    public static final Transformation<YinTextSchemaSource, YinDomSchemaSource> TRANSFORMATION = input -> {
-        final Document doc = UntrustedXML.newDocumentBuilder().newDocument();
-        final SAXParser parser = UntrustedXML.newSAXParser();
-        final DefaultHandler handler = new StatementSourceReferenceHandler(doc, null);
-        parser.parse(input.openStream(), handler);
-
-        return Futures.immediateCheckedFuture(YinDomSchemaSource.create(input.getIdentifier(), new DOMSource(doc)));
-    };
-
     private YinTextToDomTransformer(final SchemaRepository provider, final SchemaSourceRegistry consumer) {
-        super(provider, YinTextSchemaSource.class, consumer, YinDomSchemaSource.class, TRANSFORMATION);
+        super(provider, YinTextSchemaSource.class, consumer, YinDomSchemaSource.class,
+            input -> Futures.immediateCheckedFuture(transformSource(input)));
     }
 
     public static YinTextToDomTransformer create(final SchemaRepository provider, final SchemaSourceRegistry consumer) {
         return new YinTextToDomTransformer(provider, consumer);
     }
 
+    public static YinDomSchemaSource transformSource(final YinTextSchemaSource source) throws SAXException, IOException {
+        final Document doc = UntrustedXML.newDocumentBuilder().newDocument();
+        final SAXParser parser = UntrustedXML.newSAXParser();
+        final DefaultHandler handler = new StatementSourceReferenceHandler(doc, null);
+        parser.parse(source.openStream(), handler);
+        return YinDomSchemaSource.create(source.getIdentifier(), new DOMSource(doc));
+    }
+
 }