kopia lustrzana https://github.com/bertrik/ttnhabbridge
Convert ListenerDoc from Date to Java8 time.
rodzic
fc23c84965
commit
24f5ea7a94
|
@ -4,6 +4,7 @@ import java.io.File;
|
|||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -103,7 +104,7 @@ public final class TtnHabBridge {
|
|||
final String line = sentence.format();
|
||||
|
||||
// collect list of listeners
|
||||
final Date now = new Date();
|
||||
final Instant now = Instant.now();
|
||||
final List<HabReceiver> receivers = new ArrayList<>();
|
||||
for (TtnMessageGateway gw : message.getMetaData().getMqttGateways()) {
|
||||
final String gwName = gw.getId();
|
||||
|
@ -112,13 +113,13 @@ public final class TtnHabBridge {
|
|||
receivers.add(receiver);
|
||||
|
||||
// send listener data only if it has a valid location and hasn't been sent recently
|
||||
if (gwLocation.isValid() && gwCache.add(gwName, now)) {
|
||||
if (gwLocation.isValid() && gwCache.add(gwName, Date.from(now))) {
|
||||
habUploader.scheduleListenerDataUpload(receiver, now);
|
||||
}
|
||||
}
|
||||
|
||||
// send payload telemetry data
|
||||
habUploader.schedulePayloadTelemetryUpload(line, receivers, now.toInstant());
|
||||
habUploader.schedulePayloadTelemetryUpload(line, receivers, now);
|
||||
} catch (IOException e) {
|
||||
LOG.warn("JSON unmarshalling exception '{}' for {}", e.getMessage(), textMessage);
|
||||
} catch (DecodeException e) {
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.security.NoSuchAlgorithmException;
|
|||
import java.time.Instant;
|
||||
import java.util.Base64;
|
||||
import java.util.Base64.Encoder;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
@ -149,19 +148,19 @@ public final class HabitatUploader {
|
|||
* Schedules new listener data to be sent to habitat.
|
||||
*
|
||||
* @param receiver the receiver data
|
||||
* @param date the current date
|
||||
* @param instant the current date/time
|
||||
*/
|
||||
public void scheduleListenerDataUpload(HabReceiver receiver, Date date) {
|
||||
executor.submit(() -> uploadListener(receiver, date));
|
||||
public void scheduleListenerDataUpload(HabReceiver receiver, Instant instant) {
|
||||
executor.submit(() -> uploadListener(receiver, instant));
|
||||
}
|
||||
|
||||
/**
|
||||
* Uploads listener data (information and telemetry)
|
||||
*
|
||||
* @param receiver the receiver/listener
|
||||
* @param date the current date
|
||||
* @param instant the current date/time
|
||||
*/
|
||||
private void uploadListener(HabReceiver receiver, Date date) {
|
||||
private void uploadListener(HabReceiver receiver, Instant instant) {
|
||||
LOG.info("Upload listener data for {}", receiver);
|
||||
try {
|
||||
// get two uuids
|
||||
|
@ -173,13 +172,13 @@ public final class HabitatUploader {
|
|||
|
||||
// upload payload listener info
|
||||
LOG.info("Upload listener info using UUID {}...", uuids.get(0));
|
||||
final ListenerInformationDoc info = new ListenerInformationDoc(date, receiver);
|
||||
final ListenerInformationDoc info = new ListenerInformationDoc(instant, receiver);
|
||||
final UploadResult infoResult = restClient.uploadDocument(uuids.get(0), info.format());
|
||||
LOG.info("Result listener info: {}", infoResult);
|
||||
|
||||
// upload payload telemetry
|
||||
LOG.info("Upload listener telemetry using UUID {}...", uuids.get(1));
|
||||
final ListenerTelemetryDoc telem = new ListenerTelemetryDoc(date, receiver);
|
||||
final ListenerTelemetryDoc telem = new ListenerTelemetryDoc(instant, receiver);
|
||||
final UploadResult telemResult = restClient.uploadDocument(uuids.get(1), telem.format());
|
||||
LOG.info("Result listener telemetry: {}", telemResult);
|
||||
} else {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package nl.sikken.bertrik.hab.habitat.docs;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||
|
@ -14,20 +14,21 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|||
*/
|
||||
public abstract class ListenerDoc {
|
||||
|
||||
private final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.US);
|
||||
// private final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.US);
|
||||
private final DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
|
||||
private final JsonNodeFactory factory = new JsonNodeFactory(false);
|
||||
|
||||
private final Date date;
|
||||
private final OffsetDateTime date;
|
||||
private final String type;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param date the creation/upload date
|
||||
* @param instant the creation/upload date
|
||||
* @param type the document type
|
||||
*/
|
||||
protected ListenerDoc(Date date, String type) {
|
||||
protected ListenerDoc(Instant instant, String type) {
|
||||
this.type = type;
|
||||
this.date = date;
|
||||
this.date = OffsetDateTime.ofInstant(instant, ZoneId.systemDefault());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package nl.sikken.bertrik.hab.habitat.docs;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
import java.util.Locale;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
@ -23,11 +23,11 @@ public final class ListenerInformationDoc extends ListenerDoc {
|
|||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param date the creation/upload date
|
||||
* @param instant the creation/upload date
|
||||
* @param receiver the HAB receiver
|
||||
*/
|
||||
public ListenerInformationDoc(Date date, HabReceiver receiver) {
|
||||
super(date, "listener_information");
|
||||
public ListenerInformationDoc(Instant instant, HabReceiver receiver) {
|
||||
super(instant, "listener_information");
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package nl.sikken.bertrik.hab.habitat.docs;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
@ -19,11 +19,11 @@ public final class ListenerTelemetryDoc extends ListenerDoc {
|
|||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param date the creation/upload date
|
||||
* @param instant the creation/upload date
|
||||
* @param receiver the receiver info
|
||||
*/
|
||||
public ListenerTelemetryDoc(Date date, HabReceiver receiver) {
|
||||
super(date, "listener_telemetry");
|
||||
public ListenerTelemetryDoc(Instant instant, HabReceiver receiver) {
|
||||
super(instant, "listener_telemetry");
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@ package nl.sikken.bertrik.hab.habitat;
|
|||
|
||||
import java.time.Instant;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
@ -61,9 +60,9 @@ public final class HabitatUploaderTest {
|
|||
uploader.start();
|
||||
try {
|
||||
final HabReceiver receiver = new HabReceiver("BERTRIK", LOCATION);
|
||||
final Date date = new Date();
|
||||
final Instant instant = Instant.now();
|
||||
|
||||
uploader.scheduleListenerDataUpload(receiver, date);
|
||||
uploader.scheduleListenerDataUpload(receiver, instant);
|
||||
|
||||
// expect two documents
|
||||
Mockito.verify(restClient, Mockito.timeout(3000).times(2)).uploadDocument(Mockito.anyString(),
|
||||
|
@ -106,9 +105,9 @@ public final class HabitatUploaderTest {
|
|||
final IHabitatRestApi restClient = HabitatUploader.newRestClient("http://habitat.habhub.org", 3000);
|
||||
final HabitatUploader uploader = new HabitatUploader(restClient);
|
||||
try {
|
||||
final Date date = new Date();
|
||||
final Instant instant = Instant.now();
|
||||
final HabReceiver receiver = new HabReceiver("BERTRIK", new Location(52.0182307, 4.695772, 15.0));
|
||||
uploader.scheduleListenerDataUpload(receiver, date);
|
||||
uploader.scheduleListenerDataUpload(receiver, instant);
|
||||
Thread.sleep(3000);
|
||||
} finally {
|
||||
uploader.stop();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package nl.sikken.bertrik.hab.habitat.docs;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
@ -18,9 +18,9 @@ public final class ListenerInfoDocTest {
|
|||
*/
|
||||
@Test
|
||||
public void testFormat() {
|
||||
final Date date = new Date();
|
||||
final Instant instant = Instant.now();
|
||||
final HabReceiver receiver = new HabReceiver("BERTRIK", new Location(52.0162, 4.4753, 0.0));
|
||||
final ListenerInformationDoc doc = new ListenerInformationDoc(date, receiver);
|
||||
final ListenerInformationDoc doc = new ListenerInformationDoc(instant, receiver);
|
||||
final String json = doc.format();
|
||||
|
||||
Assert.assertNotNull(json);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package nl.sikken.bertrik.hab.habitat.docs;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
@ -18,9 +18,9 @@ public final class ListenerTelemetryDocTest {
|
|||
*/
|
||||
@Test
|
||||
public void testFormat() {
|
||||
final Date date = new Date();
|
||||
final Instant instant = Instant.now();
|
||||
final HabReceiver receiver = new HabReceiver("BERTRIK", new Location(1.23, 4.56, 7.8));
|
||||
final ListenerTelemetryDoc doc = new ListenerTelemetryDoc(date, receiver);
|
||||
final ListenerTelemetryDoc doc = new ListenerTelemetryDoc(instant, receiver);
|
||||
final String json = doc.format();
|
||||
|
||||
Assert.assertNotNull(json);
|
||||
|
|
Ładowanie…
Reference in New Issue