use of io.seata.core.protocol.RegisterRMRequest in project seata by seata.
the class RegisterRMRequestConvertorTest method convert2Proto.
@Test
public void convert2Proto() {
RegisterRMRequest registerRMRequest = new RegisterRMRequest();
registerRMRequest.setResourceIds("res1");
registerRMRequest.setVersion("123");
registerRMRequest.setTransactionServiceGroup("group");
registerRMRequest.setExtraData("extraData");
registerRMRequest.setApplicationId("appId");
RegisterRMRequestConvertor convertor = new RegisterRMRequestConvertor();
RegisterRMRequestProto proto = convertor.convert2Proto(registerRMRequest);
RegisterRMRequest real = convertor.convert2Model(proto);
assertThat((real.getTypeCode())).isEqualTo(registerRMRequest.getTypeCode());
assertThat((real.getResourceIds())).isEqualTo(registerRMRequest.getResourceIds());
assertThat((real.getVersion())).isEqualTo(registerRMRequest.getVersion());
assertThat((real.getTransactionServiceGroup())).isEqualTo(registerRMRequest.getTransactionServiceGroup());
assertThat((real.getExtraData())).isEqualTo(registerRMRequest.getExtraData());
assertThat((real.getApplicationId())).isEqualTo(registerRMRequest.getApplicationId());
}
use of io.seata.core.protocol.RegisterRMRequest in project seata by seata.
the class RegisterRMRequestCodec method doEncode.
@Override
protected <T> void doEncode(T t, ByteBuf out) {
super.doEncode(t, out);
RegisterRMRequest registerRMRequest = (RegisterRMRequest) t;
String resourceIds = registerRMRequest.getResourceIds();
if (resourceIds != null) {
byte[] bs = resourceIds.getBytes(UTF8);
out.writeInt(bs.length);
if (bs.length > 0) {
out.writeBytes(bs);
}
} else {
out.writeInt(0);
}
}
use of io.seata.core.protocol.RegisterRMRequest in project seata by seata.
the class RegisterRMRequestSerializerTest method test_codec.
/**
* Test codec.
*/
@Test
public void test_codec() {
RegisterRMRequest registerRMRequest = new RegisterRMRequest();
registerRMRequest.setResourceIds("a1,a2");
registerRMRequest.setApplicationId("abc");
registerRMRequest.setExtraData("abc124");
registerRMRequest.setTransactionServiceGroup("def");
registerRMRequest.setVersion("1");
byte[] body = seataSerializer.serialize(registerRMRequest);
RegisterRMRequest registerRMRequest2 = seataSerializer.deserialize(body);
assertThat(registerRMRequest2.getResourceIds()).isEqualTo(registerRMRequest.getResourceIds());
assertThat(registerRMRequest2.getExtraData()).isEqualTo(registerRMRequest.getExtraData());
assertThat(registerRMRequest2.getApplicationId()).isEqualTo(registerRMRequest.getApplicationId());
assertThat(registerRMRequest2.getVersion()).isEqualTo(registerRMRequest.getVersion());
assertThat(registerRMRequest2.getTransactionServiceGroup()).isEqualTo(registerRMRequest.getTransactionServiceGroup());
}
use of io.seata.core.protocol.RegisterRMRequest in project seata by seata.
the class RegisterRMRequestCodec method decode.
@Override
public <T> void decode(T t, ByteBuffer in) {
RegisterRMRequest registerRMRequest = (RegisterRMRequest) t;
if (in.remaining() < 2) {
return;
}
short len = in.getShort();
if (len > 0) {
if (in.remaining() < len) {
return;
}
byte[] bs = new byte[len];
in.get(bs);
registerRMRequest.setVersion(new String(bs, UTF8));
} else {
return;
}
if (in.remaining() < 2) {
return;
}
len = in.getShort();
if (len > 0) {
if (in.remaining() < len) {
return;
}
byte[] bs = new byte[len];
in.get(bs);
registerRMRequest.setApplicationId(new String(bs, UTF8));
}
if (in.remaining() < 2) {
return;
}
len = in.getShort();
if (in.remaining() < len) {
return;
}
byte[] bs = new byte[len];
in.get(bs);
registerRMRequest.setTransactionServiceGroup(new String(bs, UTF8));
if (in.remaining() < 2) {
return;
}
len = in.getShort();
if (len > 0) {
if (in.remaining() < len) {
return;
}
bs = new byte[len];
in.get(bs);
registerRMRequest.setExtraData(new String(bs, UTF8));
}
int iLen;
if (in.remaining() < 4) {
return;
}
iLen = in.getInt();
if (iLen > 0) {
if (in.remaining() < iLen) {
return;
}
bs = new byte[iLen];
in.get(bs);
registerRMRequest.setResourceIds(new String(bs, UTF8));
}
}
use of io.seata.core.protocol.RegisterRMRequest in project seata by seata.
the class RegisterRMRequestConvertor method convert2Model.
@Override
public RegisterRMRequest convert2Model(RegisterRMRequestProto registerRMRequestProto) {
RegisterRMRequest registerRMRequest = new RegisterRMRequest();
AbstractIdentifyRequestProto abstractIdentifyRequest = registerRMRequestProto.getAbstractIdentifyRequest();
registerRMRequest.setResourceIds(registerRMRequestProto.getResourceIds());
registerRMRequest.setApplicationId(abstractIdentifyRequest.getApplicationId());
registerRMRequest.setExtraData(abstractIdentifyRequest.getExtraData());
registerRMRequest.setTransactionServiceGroup(abstractIdentifyRequest.getTransactionServiceGroup());
registerRMRequest.setVersion(abstractIdentifyRequest.getVersion());
return registerRMRequest;
}
Aggregations