63d253cd606c2f24daf1b47dad303e4f5675ff4d
[controller.git] / opendaylight / md-sal / sal-clustering-commons / src / main / java / org / opendaylight / controller / cluster / datastore / node / utils / stream / CompatNormalizedNodeDataInput.java
1 /*
2  * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.cluster.datastore.node.utils.stream;
9
10 import static java.util.Objects.requireNonNull;
11
12 import com.google.common.collect.ForwardingObject;
13 import java.io.IOException;
14 import org.opendaylight.yangtools.yang.common.QName;
15 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
16 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
17 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
18 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
19
20 @Deprecated
21 final class CompatNormalizedNodeDataInput extends ForwardingObject implements NormalizedNodeDataInput {
22     private final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate;
23
24     CompatNormalizedNodeDataInput(
25         final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate) {
26         this.delegate = requireNonNull(delegate);
27     }
28
29     @Override
30     @SuppressWarnings("checkstyle:parameterName")
31     public void readFully(final byte[] b) throws IOException {
32         try {
33             delegate.readFully(b);
34         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
35             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
36         }
37     }
38
39     @Override
40     @SuppressWarnings("checkstyle:parameterName")
41     public void readFully(final byte[] b, final int off, final int len) throws IOException {
42         try {
43             delegate.readFully(b, off, len);
44         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
45             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
46         }
47     }
48
49     @Override
50     @SuppressWarnings("checkstyle:parameterName")
51     public int skipBytes(final int n) throws IOException {
52         try {
53             return delegate.skipBytes(n);
54         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
55             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
56         }
57     }
58
59     @Override
60     public boolean readBoolean() throws IOException {
61         try {
62             return delegate.readBoolean();
63         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
64             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
65         }
66     }
67
68     @Override
69     public byte readByte() throws IOException {
70         try {
71             return delegate.readByte();
72         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
73             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
74         }
75     }
76
77     @Override
78     public int readUnsignedByte() throws IOException {
79         try {
80             return delegate.readUnsignedByte();
81         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
82             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
83         }
84     }
85
86     @Override
87     public short readShort() throws IOException {
88         try {
89             return delegate.readShort();
90         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
91             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
92         }
93     }
94
95     @Override
96     public int readUnsignedShort() throws IOException {
97         try {
98             return delegate.readUnsignedShort();
99         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
100             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
101         }
102     }
103
104     @Override
105     public char readChar() throws IOException {
106         try {
107             return delegate.readChar();
108         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
109             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
110         }
111     }
112
113     @Override
114     public int readInt() throws IOException {
115         try {
116             return delegate.readInt();
117         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
118             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
119         }
120     }
121
122     @Override
123     public long readLong() throws IOException {
124         try {
125             return delegate.readLong();
126         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
127             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
128         }
129     }
130
131     @Override
132     public float readFloat() throws IOException {
133         try {
134             return delegate.readFloat();
135         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
136             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
137         }
138     }
139
140     @Override
141     public double readDouble() throws IOException {
142         try {
143             return delegate.readDouble();
144         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
145             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
146         }
147     }
148
149     @Override
150     public String readLine() throws IOException {
151         try {
152             return delegate.readLine();
153         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
154             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
155         }
156     }
157
158     @Override
159     public String readUTF() throws IOException {
160         try {
161             return delegate.readUTF();
162         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
163             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
164         }
165     }
166
167     @Override
168     public void streamNormalizedNode(final NormalizedNodeStreamWriter writer) throws IOException {
169         try {
170             delegate.streamNormalizedNode(writer);
171         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
172             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
173         }
174     }
175
176     @Override
177     public YangInstanceIdentifier readYangInstanceIdentifier() throws IOException {
178         try {
179             return delegate.readYangInstanceIdentifier();
180         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
181             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
182         }
183     }
184
185     @Override
186     public QName readQName() throws IOException {
187         try {
188             return delegate.readQName();
189         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
190             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
191         }
192     }
193
194     @Override
195     public PathArgument readPathArgument() throws IOException {
196         try {
197             return delegate.readPathArgument();
198         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
199             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
200         }
201     }
202
203     @Override
204     public SchemaPath readSchemaPath() throws IOException {
205         try {
206             return delegate.readSchemaPath();
207         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
208             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
209         }
210     }
211
212     @Override
213     public NormalizedNodeStreamVersion getVersion() throws IOException {
214         final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion version;
215         try {
216             version = delegate.getVersion();
217         } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
218             throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
219         }
220
221         switch (version) {
222             case LITHIUM:
223                 return NormalizedNodeStreamVersion.LITHIUM;
224             case MAGNESIUM:
225                 return NormalizedNodeStreamVersion.MAGNESIUM;
226             case NEON_SR2:
227                 return NormalizedNodeStreamVersion.NEON_SR2;
228             case SODIUM_SR1:
229                 return NormalizedNodeStreamVersion.SODIUM_SR1;
230             default:
231                 throw new IOException("Unhandled version " + delegate.getVersion());
232         }
233     }
234
235     @Override
236     protected org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate() {
237         return delegate;
238     }
239 }