]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/lib/java/test/org/apache/thrift/test/ReadStruct.java
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / lib / java / test / org / apache / thrift / test / ReadStruct.java
CommitLineData
f67539c2
TL
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20package org.apache.thrift.test;
21
22import java.io.BufferedInputStream;
23import java.io.FileInputStream;
24
25import org.apache.thrift.Fixtures;
26import org.apache.thrift.protocol.TProtocol;
27import org.apache.thrift.protocol.TProtocolFactory;
28import org.apache.thrift.transport.TIOStreamTransport;
29import org.apache.thrift.transport.TTransport;
30
31import thrift.test.CompactProtoTestStruct;
32
33public class ReadStruct {
34 public static void main(String[] args) throws Exception {
35 if (args.length != 2) {
36 System.out.println("usage: java -cp build/classes org.apache.thrift.test.ReadStruct filename proto_factory_class");
37 System.out.println("Read in an instance of CompactProtocolTestStruct from 'file', making sure that it is equivalent to Fixtures.compactProtoTestStruct. Use a protocol from 'proto_factory_class'.");
38 }
39
40 TTransport trans = new TIOStreamTransport(new BufferedInputStream(new FileInputStream(args[0])));
41
42 TProtocolFactory factory = (TProtocolFactory)Class.forName(args[1]).newInstance();
43
44 TProtocol proto = factory.getProtocol(trans);
45
46 CompactProtoTestStruct cpts = new CompactProtoTestStruct();
47
48 for (CompactProtoTestStruct._Fields fid : CompactProtoTestStruct.metaDataMap.keySet()) {
49 cpts.setFieldValue(fid, null);
50 }
51
52 cpts.read(proto);
53
54 if (cpts.equals(Fixtures.compactProtoTestStruct)) {
55 System.out.println("Object verified successfully!");
56 } else {
57 System.out.println("Object failed verification!");
58 System.out.println("Expected: " + Fixtures.compactProtoTestStruct + " but got " + cpts);
59 }
60 }
61
62}