feat: adjust receiver and sender parsing
This commit is contained in:
parent
c5848854d4
commit
846c7961af
|
@ -0,0 +1,28 @@
|
|||
package de.swingbe.ifleet.model;
|
||||
|
||||
public class Peer {
|
||||
|
||||
private final String type;
|
||||
private final String id;
|
||||
|
||||
public Peer(String type, String id) {
|
||||
this.type = type;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Peer{" +
|
||||
"type='" + type + '\'' +
|
||||
", id='" + id + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
|
@ -1,22 +1,7 @@
|
|||
package de.swingbe.ifleet.model;
|
||||
|
||||
public class Receiver {
|
||||
|
||||
private final String receiver;
|
||||
|
||||
public Receiver(String receiver) {
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
public String getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String rString = "Receiver{";
|
||||
rString += receiver != null ? "receiver='" + receiver + '\'' : "" + '\'';
|
||||
rString += '}';
|
||||
return rString;
|
||||
public class Receiver extends Peer{
|
||||
public Receiver(String type, String id) {
|
||||
super(type, id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,7 @@
|
|||
package de.swingbe.ifleet.model;
|
||||
|
||||
public class Sender {
|
||||
|
||||
private final String sender;
|
||||
|
||||
public Sender(String sender) {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
public String getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String sString = "Sender{";
|
||||
sString += sender != null ? "sender='" + sender + '\'' : "" + '\'';
|
||||
sString += '}';
|
||||
return sString;
|
||||
public class Sender extends Peer{
|
||||
public Sender(String type, String id) {
|
||||
super(type, id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,9 @@ import de.swingbe.ifleet.model.Communication;
|
|||
import de.swingbe.ifleet.model.Header;
|
||||
import de.swingbe.ifleet.model.Telegram;
|
||||
import de.swingbe.ifleet.utils.TelegramUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
class ComParserImpl implements ComParser {
|
||||
|
||||
private final static Logger LOG = LoggerFactory.getLogger(ComParserImpl.class);
|
||||
private static final String SEP = "#";
|
||||
private static final String END = System.getProperty("line.separator");
|
||||
|
||||
ComParserImpl() {
|
||||
}
|
||||
|
||||
|
@ -33,8 +27,6 @@ class ComParserImpl implements ComParser {
|
|||
//parse Telegram
|
||||
String inputSupPop = TelegramUtils.popField(inputSup, 4);
|
||||
telegram = TelegramParserFactory.createTelegramParser().parse(inputSupPop);
|
||||
} else {
|
||||
LOG.warn("telegram NOT included");
|
||||
}
|
||||
|
||||
return new Communication(header, telegram);
|
||||
|
|
|
@ -2,6 +2,7 @@ package de.swingbe.ifleet.parser;
|
|||
|
||||
import de.swingbe.ifleet.model.Communication;
|
||||
import de.swingbe.ifleet.model.Entity;
|
||||
import de.swingbe.ifleet.utils.TelegramUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
|
@ -16,19 +17,19 @@ class EntityParserImpl implements EntityParser {
|
|||
String[] splits = input.split(" ");
|
||||
|
||||
//parse date
|
||||
String date = null;
|
||||
String date = "";
|
||||
if (splits.length > 0) {
|
||||
date = splits[0];
|
||||
}
|
||||
|
||||
//parse time
|
||||
String time = null;
|
||||
String time = "";
|
||||
if (splits.length > 1) {
|
||||
time = splits[1];
|
||||
}
|
||||
|
||||
//parse log level
|
||||
String logLevel = null;
|
||||
String logLevel = "";
|
||||
if (splits.length > 2) {
|
||||
logLevel = splits[2];
|
||||
}
|
||||
|
@ -36,30 +37,30 @@ class EntityParserImpl implements EntityParser {
|
|||
//index three is empty
|
||||
|
||||
//parse addressPartA
|
||||
String addressPartA = null;
|
||||
String addressPartA = "";
|
||||
if (splits.length > 4) {
|
||||
addressPartA = splits[4].replaceFirst("\\[", "");
|
||||
}
|
||||
|
||||
//parse addressPartB
|
||||
String addressPartB = null;
|
||||
String addressPartB = "";
|
||||
if (splits.length > 5) {
|
||||
addressPartB = splits[5].replaceFirst("/", "")
|
||||
.replaceFirst("\\]", "");
|
||||
}
|
||||
|
||||
//parse peer
|
||||
String peer = null;
|
||||
String peer = "";
|
||||
if (splits.length > 6) {
|
||||
peer = splits[6];
|
||||
}
|
||||
//parse address next
|
||||
String addressNext = null;
|
||||
String addressNext = "";
|
||||
if (splits.length > 7) {
|
||||
addressNext = splits[7].replaceFirst("/", "");
|
||||
}
|
||||
//parse direction
|
||||
String direction = null;
|
||||
String direction = "";
|
||||
if (splits.length > 8) {
|
||||
direction = splits[8];
|
||||
}
|
||||
|
|
|
@ -2,9 +2,6 @@ package de.swingbe.ifleet.parser;
|
|||
|
||||
import de.swingbe.ifleet.model.LocationMsg;
|
||||
import de.swingbe.ifleet.model.Position;
|
||||
import de.swingbe.ifleet.model.Trip;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import static de.swingbe.ifleet.model.Position.POSITION_FIELD_NO;
|
||||
import static de.swingbe.ifleet.utils.TelegramUtils.popField;
|
||||
|
@ -13,8 +10,6 @@ class LocationMsgParserImpl implements LocationMsgParser {
|
|||
|
||||
public final static int DRIVER_NO_FIELD_NO = 1;
|
||||
|
||||
private final static Logger LOG = LoggerFactory.getLogger(LocationMsgParserImpl.class);
|
||||
|
||||
public LocationMsg parse(String input) {
|
||||
|
||||
//parse position
|
||||
|
@ -28,8 +23,6 @@ class LocationMsgParserImpl implements LocationMsgParser {
|
|||
String driverNo = "";
|
||||
if (splits.length > 0) {
|
||||
driverNo = splits[0];
|
||||
} else {
|
||||
LOG.warn("driverNo unavailable");
|
||||
}
|
||||
|
||||
//parse trip
|
||||
|
|
|
@ -1,17 +1,9 @@
|
|||
package de.swingbe.ifleet.parser;
|
||||
|
||||
import de.swingbe.ifleet.model.Position;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static de.swingbe.ifleet.parser.TelegramHdrParserImpl.isNumeric;
|
||||
|
||||
public class PositionParserImpl implements PositionParser {
|
||||
|
||||
private final static Logger LOG = LoggerFactory.getLogger(PositionParserImpl.class);
|
||||
|
||||
@Override
|
||||
public Position parse(final String input) {
|
||||
|
||||
|
@ -23,56 +15,42 @@ public class PositionParserImpl implements PositionParser {
|
|||
String netPoint = "";
|
||||
if (splits.length > 0) {
|
||||
netPoint = splits[0];
|
||||
} else {
|
||||
LOG.warn("netPoint unavailable");
|
||||
}
|
||||
|
||||
//parse RelPosition
|
||||
String relPosition = "";
|
||||
if (splits.length > 1) {
|
||||
relPosition = splits[1];
|
||||
} else {
|
||||
LOG.warn("relPosition unavailable");
|
||||
}
|
||||
|
||||
//parse lon
|
||||
String lon = "";
|
||||
if (splits.length > 2) {
|
||||
lon = splits[2];
|
||||
} else {
|
||||
LOG.warn("lon unavailable");
|
||||
}
|
||||
|
||||
//parse lat
|
||||
String lat = "";
|
||||
if (splits.length > 3) {
|
||||
lat = splits[3];
|
||||
} else {
|
||||
LOG.warn("lat unavailable");
|
||||
}
|
||||
|
||||
//parse offRoute
|
||||
String offRoute = "";
|
||||
if (splits.length > 4) {
|
||||
offRoute = splits[4];
|
||||
} else {
|
||||
LOG.warn("offRoute unavailable");
|
||||
}
|
||||
|
||||
//parse vel
|
||||
String vel = "";
|
||||
if (splits.length > 5) {
|
||||
vel = splits[5];
|
||||
} else {
|
||||
LOG.warn("vel unavailable");
|
||||
}
|
||||
|
||||
//parse hdg
|
||||
String hdg = "";
|
||||
if (splits.length > 6) {
|
||||
hdg = splits[6];
|
||||
} else {
|
||||
LOG.warn("hdg unavailable");
|
||||
}
|
||||
|
||||
return new Position(netPoint, relPosition, lon, lat, offRoute, vel, hdg);
|
||||
|
|
|
@ -7,25 +7,21 @@ class ReceiverParserImpl implements ReceiverParser {
|
|||
@Override
|
||||
public Receiver parse(final String input) {
|
||||
|
||||
Receiver receiver = null;
|
||||
String[] splits = input.split("#");
|
||||
|
||||
//parse receiver part A
|
||||
String receiverPartA = null;
|
||||
//parse type
|
||||
String type = "";
|
||||
if (splits.length > 0) {
|
||||
receiverPartA = splits[0];
|
||||
type = splits[0];
|
||||
}
|
||||
|
||||
//parse receiver part A
|
||||
String receiverPartB = null;
|
||||
//parse id
|
||||
String id = "";
|
||||
if (splits.length > 1) {
|
||||
receiverPartB = splits[1];
|
||||
id = splits[1];
|
||||
}
|
||||
|
||||
if (receiverPartA != null && receiverPartB != null) {
|
||||
receiver = new Receiver(receiverPartA + "#" + receiverPartB);
|
||||
}
|
||||
return receiver;
|
||||
return new Receiver(type, id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,25 +6,20 @@ class SenderParserImpl implements SenderParser {
|
|||
|
||||
public Sender parse(final String input) {
|
||||
|
||||
Sender sender = null;
|
||||
|
||||
String[] splits = input.split("#");
|
||||
|
||||
//parse sender part A
|
||||
String senderPartA = null;
|
||||
//parse type
|
||||
String type = "";
|
||||
if (splits.length > 0) {
|
||||
senderPartA = splits[0];
|
||||
type = splits[0];
|
||||
}
|
||||
|
||||
//parse sender part A
|
||||
String senderPartB = null;
|
||||
//parse id
|
||||
String id = "";
|
||||
if (splits.length > 1) {
|
||||
senderPartB = splits[1];
|
||||
id = splits[1];
|
||||
}
|
||||
|
||||
if (senderPartA != null && senderPartB != null) {
|
||||
sender = new Sender(senderPartA + "#" + senderPartB);
|
||||
}
|
||||
return sender;
|
||||
return new Sender(type, id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,28 +11,24 @@ class TelegramHdrParserImpl implements TelegramHdrParser {
|
|||
TelegramHdrParserImpl() {
|
||||
}
|
||||
|
||||
public static boolean isNumeric(String str) {
|
||||
return str != null && str.matches("[0-9.]+");
|
||||
}
|
||||
|
||||
public TelegramHdr parse(final String input) {
|
||||
|
||||
String[] splits = input.split("#");
|
||||
|
||||
//parse type
|
||||
String type = null;
|
||||
//parse teleType
|
||||
String type = "";
|
||||
if (splits.length > 0) {
|
||||
type = splits[0];
|
||||
}
|
||||
|
||||
//parse version
|
||||
String version = null;
|
||||
//parse teleVersion
|
||||
String version = "";
|
||||
if (splits.length > 1) {
|
||||
version = splits[1];
|
||||
}
|
||||
|
||||
//parse id
|
||||
String id = null;
|
||||
//parse teleId
|
||||
String id = "";
|
||||
if (splits.length > 2) {
|
||||
id = splits[2];
|
||||
}
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
package de.swingbe.ifleet.parser;
|
||||
|
||||
import de.swingbe.ifleet.model.Trip;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class TripParserImpl implements TripParser {
|
||||
|
||||
private final static Logger LOG = LoggerFactory.getLogger(TripParserImpl.class);
|
||||
|
||||
@Override
|
||||
public Trip parse(final String input) {
|
||||
|
||||
|
@ -19,64 +15,48 @@ public class TripParserImpl implements TripParser {
|
|||
String blockNo = "";
|
||||
if (splits.length > 0) {
|
||||
blockNo = splits[0];
|
||||
} else {
|
||||
LOG.warn("blockNo unavailable");
|
||||
}
|
||||
|
||||
//parse lineNo
|
||||
String lineNo = "";
|
||||
if (splits.length > 1) {
|
||||
lineNo = splits[1];
|
||||
} else {
|
||||
LOG.warn("lineNo unavailable");
|
||||
}
|
||||
|
||||
//parse tripNo
|
||||
String tripNo = "";
|
||||
if (splits.length > 2) {
|
||||
tripNo = splits[2];
|
||||
} else {
|
||||
LOG.warn("tripNo unavailable");
|
||||
}
|
||||
|
||||
//parse routeNo
|
||||
String routeNo = "";
|
||||
if (splits.length > 3) {
|
||||
routeNo = splits[3];
|
||||
} else {
|
||||
LOG.warn("routeNo unavailable");
|
||||
}
|
||||
|
||||
//parse deviation
|
||||
String deviation = "";
|
||||
if (splits.length > 4) {
|
||||
deviation = splits[4];
|
||||
} else {
|
||||
LOG.warn("deviation unavailable");
|
||||
}
|
||||
|
||||
//parse loadDegree
|
||||
String loadDegree = "";
|
||||
if (splits.length > 5) {
|
||||
loadDegree = splits[5];
|
||||
} else {
|
||||
LOG.warn("loadDegree unavailable");
|
||||
}
|
||||
|
||||
//parse destinationNo
|
||||
String destinationNo = "";
|
||||
if (splits.length > 6) {
|
||||
destinationNo = splits[6];
|
||||
} else {
|
||||
LOG.warn("destinationNo unavailable");
|
||||
}
|
||||
|
||||
//parse tripType
|
||||
String tripType = "";
|
||||
if (splits.length > 6) {
|
||||
tripType = splits[6];
|
||||
} else {
|
||||
LOG.warn("tripType unavailable");
|
||||
}
|
||||
|
||||
return new Trip(blockNo, lineNo, tripNo, routeNo, deviation, loadDegree, destinationNo, tripType);
|
||||
|
|
Loading…
Reference in New Issue