Commit 9b886b4e authored by p x's avatar p x
Browse files

解析字符串

parent c717a8f4
...@@ -44,4 +44,8 @@ public class PathPathDto { ...@@ -44,4 +44,8 @@ public class PathPathDto {
public List<Position2DDto> getPointsPos() { public List<Position2DDto> getPointsPos() {
return pointsPos; return pointsPos;
} }
public short getPathType() {
return pathType;
}
} }
...@@ -23,7 +23,7 @@ public class PathPath { ...@@ -23,7 +23,7 @@ public class PathPath {
//关联 GNSS 点 数量 //关联 GNSS 点 数量
@Order(1) @Order(1)
private short pointsNum; // 服务器给的4 我1 private short pointsNum; // 服务器给的4 我1
//关联 GNSS 点 位置 //关联 GNSS 点 位置 具体颜色的集合
@Order(2) @Order(2)
@RefNumFlag(value="pointsNum") @RefNumFlag(value="pointsNum")
private List<Position2D> pointsPos; private List<Position2D> pointsPos;
......
...@@ -40,31 +40,31 @@ public class RSISDetail { ...@@ -40,31 +40,31 @@ public class RSISDetail {
@Order(7) @Order(7)
private int referenceLinksNum; private int referenceLinksNum;
//关联路段数量 //关联路段数量 没数据
@Order(8) // @Order(8)
private RelSetp referenceLinks; // private RelSetp referenceLinks;
//优先级 //优先级
@Order(9) @Order(8)
private short priority; private short priority;
//交通事件/标 志作用中心线 坐标点 //交通事件/标 志作用中心线 坐标点
@Order(10) @Order(9)
private Position alertPath; private Position alertPath;
//交通标志/事 件作用中心线 范围半径 //交通标志/事 件作用中心线 范围半径
@Order(11) @Order(10)
@OffsetDef(value = 0.1) @OffsetDef(value = 0.1)
private int pathRadius; private int pathRadius;
//事件状态 //事件状态
@Order(12) @Order(11)
private short status; private short status;
//自定义内容长度 //自定义内容长度
@Order(13) @Order(12)
private int userdefinedDataLength; private int userdefinedDataLength;
//这里用来拿到人的感知物id //这里用来拿到人的感知物id
@Order(14) @Order(13)
//自定义内容 //自定义内容 此处代表人的ptcid
@RefNumFlag(value="userdefinedDataLength") @RefNumFlag(value="userdefinedDataLength")
private String userdefinedData; private String userdefinedData;
......
...@@ -47,7 +47,7 @@ public class RoutePlan { ...@@ -47,7 +47,7 @@ public class RoutePlan {
@Order(8) @Order(8)
@NumFlag @NumFlag
private int dataLen; private int dataLen;
//长度为 N 个字节,其中 N 为路线规划数据长度,路线规划数据结构内 //长度为 N 个字节,其中 N 为路线规划数据长度,路线规划数据结构内 包含多种颜色的集合
@Order(9) @Order(9)
@RefNumFlag(value="dataLen") @RefNumFlag(value="dataLen")
private List<PathPath> pathList; private List<PathPath> pathList;
......
...@@ -379,9 +379,17 @@ public class Parse { ...@@ -379,9 +379,17 @@ public class Parse {
data.readBytes(by); data.readBytes(by);
String str = new String(by, StandardCharsets.UTF_8); String str = new String(by, StandardCharsets.UTF_8);
field.set(t, str); field.set(t, str);
} else if (type == String.class && refNumFlag != null) {
Field tField = t.getClass().getDeclaredField(refNumFlag.value());
tField.setAccessible(true);
int size = (int) tField.get(t);
byte[] by = new byte[size];
data.readBytes(by);
String str = new String(by, StandardCharsets.UTF_8);
field.set(t, str);
} else if (type == short.class) { } else if (type == short.class) {
field.set(t, data.readUnsignedByte()); field.set(t, data.readUnsignedByte());
int a=0; int a = 0;
} else if (type == int.class) { } else if (type == int.class) {
field.set(t, data.readUnsignedShort()); field.set(t, data.readUnsignedShort());
} else if (type == long.class && fieldDef == null) { } else if (type == long.class && fieldDef == null) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment