From 73f222e48b2f78f5ec6f39d492407aebefb955fb Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Fri, 22 Mar 2024 17:47:47 +0100 Subject: [PATCH] Addint toTextFormat for UCD and BD --- .../java/avatartranslator/AvatarBlock.java | 24 +++++++++++++++++ .../avatartranslator/AvatarSpecification.java | 26 +++++++++++++++++++ .../avatartranslator/AvatarStateMachine.java | 25 ++++++++++++++++++ src/main/java/ui/GTURTLEModeling.java | 8 +++++- 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/src/main/java/avatartranslator/AvatarBlock.java b/src/main/java/avatartranslator/AvatarBlock.java index c5dbcc7a2e..5d77ff1597 100644 --- a/src/main/java/avatartranslator/AvatarBlock.java +++ b/src/main/java/avatartranslator/AvatarBlock.java @@ -378,6 +378,30 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne return sb.toString(); } + public String toTextFormat() { + StringBuffer sb = new StringBuffer("block:" + getName() + " \n"); + if (getFather() != null) { + sb.append(" subblock of: " + getFather().getName() + "\n"); + } + for (AvatarAttribute attribute : attributes) { + sb.append(" attribute: " + attribute.toString() + "\n"); + } + for (AvatarMethod method : methods) { + sb.append(" method: " + method.toString() + "\n"); + } + for (AvatarSignal signal : signals) { + sb.append(" signal: " + signal.toString() + "\n"); + } + if (asm != null) { + sb.append("State machine:\n"); + sb.append(asm.toStringRecursive()); + } else { + sb.append("No state machine"); + } + + return sb.toString(); + } + public String toShortString() { //Thread.currentThread().dumpStack(); StringBuffer sb = new StringBuffer("block:" + getName() + " ID=" + getID() + " \n"); diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java index 35e9c6b5ee..2e7e65dd44 100644 --- a/src/main/java/avatartranslator/AvatarSpecification.java +++ b/src/main/java/avatartranslator/AvatarSpecification.java @@ -817,6 +817,32 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { return sb.toString(); } + public String toTextFormat() { + //Thread.currentThread().dumpStack(); + StringBuffer sb = new StringBuffer("Blocks:\n"); + //TraceManager.addDev("TS Block"); + for (AvatarBlock block : blocks) { + sb.append("*** " + block.toTextFormat() + "\n"); + + } + //TraceManager.addDev("TS Relations"); + sb.append("\nRelations:\n"); + for (AvatarRelation relation : relations) { + sb.append("\tRelation:" + relation.toString() + "\n"); + } + sb.append("\nPragmas:\n"); + for (AvatarPragma pragma : pragmas) { + sb.append("\tPragma:" + pragma.toString() + "\n"); + } + for (AvatarConstant constant : constants) { + sb.append("\tConstant:" + constant.toString() + "\n"); + } + + //TraceManager.addDev("TS All done"); + + return sb.toString(); + } + public String toShortString() { //TraceManager.addDev("To Short String"); //Thread.currentThread().dumpStack(); diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java index 518777832d..a486951fa3 100644 --- a/src/main/java/avatartranslator/AvatarStateMachine.java +++ b/src/main/java/avatartranslator/AvatarStateMachine.java @@ -444,6 +444,15 @@ public class AvatarStateMachine extends AvatarElement { return toStringRecursiveElt(ass); } + public String toTextFormat() { + AvatarStartState ass = getStartState(); + if (ass == null) { + return "Empty state machine"; + } + + return toTextFormatElt(ass); + } + public String toStringRecursiveElt(AvatarStateMachineElement _asme) { String ret = ""; ret += "* " + _asme.toStringExtendedID() + "\n"; @@ -460,6 +469,22 @@ public class AvatarStateMachine extends AvatarElement { } + public String toTextFormatElt(AvatarStateMachineElement _asme) { + String ret = ""; + ret += "* " + _asme.toStringExtendedID() + "\n"; + + for (AvatarStateMachineElement asme : _asme.getNexts()) { + ret += "\tnext: " + asme.toStringExtendedID() + "\n"; + + } + for (AvatarStateMachineElement asme : _asme.getNexts()) { + ret += toTextFormatElt(asme); + } + + return ret; + + } + // Add missing implicit states. public void makeFullStates(AvatarBlock _block) { diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 6114bac1de..aaa8d1f222 100644 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -10413,7 +10413,7 @@ public class GTURTLEModeling { mapOfElements.put(tgc, aucdc); aucd.addConnection(aucdc); - if (tgc instanceof TGConnectorUC) { + if (tgc instanceof TGConnectorUseCase) { aucdc.type = AvatarUCDConnection.CONNECTION.WITH_ACTOR; } @@ -10434,6 +10434,12 @@ public class GTURTLEModeling { } return aucd.toString(); + + } else if (_tdp instanceof AvatarBDPanel) { + if (avatarspec != null) { + return avatarspec.toTextFormat(); + } + } return null; } -- GitLab