protocol buffer 测试类的实现
来源:互联网 发布:诺基亚6202c软件 编辑:程序博客网 时间:2024/06/05 17:25
package yonyou.dudu.api;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import yonyou.dudu.cloud.api.entity.LoginMsg;
public class TestLoginMsg {
public static void main(String[] args) throws IOException{
// 按照定义的数据结构,创建一个Login
LoginMsg.Login.Builder loginBuilder = LoginMsg.Login.newBuilder();
loginBuilder.setMessage("操作成功");
loginBuilder.setCode("0000");
loginBuilder.setStatus("OK");
loginBuilder.setDef1("123");
loginBuilder.setDef2("456");
LoginMsg.Login.DataContent.Builder dataContent =LoginMsg.Login.DataContent.newBuilder();
LoginMsg.Login.ApiUserInfo.Builder apiUserInfo = LoginMsg.Login.ApiUserInfo.newBuilder();
apiUserInfo.setId(117);
apiUserInfo.setUserId("15811507736");
apiUserInfo.setUserName("158人员");
apiUserInfo.setSex(2);
apiUserInfo.setPassword("45109BEB84F927CE");
apiUserInfo.setPasswordMD5("e10adc3949ba59abbe56e057f20f883e");
// apiUserInfo.setHeadImage(null);
// apiUserInfo.setHeadImgByte(null);
// apiUserInfo.setImgByte(null);
apiUserInfo.setSessionId("77F6A3B8A10AA7EAE84572B5F3C6AB0E334FBBA3A767B55300A4B6FE62851D67686449B514B3459C18A94D3DBDE6EF69324B91BC8824A258");
dataContent.setApiUserInfo(apiUserInfo);
LoginMsg.Login.EprUserAbilityVo.Builder eprUserAbilityVo = LoginMsg.Login.EprUserAbilityVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.EprInfoVo.Builder eprInfoVo = LoginMsg.Login.EprUserAbilityVo.EprInfoVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.AbilityAuthVo.Builder abilityAuthVo = LoginMsg.Login.EprUserAbilityVo.AbilityAuthVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.PbxUserExtensionVo.Builder pbxUserExtensionVo = LoginMsg.Login.EprUserAbilityVo.PbxUserExtensionVo.newBuilder();
eprInfoVo.setId(619);
eprInfoVo.setParentEprId(0);
eprInfoVo.setCompany("129通信中心");
eprInfoVo.setContact("129");
eprInfoVo.setRegisterDate("2017-09-20 19:42:43");
abilityAuthVo.setPbxFlag(false);
abilityAuthVo.setPstnFlag(false);
pbxUserExtensionVo.setEprId(0);
pbxUserExtensionVo.setDomain("");
pbxUserExtensionVo.setExtensionNum("");
pbxUserExtensionVo.setDomainname("");
pbxUserExtensionVo.setUserId("");
eprUserAbilityVo.setEprInfoVo(eprInfoVo);
eprUserAbilityVo.setAbilityAuthVo(abilityAuthVo);
eprUserAbilityVo.setPbxUserExtensionVo(pbxUserExtensionVo);
dataContent.addEprUserAbilityVo(eprUserAbilityVo);
loginBuilder.setData(dataContent);
LoginMsg.Login xxz = loginBuilder.build();
// 将数据写到输出流,如网络输出流,这里用到ByteArrayOutSream 来代替
ByteArrayOutputStream output = new ByteArrayOutputStream();
xxz.writeTo(output);
//----分割线:下面是接收方,将数据接收后发序列化-------------------------------------------------
byte[] byteArray = output.toByteArray();
// 接收到流并读取,如网络流,用ByteArrayInputStream
ByteArrayInputStream input = new ByteArrayInputStream(byteArray);
// 反序列化
LoginMsg.Login loginReceive = LoginMsg.Login.parseFrom(input);
System.out.println("message = "+loginReceive.getMessage() +"code = "+loginReceive.getCode() +"status="+loginReceive.getStatus()+"def1="+loginReceive.getDef1()+"def2="+loginReceive.getDef2());
System.out.println("apiUserInfo id="+loginReceive.getData().getApiUserInfo().getId()+
"userId = "+loginReceive.getData().getApiUserInfo().getUserId()+
"userName = "+loginReceive.getData().getApiUserInfo().getUserName()+
"sex = "+loginReceive.getData().getApiUserInfo().getSex()+
"password = "+loginReceive.getData().getApiUserInfo().getPassword()+
"passwordMD5 = "+loginReceive.getData().getApiUserInfo().getPasswordMD5()+
"headImage="+loginReceive.getData().getApiUserInfo().getHeadImage()+
"headImgByte = "+ loginReceive.getData().getApiUserInfo().getHeadImgByte()+"imgByte = "+loginReceive.getData().getApiUserInfo().getImgByte()+"sessionId="+loginReceive.getData().getApiUserInfo().getSessionId());
List<yonyou.dudu.cloud.api.entity.LoginMsg.Login.EprUserAbilityVo> EprUserAbilityVoList = loginReceive.getData().getEprUserAbilityVoList();
for(yonyou.dudu.cloud.api.entity.LoginMsg.Login.EprUserAbilityVo vo :EprUserAbilityVoList){
System.out.println( vo.getAbilityAuthVo().getPbxFlag());
System.out.println( vo.getAbilityAuthVo().getPstnFlag());
System.out.println( vo.getEprInfoVo().getCompany());
System.out.println( vo.getEprInfoVo().getContact());
System.out.println( vo.getPbxUserExtensionVo().getDomain());
}
System.out.println("12334");
}
}
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import yonyou.dudu.cloud.api.entity.LoginMsg;
public class TestLoginMsg {
public static void main(String[] args) throws IOException{
// 按照定义的数据结构,创建一个Login
LoginMsg.Login.Builder loginBuilder = LoginMsg.Login.newBuilder();
loginBuilder.setMessage("操作成功");
loginBuilder.setCode("0000");
loginBuilder.setStatus("OK");
loginBuilder.setDef1("123");
loginBuilder.setDef2("456");
LoginMsg.Login.DataContent.Builder dataContent =LoginMsg.Login.DataContent.newBuilder();
LoginMsg.Login.ApiUserInfo.Builder apiUserInfo = LoginMsg.Login.ApiUserInfo.newBuilder();
apiUserInfo.setId(117);
apiUserInfo.setUserId("15811507736");
apiUserInfo.setUserName("158人员");
apiUserInfo.setSex(2);
apiUserInfo.setPassword("45109BEB84F927CE");
apiUserInfo.setPasswordMD5("e10adc3949ba59abbe56e057f20f883e");
// apiUserInfo.setHeadImage(null);
// apiUserInfo.setHeadImgByte(null);
// apiUserInfo.setImgByte(null);
apiUserInfo.setSessionId("77F6A3B8A10AA7EAE84572B5F3C6AB0E334FBBA3A767B55300A4B6FE62851D67686449B514B3459C18A94D3DBDE6EF69324B91BC8824A258");
dataContent.setApiUserInfo(apiUserInfo);
LoginMsg.Login.EprUserAbilityVo.Builder eprUserAbilityVo = LoginMsg.Login.EprUserAbilityVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.EprInfoVo.Builder eprInfoVo = LoginMsg.Login.EprUserAbilityVo.EprInfoVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.AbilityAuthVo.Builder abilityAuthVo = LoginMsg.Login.EprUserAbilityVo.AbilityAuthVo.newBuilder();
LoginMsg.Login.EprUserAbilityVo.PbxUserExtensionVo.Builder pbxUserExtensionVo = LoginMsg.Login.EprUserAbilityVo.PbxUserExtensionVo.newBuilder();
eprInfoVo.setId(619);
eprInfoVo.setParentEprId(0);
eprInfoVo.setCompany("129通信中心");
eprInfoVo.setContact("129");
eprInfoVo.setRegisterDate("2017-09-20 19:42:43");
abilityAuthVo.setPbxFlag(false);
abilityAuthVo.setPstnFlag(false);
pbxUserExtensionVo.setEprId(0);
pbxUserExtensionVo.setDomain("");
pbxUserExtensionVo.setExtensionNum("");
pbxUserExtensionVo.setDomainname("");
pbxUserExtensionVo.setUserId("");
eprUserAbilityVo.setEprInfoVo(eprInfoVo);
eprUserAbilityVo.setAbilityAuthVo(abilityAuthVo);
eprUserAbilityVo.setPbxUserExtensionVo(pbxUserExtensionVo);
dataContent.addEprUserAbilityVo(eprUserAbilityVo);
loginBuilder.setData(dataContent);
LoginMsg.Login xxz = loginBuilder.build();
// 将数据写到输出流,如网络输出流,这里用到ByteArrayOutSream 来代替
ByteArrayOutputStream output = new ByteArrayOutputStream();
xxz.writeTo(output);
//----分割线:下面是接收方,将数据接收后发序列化-------------------------------------------------
byte[] byteArray = output.toByteArray();
// 接收到流并读取,如网络流,用ByteArrayInputStream
ByteArrayInputStream input = new ByteArrayInputStream(byteArray);
// 反序列化
LoginMsg.Login loginReceive = LoginMsg.Login.parseFrom(input);
System.out.println("message = "+loginReceive.getMessage() +"code = "+loginReceive.getCode() +"status="+loginReceive.getStatus()+"def1="+loginReceive.getDef1()+"def2="+loginReceive.getDef2());
System.out.println("apiUserInfo id="+loginReceive.getData().getApiUserInfo().getId()+
"userId = "+loginReceive.getData().getApiUserInfo().getUserId()+
"userName = "+loginReceive.getData().getApiUserInfo().getUserName()+
"sex = "+loginReceive.getData().getApiUserInfo().getSex()+
"password = "+loginReceive.getData().getApiUserInfo().getPassword()+
"passwordMD5 = "+loginReceive.getData().getApiUserInfo().getPasswordMD5()+
"headImage="+loginReceive.getData().getApiUserInfo().getHeadImage()+
"headImgByte = "+ loginReceive.getData().getApiUserInfo().getHeadImgByte()+"imgByte = "+loginReceive.getData().getApiUserInfo().getImgByte()+"sessionId="+loginReceive.getData().getApiUserInfo().getSessionId());
List<yonyou.dudu.cloud.api.entity.LoginMsg.Login.EprUserAbilityVo> EprUserAbilityVoList = loginReceive.getData().getEprUserAbilityVoList();
for(yonyou.dudu.cloud.api.entity.LoginMsg.Login.EprUserAbilityVo vo :EprUserAbilityVoList){
System.out.println( vo.getAbilityAuthVo().getPbxFlag());
System.out.println( vo.getAbilityAuthVo().getPstnFlag());
System.out.println( vo.getEprInfoVo().getCompany());
System.out.println( vo.getEprInfoVo().getContact());
System.out.println( vo.getPbxUserExtensionVo().getDomain());
}
System.out.println("12334");
}
}
阅读全文
0 0
- protocol buffer 测试类的实现
- 一个基于protocol buffer的RPC实现
- Google protocol buffer(4)—Google protocol buffer + socket实现message的连续传输
- protocol buffer的使用
- 手机端实现Protocol Buffer
- 手机端实现Protocol Buffer
- 手机端实现Protocol Buffer
- 初识Protocol Buffer(Protocol Buffer的下载与安装)
- protocol buffer 的proto文件
- google的protocol buffer 分析
- google protocol buffer的使用
- google的protocol buffer学习
- Protocol Buffer的使用(python)
- iOS protocol buffer的使用
- Protocol Buffer的C++入门教程
- Protocol Buffer的C++入门教程
- protocol buffer MergeFrom的坑
- 浅谈protocol buffer的使用
- windows系统下Vue环境搭建(npm方式)
- Kolla部署OpenStack失败问题(3)
- Redis 客户端 Jedis的使用
- 穷逼程序员万圣节穿什么
- 原生js实现检测对象变化
- protocol buffer 测试类的实现
- What Do You Do When Programming Sucks
- MYSQL之join语句使用
- 人工智能程序可1秒检测出肠癌 准确率86% | 医疗
- 第一篇技术博客
- 算法:输入任意一个4位数整数,将该数反序输出(例如:输入1354,输出4531)
- 用VS2017的MFC连接mysql数据库并写入数据
- 惊呆!借助神经网络,手机可拍出“单反质量”照片 | 拍照
- 整合人工智能技术,这六个行业有巨大潜力 | 行业