+++ /dev/null
-/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.yangtools.yang.parser.stmt.rfc6020;
-
-import com.google.common.base.Throwables;
-import com.google.common.collect.ForwardingObject;
-import com.google.common.io.ByteSource;
-import com.google.common.io.ByteStreams;
-import com.google.common.io.Files;
-import java.io.File;
-import java.io.InputStream;
-import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
-import org.opendaylight.yangtools.yang.model.repo.api.YinDomSchemaSource;
-import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource;
-import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinStatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinTextToDomTransformer;
-import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModule;
-import org.opendaylight.yangtools.yang.parser.spi.source.QNameToStatementDefinition;
-import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.spi.source.StatementWriter;
-
-/**
- * This class represents implementation of StatementStreamSource
- * in order to emit YIN statements using supplied StatementWriter.
- *
- * @deprecated Scheduled for removal. Use {@link YinStatementStreamSource} instead.
- */
-@Deprecated
-public final class YinStatementSourceImpl extends ForwardingObject implements StatementStreamSource {
- private final StatementStreamSource delegate;
-
- private YinStatementSourceImpl(final YinDomSchemaSource source) {
- this.delegate = YinStatementStreamSource.create(source);
- }
-
- @Override
- public StatementStreamSource delegate() {
- return delegate;
- }
-
- public YinStatementSourceImpl(final InputStream inputStream) {
- this(newStreamSource(inputStream));
- }
-
- private static YinDomSchemaSource newStreamSource(final InputStream inputStream) {
- final SourceIdentifier id = YinTextSchemaSource.identifierFromFilename(inputStream.toString());
-
- try {
- final YinTextSchemaSource text = YinTextSchemaSource.delegateForByteSource(id,
- ByteSource.wrap(ByteStreams.toByteArray(inputStream)));
- return YinTextToDomTransformer.TRANSFORMATION.apply(text).get();
- } catch (Exception e) {
- throw Throwables.propagate(e);
- }
- }
-
- private static YinDomSchemaSource newStreamSource(final String fileName, final boolean isAbsolute) {
- try {
- final File file;
- if (isAbsolute) {
- file = new File(fileName);
- } else {
- file = new File(YinStatementSourceImpl.class.getResource(fileName).toURI());
- }
-
- final YinTextSchemaSource text = YinTextSchemaSource.delegateForByteSource(
- YinTextSchemaSource.identifierFromFilename(file.getName()), Files.asByteSource(file));
-
- return YinTextToDomTransformer.TRANSFORMATION.apply(text).get();
- } catch (Exception e) {
- throw Throwables.propagate(e);
- }
- }
-
- public YinStatementSourceImpl(final String fileName, final boolean isAbsolute) {
- this(newStreamSource(fileName, isAbsolute));
- }
-
- @Override
- public void writePreLinkage(final StatementWriter writer, final QNameToStatementDefinition stmtDef) {
- delegate.writePreLinkage(writer, stmtDef);
- }
-
- @Override
- public void writeLinkage(final StatementWriter writer, final QNameToStatementDefinition stmtDef,
- final PrefixToModule preLinkagePrefixes) {
- delegate.writeLinkage(writer, stmtDef, preLinkagePrefixes);
-
- }
-
- @Override
- public void writeLinkageAndStatementDefinitions(final StatementWriter writer, final QNameToStatementDefinition stmtDef,
- final PrefixToModule prefixes) {
- delegate.writeLinkageAndStatementDefinitions(writer, stmtDef, prefixes);
- }
-
- @Override
- public void writeFull(final StatementWriter writer, final QNameToStatementDefinition stmtDef,
- final PrefixToModule prefixes) {
- delegate().writeFull(writer, stmtDef, prefixes);
- }
-
-}