package com.ctriposs.baiji.rpc.samples.crosstest; import java.util.*; import com.ctriposs.baiji.exception.BaijiRuntimeException; public class TestServiceImpl implements TestService { @Override public CrossTestResponseType testSerialize(CrossTestRequestType request) { if (request == null || request.name == null || request.name.isEmpty()) { throw new IllegalArgumentException("Missing name parameter"); } TestSerializerSample sample = request.getSample(); byte[] bytes1 = sample.bytes1; for(int i = 0; i < 256; i++){ if((bytes1[i]- (byte)i) == 0) continue; else throw new BaijiRuntimeException("bytes serialize mismatched!"); } TestSerializerSampleList sampleList = new TestSerializerSampleList(); List<TestSerializerSample> list = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add(generateSample(sample, 2048 + i)); } sampleList.setSamples(list); return new CrossTestResponseType(null, sampleList, "Hello" + request.name); } private static TestSerializerSample generateSample(TestSerializerSample sample, int id) { TestSerializerSample copySample = new TestSerializerSample( id,sample.tinyint1,sample.smallint1,sample.bigint1,sample.boolean1,sample.double1, sample.string1,sample.record,sample.list1,sample.map1,sample.enum1,sample.nullableint, sample.bytes1,sample.container1,sample.innerSample); copySample.enum1 = Enum1Values.BLUE; return copySample; } }