From a5e5470c2bf9946126aa415d24f1a7fa567b36c2b684bc139e1017e2fa64900e Mon Sep 17 00:00:00 2001 From: Minimons Date: Sat, 27 Jun 2026 21:03:21 +0200 Subject: [PATCH] 20: Create new ResolvedPriceAlarm and resolve note --- .../jupiterperpsalarm/impl/ref/PriceAlarm.tjava | 14 ++++++++++++++ .../impl/ref/ResolvedPriceAlarm.tjava | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava index dba7508..88db3bf 100644 --- a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/PriceAlarm.tjava @@ -98,6 +98,20 @@ public final class PriceAlarm { private void trigger(OraclePrice price) { triggerCount++; lastTriggeredAt = Instant.now(); + + String note; + + try { + note = variableResolver.resolve(definition.note()); + } catch (RuntimeException exception) { + System.err.printf( + "Could not resolve note for alarm %d: %s%n", + definition.id(), + exception.getMessage() + ); + return; + } + action.trigger(price, definition); } diff --git a/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava new file mode 100644 index 0000000..b61b084 --- /dev/null +++ b/src/main/tjava/com/r35157/jupiterperpsalarm/impl/ref/ResolvedPriceAlarm.tjava @@ -0,0 +1,16 @@ +package com.r35157.jupiterperpsalarm.impl.ref; + +import com.r35157.jupiterperpsalarm.AlarmSeverity; +import java.math.BigDecimal; + +public record ResolvedPriceAlarm( + int id, + JupiterPerpsAsset asset, + PriceDirection direction, + BigDecimal target, + AlarmTrigger trigger, + ΩsecondsΩ triggerGracePeriod, + AlarmSeverity severity, + String note +) { +} \ No newline at end of file