]>
Commit | Line | Data |
---|---|---|
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 | ||
20 | package org.apache.thrift.test; | |
21 | ||
22 | import java.io.BufferedInputStream; | |
23 | import java.io.FileInputStream; | |
24 | ||
25 | import org.apache.thrift.Fixtures; | |
26 | import org.apache.thrift.protocol.TProtocol; | |
27 | import org.apache.thrift.protocol.TProtocolFactory; | |
28 | import org.apache.thrift.transport.TIOStreamTransport; | |
29 | import org.apache.thrift.transport.TTransport; | |
30 | ||
31 | import thrift.test.CompactProtoTestStruct; | |
32 | ||
33 | public 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 | } |