From 8f5520735e2503b10b314ba7bcf70b03ec087567 Mon Sep 17 00:00:00 2001 From: graefjk Date: Thu, 28 Sep 2023 18:03:57 +0200 Subject: [PATCH 1/4] suppressed exception when selecting a despawining entity --- .../fius/icge/simulation/inspection/InspectionData.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java index 2af9fe1bc..db7260c14 100644 --- a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java +++ b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java @@ -59,8 +59,10 @@ public Object getAttributeValue(final Object obj, final String name) { if (p != null) { try { return p.getValue(obj); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + } catch (IllegalAccessException | IllegalArgumentException e) { + // TODO Auto-generated catch block e.printStackTrace(); + } catch (InvocationTargetException e) { } } return null; From 77595ef60ed78c7ce66f2493516198bc1390e9a7 Mon Sep 17 00:00:00 2001 From: graefjk Date: Thu, 28 Sep 2023 18:04:51 +0200 Subject: [PATCH 2/4] fixed null pointer exception --- .../icge/simulation/internal/StandardSimulationProxy.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java index f96465de0..d6fa91e28 100644 --- a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java +++ b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java @@ -325,7 +325,11 @@ private EntityInspectorEntry[] getEntries(final Entity e) { type = "readonly_string"; } //TODO: this.inspectionManager.getAttributeType(e, name) - final String value = this.inspectionManager.getAttributeValue(e, name).toString(); + final Object valueObject = this.inspectionManager.getAttributeValue(e, name); + String value = "N/A"; + if (valueObject != null) { + value = valueObject.toString(); + } result.add(new EntityInspectorEntry(name, type, value, newValue -> { this.inspectionManager.setAttributeValue(e, name, newValue); this.playfield.drawEntities(); From 76665dc594392032bdd285e5265df364b95f564f Mon Sep 17 00:00:00 2001 From: graefjk Date: Fri, 29 Sep 2023 18:34:36 +0200 Subject: [PATCH 3/4] changed "N/A" to "null" --- .../fius/icge/simulation/internal/StandardSimulationProxy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java index d6fa91e28..bdc883a0c 100644 --- a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java +++ b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/internal/StandardSimulationProxy.java @@ -326,7 +326,7 @@ private EntityInspectorEntry[] getEntries(final Entity e) { } //TODO: this.inspectionManager.getAttributeType(e, name) final Object valueObject = this.inspectionManager.getAttributeValue(e, name); - String value = "N/A"; + String value = "null"; if (valueObject != null) { value = valueObject.toString(); } From a4150836cbcc42e25b48e4f49c9e5f41da117559 Mon Sep 17 00:00:00 2001 From: graefjk Date: Fri, 29 Sep 2023 18:35:05 +0200 Subject: [PATCH 4/4] added comment explaining suppressed exception --- .../fius/icge/simulation/inspection/InspectionData.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java index db7260c14..c20f43d84 100644 --- a/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java +++ b/ICGE-Simulation/src/main/java/de/unistuttgart/informatik/fius/icge/simulation/inspection/InspectionData.java @@ -63,6 +63,7 @@ public Object getAttributeValue(final Object obj, final String name) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { + // InvocationTargetException is suppressed to prevent crashes from methods that throw an exception when the value is null, e.g. getPosition(); } } return null;