From 846c7961af3007a72c0ce86eb10657344b568d65 Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Wed, 23 Feb 2022 09:25:05 -0500 Subject: [PATCH] feat: adjust receiver and sender parsing --- .../java/de/swingbe/ifleet/model/Peer.java | 28 +++++++++++++++++++ .../de/swingbe/ifleet/model/Receiver.java | 21 ++------------ .../java/de/swingbe/ifleet/model/Sender.java | 21 ++------------ .../swingbe/ifleet/parser/ComParserImpl.java | 8 ------ .../ifleet/parser/EntityParserImpl.java | 17 +++++------ .../ifleet/parser/LocationMsgParserImpl.java | 7 ----- .../ifleet/parser/PositionParserImpl.java | 22 --------------- .../ifleet/parser/ReceiverParserImpl.java | 18 +++++------- .../ifleet/parser/SenderParserImpl.java | 19 +++++-------- .../ifleet/parser/TelegramHdrParserImpl.java | 16 ++++------- .../swingbe/ifleet/parser/TripParserImpl.java | 20 ------------- 11 files changed, 63 insertions(+), 134 deletions(-) create mode 100644 src/main/java/de/swingbe/ifleet/model/Peer.java diff --git a/src/main/java/de/swingbe/ifleet/model/Peer.java b/src/main/java/de/swingbe/ifleet/model/Peer.java new file mode 100644 index 0000000..f43b551 --- /dev/null +++ b/src/main/java/de/swingbe/ifleet/model/Peer.java @@ -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; + } +} diff --git a/src/main/java/de/swingbe/ifleet/model/Receiver.java b/src/main/java/de/swingbe/ifleet/model/Receiver.java index add594c..3ab3acc 100644 --- a/src/main/java/de/swingbe/ifleet/model/Receiver.java +++ b/src/main/java/de/swingbe/ifleet/model/Receiver.java @@ -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); } } diff --git a/src/main/java/de/swingbe/ifleet/model/Sender.java b/src/main/java/de/swingbe/ifleet/model/Sender.java index 283a715..cff0037 100644 --- a/src/main/java/de/swingbe/ifleet/model/Sender.java +++ b/src/main/java/de/swingbe/ifleet/model/Sender.java @@ -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); } } diff --git a/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java index 70f0b08..8ecb5f8 100644 --- a/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java @@ -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); diff --git a/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java index 2b753ab..1d02c13 100644 --- a/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java @@ -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]; } diff --git a/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java index 7f48d1a..61ba2ae 100644 --- a/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java @@ -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 diff --git a/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java index f21f5db..e4a4fba 100644 --- a/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java @@ -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); diff --git a/src/main/java/de/swingbe/ifleet/parser/ReceiverParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/ReceiverParserImpl.java index db13371..2ff0bd7 100644 --- a/src/main/java/de/swingbe/ifleet/parser/ReceiverParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/ReceiverParserImpl.java @@ -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); } } diff --git a/src/main/java/de/swingbe/ifleet/parser/SenderParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/SenderParserImpl.java index 7855f10..a61ea91 100644 --- a/src/main/java/de/swingbe/ifleet/parser/SenderParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/SenderParserImpl.java @@ -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); } } diff --git a/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java index d0c40a7..51001e2 100644 --- a/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java @@ -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]; } diff --git a/src/main/java/de/swingbe/ifleet/parser/TripParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/TripParserImpl.java index a970060..763cf80 100644 --- a/src/main/java/de/swingbe/ifleet/parser/TripParserImpl.java +++ b/src/main/java/de/swingbe/ifleet/parser/TripParserImpl.java @@ -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);