diff --git a/pom.xml b/pom.xml
index f9d4bc9..15d196e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
de.swingbe.ifleet
tgp
- 0.0.4
+ 0.0.6
This project is a library for parsing ifleet telegrams in Java.
diff --git a/src/main/java/de/swingbe/ifleet/model/Communication.java b/src/main/java/de/swingbe/ifleet/model/Communication.java
index 32b2ed0..8b58cd9 100644
--- a/src/main/java/de/swingbe/ifleet/model/Communication.java
+++ b/src/main/java/de/swingbe/ifleet/model/Communication.java
@@ -20,10 +20,12 @@ public class Communication {
@Override
public String toString() {
- return "Communication{" +
- "header=" + header +
- ", telegram=" + telegram +
- '}';
+ String ccString = "Communication{";
+ ccString += header != null ? "header=" + header : "";
+ ccString += telegram != null ? "telegram=" + telegram : "";
+ ccString += '}';
+ return ccString;
+
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/Entity.java b/src/main/java/de/swingbe/ifleet/model/Entity.java
index d2dfce6..f6e18e6 100644
--- a/src/main/java/de/swingbe/ifleet/model/Entity.java
+++ b/src/main/java/de/swingbe/ifleet/model/Entity.java
@@ -61,17 +61,18 @@ public class Entity {
@Override
public String toString() {
- return "Entity{" +
- "date='" + date + '\'' +
- ", time='" + time + '\'' +
- ", logLevel='" + logLevel + '\'' +
- ", addressPartA='" + addressPartA + '\'' +
- ", addressPartB='" + addressPartB + '\'' +
- ", peer='" + peer + '\'' +
- ", addressNext='" + addressNext + '\'' +
- ", direction='" + direction + '\'' +
- ", cc=" + cc +
- '}';
+ String eString = "Entity{";
+ eString += date != null ? "date='" + date + '\'' : "";
+ eString += time != null ? ", time='" + time + '\'' : "";
+ eString += logLevel != null ? ", logLevel='" + logLevel + '\'' : "";
+ eString += addressPartA != null ? ", addressPartA='" + addressPartA + '\'' : "";
+ eString += addressPartB != null ? ", addressPartB='" + addressPartB + '\'' : "";
+ eString += peer != null ? ", peer='" + peer + '\'' : "";
+ eString += addressNext != null ? ", addressNext='" + addressNext + '\'' : "";
+ eString += direction != null ? ", direction='" + direction + '\'' : "";
+ eString += cc != null ? ", cc=" + cc : "";
+ eString += '}';
+ return eString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/Header.java b/src/main/java/de/swingbe/ifleet/model/Header.java
index 5dc7355..d18aba5 100644
--- a/src/main/java/de/swingbe/ifleet/model/Header.java
+++ b/src/main/java/de/swingbe/ifleet/model/Header.java
@@ -20,9 +20,10 @@ public class Header {
@Override
public String toString() {
- return "Header{" +
- "sender=" + sender +
- ", receiver=" + receiver +
- '}';
+ String hString = "Header{";
+ hString += sender != null ? "sender=" + sender : "";
+ hString += receiver != null ? ", receiver=" + receiver : "";
+ hString += '}';
+ return hString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/LocationMessage.java b/src/main/java/de/swingbe/ifleet/model/LocationMessage.java
index 547042a..a0c4c7a 100644
--- a/src/main/java/de/swingbe/ifleet/model/LocationMessage.java
+++ b/src/main/java/de/swingbe/ifleet/model/LocationMessage.java
@@ -14,8 +14,9 @@ public class LocationMessage {
@Override
public String toString() {
- return "LocationMessage{" +
- "position=" + position +
- '}';
+ String positionString = "LocationMessage{";
+ positionString += position != null ? "position=" + position : "";
+ positionString += '}';
+ return positionString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/Receiver.java b/src/main/java/de/swingbe/ifleet/model/Receiver.java
index a3d4961..a306391 100644
--- a/src/main/java/de/swingbe/ifleet/model/Receiver.java
+++ b/src/main/java/de/swingbe/ifleet/model/Receiver.java
@@ -14,8 +14,9 @@ public class Receiver {
@Override
public String toString() {
- return "Receiver{" +
- "receiver='" + receiver + '\'' +
- '}';
+ String rString = "Receiver{";
+ rString += receiver != null ? "receiver='" + receiver + '\'' : "";
+ rString += '}';
+ return rString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/Sender.java b/src/main/java/de/swingbe/ifleet/model/Sender.java
index 1a8272d..2666106 100644
--- a/src/main/java/de/swingbe/ifleet/model/Sender.java
+++ b/src/main/java/de/swingbe/ifleet/model/Sender.java
@@ -14,8 +14,9 @@ public class Sender {
@Override
public String toString() {
- return "Sender{" +
- "sender='" + sender + '\'' +
- '}';
+ String sString = "Sender{";
+ sString += sender != null ? "sender='" + sender + '\'' : "";
+ sString += '}';
+ return sString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/model/Telegram.java b/src/main/java/de/swingbe/ifleet/model/Telegram.java
index 13e20ff..f4545ea 100644
--- a/src/main/java/de/swingbe/ifleet/model/Telegram.java
+++ b/src/main/java/de/swingbe/ifleet/model/Telegram.java
@@ -20,9 +20,10 @@ public class Telegram {
@Override
public String toString() {
- return "Telegram{" +
- "teleHeader=" + teleHeader +
- ", locationMessage=" + locationMessage +
- '}';
+ String telegramString = "Telegram{";
+ telegramString += teleHeader != null ? "teleHeader=" + teleHeader : "";
+ telegramString += locationMessage != null ? ", locationMessage=" + locationMessage : "";
+ telegramString += '}';
+ return telegramString;
}
}
diff --git a/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java
index 56d4262..5a2f4b8 100644
--- a/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/ComParserImpl.java
@@ -40,7 +40,6 @@ class ComParserImpl implements ComParser {
@Override
public Communication parse(final String input) {
- Communication com = null;
Header header = null;
Telegram telegram = null;
@@ -59,12 +58,6 @@ class ComParserImpl implements ComParser {
LOG.warn("telegram NOT included");
}
- //create Communication
- if (telegram != null && header != null) {
- com = new Communication(header, telegram);
- } else {
- LOG.warn("telegram NOT available");
- }
- return com;
+ 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 ca2ac98..2b753ab 100644
--- a/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/EntityParserImpl.java
@@ -13,7 +13,6 @@ class EntityParserImpl implements EntityParser {
@Override
public Entity parse(final String input) {
- Entity entity = null;
String[] splits = input.split(" ");
//parse date
@@ -39,13 +38,14 @@ class EntityParserImpl implements EntityParser {
//parse addressPartA
String addressPartA = null;
if (splits.length > 4) {
- addressPartA = splits[4];
+ addressPartA = splits[4].replaceFirst("\\[", "");
}
//parse addressPartB
String addressPartB = null;
if (splits.length > 5) {
- addressPartB = splits[5];
+ addressPartB = splits[5].replaceFirst("/", "")
+ .replaceFirst("\\]", "");
}
//parse peer
@@ -56,7 +56,7 @@ class EntityParserImpl implements EntityParser {
//parse address next
String addressNext = null;
if (splits.length > 7) {
- addressNext = splits[7];
+ addressNext = splits[7].replaceFirst("/", "");
}
//parse direction
String direction = null;
@@ -71,10 +71,7 @@ class EntityParserImpl implements EntityParser {
communication = ComParserFactory.createComParser().parse(inputSup);
}
- if (date != null && time != null && logLevel != null && addressPartA != null && addressPartB != null && peer != null && addressNext != null && direction != null && communication != null) {
- entity = new Entity(date, time, logLevel, addressPartA, addressPartB, peer, addressNext, direction, communication);
- }
-
- return entity;
+ return new Entity(date, time, logLevel, addressPartA, addressPartB, peer,
+ addressNext, direction, communication);
}
}
diff --git a/src/main/java/de/swingbe/ifleet/parser/HeaderParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/HeaderParserImpl.java
index 8122ad9..d1cbe8e 100644
--- a/src/main/java/de/swingbe/ifleet/parser/HeaderParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/HeaderParserImpl.java
@@ -13,20 +13,14 @@ class HeaderParserImpl implements HeaderParser {
public Header parse(final String input) {
- Header header = null;
Sender sender;
- Receiver receiver;
//parse Sender
sender = SenderParserFactory.createSenderParser().parse(input);
//parse Receiver
String inputPop = popFieldFromCom(input, 2);
- receiver = ReceiverParserFactory.createReceiverParser().parse(inputPop);
- if (sender != null && receiver != null) {
- header = new Header(sender, receiver);
- }
- return header;
+ return new Header(sender, ReceiverParserFactory.createReceiverParser().parse(inputPop));
}
}
diff --git a/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java
index ed846e3..4a13d3f 100644
--- a/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/LocationMsgParserImpl.java
@@ -1,20 +1,10 @@
package de.swingbe.ifleet.parser;
import de.swingbe.ifleet.model.LocationMessage;
-import de.swingbe.ifleet.model.Position;
class LocationMsgParserImpl implements LocationMsgParser {
public LocationMessage parse(String input) {
-
- LocationMessage locationMessage = null;
-
- Position position = PositionParserFactory.createPositionParser().parse(input);
- if (position != null) {
- locationMessage = new LocationMessage(position);
- }
-
- return locationMessage;
-
+ return new LocationMessage(PositionParserFactory.createPositionParser().parse(input));
}
}
diff --git a/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java
index f187ab9..dc3380d 100644
--- a/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/PositionParserImpl.java
@@ -21,41 +21,47 @@ public class PositionParserImpl implements PositionParser {
//parse NetPoint
//parse RelPosition
//parse lat
- String lat = null;
+ String lat = "";
if (splits.length > 2) {
lat = splits[2];
+ } else {
+ LOG.warn("lat unavailable");
}
//parse lon
- String lon = null;
+ String lon = "";
if (splits.length > 3) {
lon = splits[3];
+ } else {
+ LOG.warn("lon unavailable");
}
//parse vel
- String vel = null;
+ String vel = "";
if (splits.length > 4) {
vel = splits[4];
+ } else {
+ LOG.warn("vel unavailable");
}
//parse hdg
- String hdg = null;
+ String hdg = "";
if (splits.length > 5) {
hdg = splits[5];
+ } else {
+ LOG.warn("hdg unavailable");
}
- if (lat != null && lon != null && vel != null && hdg != null) {
- boolean latIsNumeric = isNumeric(lat);
- boolean lonIsNumeric = isNumeric(lon);
- boolean velIsNumeric = isNumeric(vel);
- boolean hdgIsNumeric = isNumeric(hdg);
+ boolean latIsNumeric = isNumeric(lat);
+ boolean lonIsNumeric = isNumeric(lon);
+ boolean velIsNumeric = isNumeric(vel);
+ boolean hdgIsNumeric = isNumeric(hdg);
- if (latIsNumeric && lonIsNumeric && velIsNumeric && hdgIsNumeric) {
- try {
- position = new Position(Long.parseLong(lat), Long.parseLong(lon), Integer.parseInt(vel), Integer.parseInt(hdg));
- } catch (NumberFormatException e) {
- LOG.error("parsing position failed, message: " + e.getMessage() + ", trace: " + Arrays.toString(e.getStackTrace()));
- }
+ if (latIsNumeric && lonIsNumeric && velIsNumeric && hdgIsNumeric) {
+ try {
+ position = new Position(Long.parseLong(lat), Long.parseLong(lon), Integer.parseInt(vel), Integer.parseInt(hdg));
+ } catch (NumberFormatException e) {
+ LOG.error("parsing position failed, message: " + e.getMessage() + ", trace: " + Arrays.toString(e.getStackTrace()));
}
}
return position;
diff --git a/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java
index 2ef98bd..b0ba401 100644
--- a/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/TelegramHdrParserImpl.java
@@ -47,9 +47,12 @@ class TelegramHdrParserImpl implements TelegramHdrParser {
if (typeIsNumeric && idIsNumeric) {
try {
- teleHeader = new TelegramHdr(Integer.parseInt(type), version, Integer.parseInt(id));
+ teleHeader = new TelegramHdr(Integer.parseInt(type), version,
+ Integer.parseInt(id));
} catch (NumberFormatException e) {
- LOG.error("parsing telegram header failed, message: " + e.getMessage() + ", trace: " + Arrays.toString(e.getStackTrace()));
+ LOG.error("parsing telegram header failed, message: "
+ + e.getMessage() + ", trace: "
+ + Arrays.toString(e.getStackTrace()));
}
}
}
diff --git a/src/main/java/de/swingbe/ifleet/parser/TelegramParserImpl.java b/src/main/java/de/swingbe/ifleet/parser/TelegramParserImpl.java
index d357d4d..987da9d 100644
--- a/src/main/java/de/swingbe/ifleet/parser/TelegramParserImpl.java
+++ b/src/main/java/de/swingbe/ifleet/parser/TelegramParserImpl.java
@@ -1,6 +1,5 @@
package de.swingbe.ifleet.parser;
-import de.swingbe.ifleet.model.LocationMessage;
import de.swingbe.ifleet.model.Telegram;
import de.swingbe.ifleet.model.TelegramHdr;
@@ -13,17 +12,12 @@ class TelegramParserImpl implements TelegramParser {
public Telegram parse(final String input) {
- Telegram telegram = null;
TelegramHdr teleHeader = TelegramHdrParserFactory.createTelegramHdrParser().parse(input);
String inputNew = popFieldFromCom(input, 3);
- LocationMessage locationMessage = LocationMsgParserFactory.createLocationMsgParer().parse(inputNew);
-
- if (teleHeader != null && locationMessage != null) {
- telegram = new Telegram(teleHeader, locationMessage);
- }
- return telegram;
+ return new Telegram(teleHeader,
+ LocationMsgParserFactory.createLocationMsgParer().parse(inputNew));
}
}