mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-04 03:13:49 +00:00
factored commonalitied between Expedition and SwissTiming UDP receivers
This commit is contained in:
1 parent
b880f8a51b
commit
3fd911764c
39 files changed
+460
-227
No files matched your search
@@ -5,5 +5,6 @@ Bundle-SymbolicName: com.sap.sailing.domain.swisstimingadapter
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: com.sap.sailing.domain
|
||||
Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.udpconnector
|
||||
Export-Package: com.sap.sailing.domain.swisstimingadapter
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter;
|
||||
|
||||
public class SwissTimingFormatException extends Exception {
|
||||
public class SwissTimingFormatException extends RuntimeException {
|
||||
private static final long serialVersionUID = -1210353206288437237L;
|
||||
|
||||
private final byte[] swissTimingMessage;
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter;
|
||||
|
||||
public interface SwissTimingListener {
|
||||
void received(SwissTimingMessage message);
|
||||
}
|
||||
+2
-1
@@ -3,8 +3,9 @@ package com.sap.sailing.domain.swisstimingadapter;
|
||||
import com.sap.sailing.domain.base.Position;
|
||||
import com.sap.sailing.domain.base.Speed;
|
||||
import com.sap.sailing.domain.base.TimePoint;
|
||||
import com.sap.sailing.udpconnector.UDPMessage;
|
||||
|
||||
public interface SwissTimingMessage {
|
||||
public interface SwissTimingMessage extends UDPMessage {
|
||||
String getRaceID();
|
||||
|
||||
int getPacketID();
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter;
|
||||
|
||||
import com.sap.sailing.udpconnector.UDPMessageListener;
|
||||
|
||||
public interface SwissTimingMessageListener extends UDPMessageListener<SwissTimingMessage> {
|
||||
}
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter;
|
||||
|
||||
import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingMessageParserImpl;
|
||||
import com.sap.sailing.udpconnector.UDPMessageParser;
|
||||
|
||||
public interface SwissTimingMessageParser {
|
||||
public interface SwissTimingMessageParser extends UDPMessageParser<SwissTimingMessage> {
|
||||
SwissTimingMessageParser INSTANCE = new SwissTimingMessageParserImpl();
|
||||
|
||||
SwissTimingMessage parse(byte[] message) throws SwissTimingFormatException;
|
||||
|
||||
+5
@@ -29,6 +29,11 @@ public class SwissTimingMessageImpl implements SwissTimingMessage {
|
||||
this.batteryPercent = batteryPercent;
|
||||
this.length = length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRaceID() {
|
||||
|
||||
+7
@@ -1,5 +1,7 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter.impl;
|
||||
|
||||
import java.net.DatagramPacket;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.base.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.base.impl.KilometersPerHourSpeedWithBearingImpl;
|
||||
@@ -84,4 +86,9 @@ public class SwissTimingMessageParserImpl implements SwissTimingMessageParser {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SwissTimingMessage parse(DatagramPacket p) throws SwissTimingFormatException {
|
||||
return parse(p.getData(), p.getOffset());
|
||||
}
|
||||
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.sap.sailing.domain.swisstimingadapter.impl;
|
||||
|
||||
import java.net.SocketException;
|
||||
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingMessage;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingMessageListener;
|
||||
import com.sap.sailing.udpconnector.UDPMessageParser;
|
||||
import com.sap.sailing.udpconnector.UDPReceiver;
|
||||
|
||||
public class SwissTimingUDPReceiverImpl extends UDPReceiver<SwissTimingMessage, SwissTimingMessageListener> {
|
||||
|
||||
private final SwissTimingMessageParserImpl parser;
|
||||
|
||||
public SwissTimingUDPReceiverImpl(int port) throws SocketException {
|
||||
super(port);
|
||||
parser = new SwissTimingMessageParserImpl();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UDPMessageParser<SwissTimingMessage> getParser() {
|
||||
return parser;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user