From 33744f7a3d4ee9cd51c592df764949e81028a9cf Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Mon, 15 Jul 2019 16:55:56 +0200
Subject: [PATCH] Adding XML generation in NoC removal

---
 src/main/java/tmltranslator/HwNoC.java        | 10 ++++++++-
 src/main/java/tmltranslator/TMLMapping.java   |  4 +++-
 .../java/ui/window/JDialogNoCManagement.java  | 22 ++++++++++++++++---
 3 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/main/java/tmltranslator/HwNoC.java b/src/main/java/tmltranslator/HwNoC.java
index e9a7913665..6e8fe884a4 100755
--- a/src/main/java/tmltranslator/HwNoC.java
+++ b/src/main/java/tmltranslator/HwNoC.java
@@ -68,7 +68,15 @@ public class HwNoC extends HwCommunicationNode  {
     }
 
     public String toXML() {
-        String s = "<ROUTER name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  bufferByteSize=\"" + bufferByteSize + "\" />\n";
+        String s = "<NOC name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  bufferByteSize=\"" + bufferByteSize + "\"";
+        s += " infos=\"";
+        String infos = "";
+        for (String elt: placementMap.keySet()) {
+            Point p = placementMap.get(elt);
+            infos += elt + "[" + p.getX() + "," + p.getY() + "] ; ";
+        }
+        s += infos + "\"";
+        s += "/>\n";
         return s;
     }
 
diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java
index ff27674926..4ac66cb226 100755
--- a/src/main/java/tmltranslator/TMLMapping.java
+++ b/src/main/java/tmltranslator/TMLMapping.java
@@ -1696,7 +1696,8 @@ public class TMLMapping<E> {
     public String toXML() {
         String s = "<TMLMAPPING>\n";
         s += tmlm.toXML();
-        s += tmla.toXML();
+        s += tmla.toXML() + "\n";
+
         for (int i = 0; i < onnodes.size(); i++) {
             HwExecutionNode node = onnodes.get(i);
             TMLTask task = mappedtasks.get(i);
@@ -1704,6 +1705,7 @@ public class TMLMapping<E> {
         }
         for (int i = 0; i < oncommnodes.size(); i++) {
             HwCommunicationNode node = oncommnodes.get(i);
+
             TMLElement elt = mappedcommelts.get(i);
             s += "<COMMMAP node=\"" + node.getName() + "\" elt=\"" + elt.getName() + "\" />\n";
         }
diff --git a/src/main/java/ui/window/JDialogNoCManagement.java b/src/main/java/ui/window/JDialogNoCManagement.java
index 4c8e02a0a5..cd236a2ba4 100644
--- a/src/main/java/ui/window/JDialogNoCManagement.java
+++ b/src/main/java/ui/window/JDialogNoCManagement.java
@@ -309,6 +309,22 @@ public class JDialogNoCManagement extends JDialog implements ActionListener, Lis
 
 
         TraceManager.addDev("Thread started");
+
+        outputText.append("\nGenerating XML With NoC\n");
+        String XML = map.toXML();
+        String dir = SpecConfigTTool.TMLCodeDirectory;
+        try {
+            saveFile(SpecConfigTTool.TMLCodeDirectory + "/WithNoC.xml", XML);
+        } catch (Exception e) {
+            outputText.append("\nException when generating XML file\n");
+            stopProcess();
+            return;
+        }
+
+        outputText.append("\nSpecification generated in " + dir + "/WithNoC.xml\n");
+
+
+
         outputText.append("\nPreparing model\n");
 
         int size = map.getTMLArchitecture().getSizeOfNoC();
@@ -361,7 +377,7 @@ public class JDialogNoCManagement extends JDialog implements ActionListener, Lis
         TMLMappingTextSpecification ts = new TMLMappingTextSpecification<>("noNoc");
         ts.toTextFormat(mapping);
 
-        String dir = SpecConfigTTool.TMLCodeDirectory;
+        dir = SpecConfigTTool.TMLCodeDirectory;
         try {
             ts.saveFile(SpecConfigTTool.TMLCodeDirectory, "NoNoC");
         } catch (Exception e) {
@@ -374,8 +390,8 @@ public class JDialogNoCManagement extends JDialog implements ActionListener, Lis
 
 
 
-        outputText.append("\nGenerating XML\n");
-        String XML = mapping.toXML();
+        outputText.append("\nGenerating XML without NoC\n");
+        XML = mapping.toXML();
         dir = SpecConfigTTool.TMLCodeDirectory;
         try {
             saveFile(SpecConfigTTool.TMLCodeDirectory + "/NoNoC.xml", XML);
-- 
GitLab