Skip to content

Commit

Permalink
fix failing tests and more
Browse files Browse the repository at this point in the history
  • Loading branch information
xspanger3770 committed Oct 22, 2023
1 parent 78466f7 commit 5edde1d
Show file tree
Hide file tree
Showing 10 changed files with 9 additions and 58 deletions.
4 changes: 2 additions & 2 deletions GlobalQuakeServer/globalQuake.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#Fun fact: I've never felt an earthquake in my life
#Sun Oct 22 15:18:52 CEST 2023
#Sun Oct 22 15:35:13 CEST 2023
displayTime=true
oldEventsOpacity=100.0
stationIntensityVisibilityZoomLevel=0.2
Expand All @@ -15,8 +15,8 @@ alertRegion=true
alertGlobalMag=6.0
selectedDateFormatIndex=0
intensityScaleIndex=0
alertRegionMag=3.5
reduceRevisions=true
alertRegionMag=3.5
selectedEventColorIndex=0
alertLocalDist=200.0
use24HFormat=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -840,10 +840,8 @@ private PreliminaryHypocenter toPreliminary(Hypocenter previousHypocenter) {
}

private void updateHypocenter(Cluster cluster, Hypocenter bestHypocenter) {
Earthquake newEarthquake = new Earthquake(cluster, bestHypocenter.lat, bestHypocenter.lon, bestHypocenter.depth,
bestHypocenter.origin);

if (cluster.getEarthquake() == null) {
Earthquake newEarthquake = new Earthquake(cluster);
if (!testing) {
if (GlobalQuakeServer.instance != null) {
GlobalQuakeServer.instance.getEventHandler().fireEvent(new QuakeCreateEvent(newEarthquake));
Expand All @@ -853,7 +851,7 @@ private void updateHypocenter(Cluster cluster, Hypocenter bestHypocenter) {
}
cluster.setEarthquake(newEarthquake);
} else {
cluster.getEarthquake().update(newEarthquake);
cluster.getEarthquake().update();

if (GlobalQuakeServer.instance != null) {
GlobalQuakeServer.instance.getEventHandler().fireEvent(new QuakeUpdateEvent(cluster.getEarthquake(), cluster.getPreviousHypocenter()));
Expand All @@ -869,7 +867,6 @@ private void updateHypocenter(Cluster cluster, Hypocenter bestHypocenter) {

if(!testing && earthquake != null){
earthquake.uppdateRegion();
earthquake.updateShakemap(bestHypocenter);
}
}

Expand Down
26 changes: 2 additions & 24 deletions src/main/java/gqserver/core/earthquake/data/Earthquake.java
Original file line number Diff line number Diff line change
@@ -1,40 +1,32 @@
package gqserver.core.earthquake.data;

import gqserver.core.GlobalQuakeServer;
import gqserver.core.alert.Warnable;
import gqserver.events.specific.ShakeMapCreatedEvent;
import gqserver.intensity.ShakeMap;
import gqserver.regions.RegionUpdater;
import gqserver.regions.Regional;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Earthquake implements Regional, Warnable {

private final ExecutorService shakemapExecutor;
private final UUID uuid;
private long lastUpdate;
private final Cluster cluster;
public int nextReportEventCount;
private String region;

private final RegionUpdater regionUpdater;
volatile private ShakeMap shakemap;
private double lastLat;
private double lastLon;

public Earthquake(Cluster cluster, double lat, double lon, double depth, long origin) {
public Earthquake(Cluster cluster) {
this.uuid = UUID.randomUUID();
this.cluster = cluster;
this.regionUpdater = new RegionUpdater(this);

this.lastUpdate = System.currentTimeMillis();
shakemapExecutor = Executors.newSingleThreadExecutor();
}

public void uppdateRegion(){
Expand Down Expand Up @@ -80,7 +72,7 @@ public long getOrigin() {
return hyp == null ? 0L : hyp.origin;
}

public void update(Earthquake newEarthquake) {
public void update() {
if (getLat() != lastLat || getLon() != lastLon) {
regionUpdater.updateRegion();
}
Expand Down Expand Up @@ -132,20 +124,6 @@ public double getWarningLon() {
return getLon();
}

public void updateShakemap(Hypocenter hypocenter) {
shakemapExecutor.submit(() -> {
double mag = hypocenter.magnitude;
shakemap = new ShakeMap(hypocenter, mag < 5.2 ? 6 : mag < 6.4 ? 5 : mag < 8.5 ? 4 : 3);
if(GlobalQuakeServer.instance != null) {
GlobalQuakeServer.instance.getEventHandler().fireEvent(new ShakeMapCreatedEvent(Earthquake.this));
}
});
}

public ShakeMap getShakemap() {
return shakemap;
}

public LocalDateTime getOriginDate() {
return Instant.ofEpochMilli(getOrigin()).atZone(ZoneId.systemDefault()).toLocalDateTime();
}
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/gqserver/ui/server/ServerStatusPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public class ServerStatusPanel extends JPanel {
Expand Down
1 change: 0 additions & 1 deletion src/main/java/gqserver/ui/server/tabs/ClientsTab.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package gqserver.ui.server.tabs;

import gqserver.api.ServerClient;
import gqserver.core.GlobalQuakeServer;
import gqserver.events.GlobalQuakeEventAdapter;
import gqserver.events.specific.ClientJoinedEvent;
Expand Down
1 change: 0 additions & 1 deletion src/main/java/gqserver/ui/server/tabs/ClustersTab.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gqserver.ui.server.tabs;

import gqserver.core.GlobalQuakeServer;
import gqserver.core.earthquake.data.Cluster;
import gqserver.ui.server.table.GQTable;
import gqserver.ui.server.table.model.ClusterTableModel;

Expand Down
1 change: 0 additions & 1 deletion src/main/java/gqserver/ui/server/tabs/EarthquakesTab.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gqserver.ui.server.tabs;

import gqserver.core.GlobalQuakeServer;
import gqserver.core.earthquake.data.Earthquake;
import gqserver.events.GlobalQuakeEventAdapter;
import gqserver.events.specific.*;
import gqserver.ui.server.table.GQTable;
Expand Down
1 change: 0 additions & 1 deletion src/main/java/gqserver/ui/server/tabs/SeedlinksTab.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gqserver.ui.server.tabs;

import gqserver.core.GlobalQuakeServer;
import gqserver.database.SeedlinkNetwork;
import gqserver.ui.server.table.GQTable;
import gqserver.ui.server.table.model.SeedlinkStatusTableModel;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package gqserver.core.earthquake;

import gqserver.core.archive.EarthquakeArchive;
import gqserver.core.earthquake.data.Cluster;
import gqserver.core.earthquake.data.Earthquake;
import org.junit.Test;

Expand All @@ -20,7 +21,7 @@ public void testRaceCondition() {
for (int i = 0; i < 10000; i++) {
List<Integer> list = List.of(0, 1, 2, 3, 4);
list.parallelStream().forEach(integer -> {
Earthquake earthquake = new Earthquake(null, 0, 0, 0, r.nextLong());
Earthquake earthquake = new Earthquake(new Cluster(0));
earthquakeArchive.archiveQuake(earthquake);
n.incrementAndGet();
});
Expand Down
21 changes: 1 addition & 20 deletions src/test/java/gqserver/regions/RegionUpdaterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import gqserver.core.earthquake.data.Earthquake;
import org.junit.Test;

import java.io.IOException;

import static org.junit.Assert.*;

public class RegionUpdaterTest {
Expand All @@ -28,27 +26,10 @@ public void testBasicUpdate(){

@Test
public void testEarthquakeRegion(){
Earthquake earthquake = new Earthquake(null,50,17,10, System.currentTimeMillis());
Earthquake earthquake = new Earthquake(null);
assertNotNull(earthquake.getRegion());
}

@Test
public void testEarthquakeRegionUpdate(){
try {
Regions.init();
} catch (IOException e) {
throw new RuntimeException(e);
}
Earthquake earthquake = new Earthquake(null,50,17,10, System.currentTimeMillis());
String region1 = earthquake.getRegion();
Regions.awaitDownload();
Earthquake earthquake2 = new Earthquake(null,0,17,10, System.currentTimeMillis());
Regions.awaitDownload();
earthquake.update(earthquake2);
Regions.awaitDownload();
assertNotEquals(region1, earthquake.getRegion());
}

@Test
public void testArchivedEarthquakeRegion(){
ArchivedQuake archivedQuake = new ArchivedQuake(50,17,0,0,0);
Expand Down

0 comments on commit 5edde1d

Please sign in to comment.