From 76d9b739f6cb78c70f0392e7df5945e1d8b00ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20S=C3=A1nchez?= Date: Sun, 13 Apr 2025 09:41:58 -0300 Subject: [PATCH] handle empty orders --- .../example/dcav2gui/InstanceInterface.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/dcav2gui/InstanceInterface.java b/app/src/main/java/com/example/dcav2gui/InstanceInterface.java index 89f8ae0..eda1286 100644 --- a/app/src/main/java/com/example/dcav2gui/InstanceInterface.java +++ b/app/src/main/java/com/example/dcav2gui/InstanceInterface.java @@ -650,10 +650,20 @@ public class InstanceInterface { double price = value.has("price") && value.get("price").isJsonPrimitive() ? value.get("price").getAsDouble() : 0.0; double takeProfitPrice = value.has("take_profit_price") && value.get("take_profit_price").isJsonPrimitive() ? value.get("take_profit_price").getAsDouble() : 0.0; double nextSoPrice = value.has("next_so_price") && value.get("next_so_price").isJsonPrimitive() ? value.get("next_so_price").getAsDouble() : 0.0; - JsonObject takeProfitOrder = value.get("take_profit_order").getAsJsonObject(); - JsonObject safetyOrder = value.get("safety_order").getAsJsonObject(); - String tpOrderId = takeProfitOrder.has("id") && takeProfitOrder.get("id").isJsonPrimitive() ? takeProfitOrder.get("id").getAsString() : null; - String safetyOrderId = safetyOrder.has("id") && safetyOrder.get("id").isJsonPrimitive() ? safetyOrder.get("id").getAsString() : null; + JsonObject takeProfitOrder = null; + String tpOrderId = ""; + JsonObject safetyOrder = null; + String safetyOrderId = ""; + JsonElement takeProfitOrderElement = value.get("take_profit_order"); + if (takeProfitOrderElement!=null && !takeProfitOrderElement.isJsonNull() && takeProfitOrderElement.isJsonObject()) { + takeProfitOrder = takeProfitOrderElement.getAsJsonObject(); + tpOrderId = takeProfitOrder.has("id") && takeProfitOrder.get("id").isJsonPrimitive() ? takeProfitOrder.get("id").getAsString() : ""; + } + JsonElement safetyOrderElement = value.get("safety_order"); + if (safetyOrderElement!=null && !safetyOrderElement.isJsonNull() && safetyOrderElement.isJsonObject()) { + safetyOrder = safetyOrderElement.getAsJsonObject(); + safetyOrderId = safetyOrder.has("id") && safetyOrder.get("id").isJsonPrimitive() ? safetyOrder.get("id").getAsString() : ""; + } double feesPaidInBase = value.has("fees_paid_in_base") && value.get("fees_paid_in_base").isJsonPrimitive() ? value.get("fees_paid_in_base").getAsDouble() : 0.0; double feesPaidInQuote = value.has("fees_paid_in_quote") && value.get("fees_paid_in_quote").isJsonPrimitive() ? value.get("fees_paid_in_quote").getAsDouble() : 0.0; double partialProfit = value.has("partial_profit") && value.get("partial_profit").isJsonPrimitive() ? value.get("partial_profit").getAsDouble() : 0.0;