From a7d5b5ed9ac0f09204332378cea1146294a7d2ed Mon Sep 17 00:00:00 2001 From: Alan Birchler De Allende <alan.birchler@telecom-paris.fr> Date: Thu, 11 Apr 2024 11:41:22 +0200 Subject: [PATCH] Fixed AT drawing functionality from AT class so that the diagrams include what the root attack is, the descriptions of each attack node, and the type of AttackNode. --- src/main/java/attacktrees/AttackNode.java | 2 ++ src/main/java/ui/atd/ATDAttack.java | 2 ++ src/main/java/ui/atd/AttackTreeDiagramPanel.java | 13 ++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/attacktrees/AttackNode.java b/src/main/java/attacktrees/AttackNode.java index ffcf9e0b1b..7ef3122672 100644 --- a/src/main/java/attacktrees/AttackNode.java +++ b/src/main/java/attacktrees/AttackNode.java @@ -91,6 +91,8 @@ public abstract class AttackNode extends AttackElement { return inputValues; } + public String getType() { return type; } + public void addInputAttack(Attack _attack, Integer _val) { inputAttacks.add(_attack); inputValues.add(_val); diff --git a/src/main/java/ui/atd/ATDAttack.java b/src/main/java/ui/atd/ATDAttack.java index 4815e58ca9..4e2350d709 100644 --- a/src/main/java/ui/atd/ATDAttack.java +++ b/src/main/java/ui/atd/ATDAttack.java @@ -455,6 +455,8 @@ CanBeDisabled*/ { return isRootAttack; } + public void setIsRootAttack(boolean bool) { isRootAttack = bool; } + public void wasUnswallowed() { setFather(null); TDiagramPanel tdp = getTDiagramPanel(); diff --git a/src/main/java/ui/atd/AttackTreeDiagramPanel.java b/src/main/java/ui/atd/AttackTreeDiagramPanel.java index e7bdd1d97d..cbfe3ac9b6 100644 --- a/src/main/java/ui/atd/AttackTreeDiagramPanel.java +++ b/src/main/java/ui/atd/AttackTreeDiagramPanel.java @@ -203,6 +203,13 @@ public class AttackTreeDiagramPanel extends TDiagramPanel implements TDPWithAttr // We draw the attack ATDAttack attack = new ATDAttack(_x, _y, getMinX(), getMaxX(), getMinY(), getMaxY(), true, null, this); attack.setValue(_att.getName()); + attack.setIsRootAttack(_att.isRoot()); + + String attackDesc = _att.getDescription(); + if (!attackDesc.isEmpty()) { + attack.setDescription(attackDesc); + } + addBuiltComponent(attack); _mapOfComponents.put(_att, attack); @@ -246,7 +253,11 @@ public class AttackTreeDiagramPanel extends TDiagramPanel implements TDPWithAttr // We create the ATDConstraint _y = _y + 70; ATDConstraint constraint = new ATDConstraint(_x, _y, getMinX(), getMaxX(), getMinY(), getMaxY(), true, null, this); - constraint.setValue(nextNode.getName()); + + String contraintType = "<<" + nextNode.getType() + ">>"; + constraint.setValue(contraintType); + + addBuiltComponent(constraint); _mapOfComponents.put(nextNode, constraint); -- GitLab