Skip to content

Commit

Permalink
refactor: use records, other language features
Browse files Browse the repository at this point in the history
  • Loading branch information
MrExplode committed Jul 16, 2024
1 parent 693e05c commit 43d097b
Show file tree
Hide file tree
Showing 16 changed files with 29 additions and 62 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ shadowJar {
archiveClassifier.set('')
manifest {
attributes(
'Main-Class': 'me.sunstorm.showmanager.Loader'
'Main-Class': 'me.sunstorm.showmanager.Bootstrap'
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Loader {
public class Bootstrap {

public static void main(String[] args) {
log.info("Loading ShowManager...");
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/me/sunstorm/showmanager/Worker.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public void run() {
if (playing) {
elapsed = time - start;
}
dmxRemote.handleData(artNetModule.getData(dmxRemote.getAddress().getSubnet(), dmxRemote.getAddress().getUniverse()));
dmxRemote.handleData(artNetModule.getData(dmxRemote.getAddress().subnet(), dmxRemote.getAddress().universe()));

if (playing) {
currentTime.set(elapsed);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ public void unregister(Listener listener) {

@Override
public void handleMessage(EventWrapper message) {
if (message.isAsync()) {
if (message.getEvent() instanceof CancellableEvent) {
log.error("[EventHandler] Called cancellable event (" + message.getEvent().getClass().getSimpleName() + ") asynchronously");
if (message.async()) {
if (message.event() instanceof CancellableEvent) {
log.error("[EventHandler] Called cancellable event (" + message.event().getClass().getSimpleName() + ") asynchronously");
} else {
executor.execute(() -> executeEvent(message.getEvent()));
executor.execute(() -> executeEvent(message.event()));
}
} else {
executeEvent(message.getEvent());
executeEvent(message.event());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ public class EventConverter implements Converter<EventWrapper> {
@Override
public byte[] encode(@NotNull EventWrapper message) {
JsonObject object = new JsonObject();
object.addProperty("id", message.getId());
object.addProperty("async", message.isAsync());
object.add("event", Constants.GSON.toJsonTree(message.getEvent()));
object.addProperty("id", message.id());
object.addProperty("async", message.async());
object.add("event", Constants.GSON.toJsonTree(message.event()));
return object.toString().getBytes(StandardCharsets.UTF_8);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
package me.sunstorm.showmanager.eventsystem.registry;

import lombok.AllArgsConstructor;
import lombok.Getter;
import me.sunstorm.showmanager.eventsystem.events.Event;

@Getter
@AllArgsConstructor
public class EventWrapper {
private final int id;
private final boolean async;
private final Event event;
public record EventWrapper(int id, boolean async, Event event) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class AudioModule extends Module {
public AudioModule() {
super("audio-player");
init();
if (tracks.size() > 0) {
if (!tracks.isEmpty()) {
current = tracks.get(index).loadTrack(mixer);
}
}
Expand Down Expand Up @@ -67,7 +67,7 @@ public void onTimeStop(TimecodeStopEvent e) {
current.discard();
}
index = 0;
if (tracks.size() > 0) {
if (!tracks.isEmpty()) {
current = tracks.get(index).loadTrack(mixer);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public void handleMessage(@NotNull WsMessageContext ctx) {
@EventCall
public void onTimeChange(TimecodeChangeEvent e) {
//slow down the ws dispatch
if (wsClients.size() == 0 || (lastDispatchedTime != null && e.getTime().millis() - lastDispatchedTime.millis() < 10)) return;
if (wsClients.isEmpty() || (lastDispatchedTime != null && e.getTime().millis() - lastDispatchedTime.millis() < 10)) return;
JsonObject data = new JsonObject();
Timecode time = e.getTime();
data.addProperty("type", "time");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public void handlePacket(OSCPacketEvent event) {

if (recording && worker.isPlaying()) {
OSCMessage message = (OSCMessage) event.getPacket();
Object property = message.getArguments() == null ? null : (message.getArguments().size() > 0 ? message.getArguments().get(0) : null);
Object property = message.getArguments() == null ? null : (!message.getArguments().isEmpty() ? message.getArguments().get(0) : null);
if (!recordCache.containsKey(message.getAddress()) && recordCache.get(message.getAddress()) != property) {
System.out.println("adding: " + message.getAddress() + " stuff: " + message.getArguments().toString());
scheduler.addEvent(new ScheduledOscEvent(worker.getCurrentTime(), new OSCMessage(message.getAddress(), message.getArguments())));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void handleData(byte[] dmxData) {
state = DmxRemoteState.DISABLED;
return;
}
byte value = dmxData[address.getAddress() - 1];
byte value = dmxData[address.address() - 1];
if (inToleratedRange(25, value)) {
state = DmxRemoteState.FORCE_IDLE;
if (state != previousState) {
Expand Down Expand Up @@ -93,9 +93,9 @@ private boolean inToleratedRange(int origin, byte value) {
public JsonObject getData() {
JsonObject data = new JsonObject();
data.addProperty("enabled", enabled);
data.addProperty("address", address.getAddress());
data.addProperty("universe", address.getUniverse());
data.addProperty("subnet", address.getSubnet());
data.addProperty("address", address.address());
data.addProperty("universe", address.universe());
data.addProperty("subnet", address.subnet());
return data;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ private void startSendThread() {
while (true) {
try (Jedis jedis = jedisPool.getResource()) {
Tuple<byte[], byte[]> data = sendQueue.take();
jedis.publish(data.getFirst(), data.getSecond());
jedis.publish(data.first(), data.second());
} catch (InterruptedException e) {
log.error("SendQueue wait interrupted", e);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
package me.sunstorm.showmanager.settings;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

import java.net.InetAddress;

@Getter
@ToString
@AllArgsConstructor
public class InetData {
private final String name;
private final InetAddress address;
public record InetData(String name, InetAddress address) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public static void addTerminable(@NotNull Class<? extends StaticTerminable> stat
} catch (IllegalAccessException e) {
return null;
}
}).filter(Objects::nonNull).collect(Collectors.toList());
}).filter(Objects::nonNull).toList();
terminations.add(() -> {
for (MethodHandle methodHandle : list) {
methodHandle.invokeExact();
Expand Down
10 changes: 1 addition & 9 deletions core/src/main/java/me/sunstorm/showmanager/util/DmxAddress.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
package me.sunstorm.showmanager.util;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class DmxAddress {
private final int universe;
private final int subnet;
private final int address;
public record DmxAddress(int universe, int subnet, int address) {
}
9 changes: 1 addition & 8 deletions core/src/main/java/me/sunstorm/showmanager/util/Tuple.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
package me.sunstorm.showmanager.util;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class Tuple<K, V> {
private final K first;
private final V second;
public record Tuple<K, V>(K first, V second) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ void testDecode() {
EventWrapper excepted = new EventWrapper(5, false, new AudioVolumeChangeEvent(15));
EventConverter converter = new EventConverter();
assertThat(converter.decode(input.getBytes(StandardCharsets.UTF_8))).satisfies(w -> {
assertThat(w.getId()).as("event id").isEqualTo(excepted.getId());
assertThat(w.isAsync()).isEqualTo(excepted.isAsync());
assertThat(w.getEvent()).isNotNull().isInstanceOf(AudioVolumeChangeEvent.class);
assertThat(((AudioVolumeChangeEvent) w.getEvent()).getVolume()).isEqualTo(15);
assertThat(w.id()).as("event id").isEqualTo(excepted.id());
assertThat(w.async()).isEqualTo(excepted.async());
assertThat(w.event()).isNotNull().isInstanceOf(AudioVolumeChangeEvent.class);
assertThat(((AudioVolumeChangeEvent) w.event()).getVolume()).isEqualTo(15);
});
}
}

0 comments on commit 43d097b

Please sign in to comment.