DecentralizedAmateurPagingNetwork / Core

The DAPNET Core is the core application of DAPNET, responsible for handling transmitter clients, clustering, and providing the REST API.
https://www.afu.rwth-aachen.de/projekte/funkruf-pager-pocsag/funkrufmaster-2-0-dapnet
42 stars 11 forks source link

Neues Senderflag zur Erstellung von Abdeckungskarten #98

Closed dh3wr closed 7 years ago

dh3wr commented 7 years ago

@MarvinMenzerath und ich bauen gerade eine automatische Abdeckungsberechnungen der Senderreichweiten in die Kartendarstellung ein. Um nur geänderte Sender neu zu berechnen, wäre es schön ein WasChanged boolean flag bei den Sendereigenschaften zu haben. Von Core-Seite wird das bei jedem PUT auf true gesetzt. Wir brauchen dann eine einfache Methode, mit der das Berechnungsskript dies nach erfolgreicher Neu-Berechnung auf false setzen kann, ohne die anderen Eigeschaften des Senders kennen zu müssen oder diese zu verändern.

7h0ma5 commented 7 years ago

Wäre es nicht sinnvoller den Zeitpunkt der letzten Änderung eines Senders zu speichern? Bei der Abdeckungsberechnung kann man dann den Zeitpunkt der Berechnung mit abspeichern und dann später vergleichen, ob eine neue Berechnung notwendig ist.

dh3wr commented 7 years ago

ok, guter Vorschlag. Dann so. Und auf NTP hoffen :-)

Taronyu commented 7 years ago

An so etwas hatte ich jetzt auch eher gedacht. Ein "LastUpdate" Timestamp oder so.

dh3wr commented 7 years ago

ok, ist auch besser, dann muss nichts geändert werden.

dh3wr commented 7 years ago

ok, ich teste das mal auf einer Testinstallation und dann kann @MarvinMenzerath schon mal damit arbeiten. Wenn das läuft, dann machen wir ein neues Release und rollen das clusterweit aus.

Taronyu commented 7 years ago

Hat sich das eigentlich erledigt?

dh3wr commented 7 years ago

@MarvinMenzerath ist noch an der Implementierung dran. Wenn die fertig ist und geht, machen wir das hier zu. Ich denke aber schon.

dh3wr commented 7 years ago

Auch wenn der Code nicht danach aussieht:

Taronyu commented 7 years ago

Beim Update eines bestehenden Senders über die REST API wird bei jedem PUT das Datum gesetzt (TransmitterRessource.java:86): transmitter.setLastUpdate(Instant.now()); Ansonsten wird das Datum noch in der Methode updateTransmitterStatus() bei RpcListener.java:465 gesetzt, wobei das nur aus dem aktiven Transmitter übernommen wird. Die Methode wird wiederum nur vom TransmitterManager aufgerufen, der fast das Datum aber gar nicht an.

Hast du für den zweiten Punkt ein Beispiel?

Taronyu commented 7 years ago

Das Problem sollte nun behoben sein.

menzerath commented 7 years ago

Ja, sieht jetzt alles richtig aus :+1: