From e007174e3d4954c1741f69a481837d4eb0b44e7a Mon Sep 17 00:00:00 2001
From: Daniela GENIUS <daniela.genius@lip6.fr>
Date: Thu, 4 Apr 2019 12:18:04 +0200
Subject: [PATCH] renaming and standalone TDF

---
 .../toSysCAMS/TopCellGenerator.java           | 28 +++++++++++++++----
 .../TopCellGeneratorCluster.java              | 23 +++++++++++----
 .../ClusterCodeSoclib.java                    |  0
 .../HeaderSoclib.java                         |  0
 .../MakefileCodeSoclib.java                   |  0
 .../PrimitiveCodeSoclib.java                  |  0
 .../TopCellGeneratorSoclib.java               | 25 +++++++++++++----
 ...DialogSysCAMSExecutableCodeGeneration.java |  9 ++++--
 8 files changed, 65 insertions(+), 20 deletions(-)
 rename src/main/java/syscamstranslator/{toSysCAMS_soclib => toSysCAMSSoclib}/ClusterCodeSoclib.java (100%)
 rename src/main/java/syscamstranslator/{toSysCAMS_soclib => toSysCAMSSoclib}/HeaderSoclib.java (100%)
 rename src/main/java/syscamstranslator/{toSysCAMS_soclib => toSysCAMSSoclib}/MakefileCodeSoclib.java (100%)
 rename src/main/java/syscamstranslator/{toSysCAMS_soclib => toSysCAMSSoclib}/PrimitiveCodeSoclib.java (100%)
 rename src/main/java/syscamstranslator/{toSysCAMS_soclib => toSysCAMSSoclib}/TopCellGeneratorSoclib.java (90%)

diff --git a/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java b/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
index 07a99113fb..ad82e10c6b 100644
--- a/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
+++ b/src/main/java/syscamstranslator/toSysCAMS/TopCellGenerator.java
@@ -61,9 +61,12 @@ import java.util.LinkedList;
 public class TopCellGenerator {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
+    //private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    //private final static String GENERATED_PATH2 = "generated_H" + File.separator;
+   
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+    
 	public TopCellGenerator(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
@@ -94,12 +97,19 @@ public class TopCellGenerator {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+	public void saveFile(String path, Boolean standalone) {
 		SysCAMSTCluster cluster = TopCellGenerator.syscams.getCluster();
 		LinkedList<SysCAMSTConnector> connectors = TopCellGenerator.syscams.getAllConnectorCluster();
 
 		String top;
 
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
+
+		
 		try {
 			// Save file .cpp
 			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + ".cpp");
@@ -111,13 +121,19 @@ public class TopCellGenerator {
 			ex.printStackTrace();
 		}
 		// Save files .h
-		saveFileBlock(path, cluster);
+		saveFileBlock(path, cluster, standalone);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+	public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		  
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
diff --git a/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java b/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
index ccdc017d7b..7f6a6282c9 100644
--- a/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
+++ b/src/main/java/syscamstranslator/toSysCAMSCluster/TopCellGeneratorCluster.java
@@ -63,9 +63,10 @@ import java.util.LinkedList;
 public class TopCellGeneratorCluster {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+    
+     
 	public TopCellGeneratorCluster(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
@@ -96,12 +97,17 @@ public class TopCellGeneratorCluster {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+    public void saveFile(String path, Boolean standalone) {
 		SysCAMSTCluster cluster = TopCellGeneratorCluster.syscams.getCluster();
 		LinkedList<SysCAMSTConnector> connectors = TopCellGeneratorCluster.syscams.getAllConnectorsCluster4Soclib();
 
 		String top;
 
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
+		
 		try {
 			// Save file .cpp
 			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
@@ -113,13 +119,18 @@ public class TopCellGeneratorCluster {
 			ex.printStackTrace();
 		}
 		// Save files .h
-		saveFileBlock(path, cluster);
+		saveFileBlock(path, cluster, standalone);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+    public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
diff --git a/src/main/java/syscamstranslator/toSysCAMS_soclib/ClusterCodeSoclib.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/ClusterCodeSoclib.java
similarity index 100%
rename from src/main/java/syscamstranslator/toSysCAMS_soclib/ClusterCodeSoclib.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/ClusterCodeSoclib.java
diff --git a/src/main/java/syscamstranslator/toSysCAMS_soclib/HeaderSoclib.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/HeaderSoclib.java
similarity index 100%
rename from src/main/java/syscamstranslator/toSysCAMS_soclib/HeaderSoclib.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/HeaderSoclib.java
diff --git a/src/main/java/syscamstranslator/toSysCAMS_soclib/MakefileCodeSoclib.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/MakefileCodeSoclib.java
similarity index 100%
rename from src/main/java/syscamstranslator/toSysCAMS_soclib/MakefileCodeSoclib.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/MakefileCodeSoclib.java
diff --git a/src/main/java/syscamstranslator/toSysCAMS_soclib/PrimitiveCodeSoclib.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/PrimitiveCodeSoclib.java
similarity index 100%
rename from src/main/java/syscamstranslator/toSysCAMS_soclib/PrimitiveCodeSoclib.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/PrimitiveCodeSoclib.java
diff --git a/src/main/java/syscamstranslator/toSysCAMS_soclib/TopCellGeneratorSoclib.java b/src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
similarity index 90%
rename from src/main/java/syscamstranslator/toSysCAMS_soclib/TopCellGeneratorSoclib.java
rename to src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
index 292785e9c9..3a203848ca 100644
--- a/src/main/java/syscamstranslator/toSysCAMS_soclib/TopCellGeneratorSoclib.java
+++ b/src/main/java/syscamstranslator/toSysCAMSSoclib/TopCellGeneratorSoclib.java
@@ -61,9 +61,11 @@ import java.util.LinkedList;
 public class TopCellGeneratorSoclib {
 	public static SysCAMSSpecification syscams;
 
-	private final static String GENERATED_PATH1 = "generated_CPP" + File.separator;
-	private final static String GENERATED_PATH2 = "generated_H" + File.separator;
-
+   
+    private  String GENERATED_PATH1 = "generated_CPP" + File.separator;
+    private  String GENERATED_PATH2 = "generated_H" + File.separator;
+  
+   
 	public TopCellGeneratorSoclib(SysCAMSSpecification sys) {
 		syscams = sys;
 	}
@@ -94,15 +96,21 @@ public class TopCellGeneratorSoclib {
 		return (top);
 	}
 
-	public void saveFile(String path) {
+	public void saveFile(String path, Boolean standalone) {
 		SysCAMSTCluster cluster = TopCellGeneratorSoclib.syscams.getCluster();
 		LinkedList<SysCAMSTConnector> connectors = TopCellGeneratorSoclib.syscams.getAllConnectorCluster();
 
 		String top;
 
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}    
+		
 		try {
 			// Save file .cpp
-			System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
+
+		  System.err.println(path + GENERATED_PATH1 + cluster.getClusterName() + "_tdf.h");
 			FileWriter fw = new FileWriter(path + GENERATED_PATH1 + "/" + cluster.getClusterName() + "_tdf.h");
 			top = generateTopCell(cluster, connectors);
 			fw.write(top);
@@ -114,10 +122,15 @@ public class TopCellGeneratorSoclib {
 		saveFileBlock(path, cluster);
 	}
 
-	public void saveFileBlock(String path, SysCAMSTCluster c) {
+	public void saveFileBlock(String path, SysCAMSTCluster c, Boolean standalone) {
 		String headerTDF, headerDE, codeTDF, codeDE;
 		LinkedList<SysCAMSTBlockTDF> tdf = c.getBlockTDF();
 		LinkedList<SysCAMSTBlockDE> de = c.getBlockDE();
+
+		if(standalone){
+		    GENERATED_PATH1 = "";
+		    GENERATED_PATH2 = "";
+		}
 		
 		for (SysCAMSTBlockTDF t : tdf) {
 			try {
diff --git a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
index c5c80dd073..8fc324ade5 100644
--- a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
@@ -509,6 +509,8 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
 //        String list;//, data;
         hasError = false;
 
+	Boolean standalone = true; //are there any GPIO blocks?
+	
         try {
             if (jp1.getSelectedIndex() == 0) {
                 Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagramPanels = mgui.getListSysCAMSPanel();
@@ -540,6 +542,9 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
                             } 
                             for(SysCAMSTBlockGPIO2VCI gpioBlock : gpioBlocks) {
                                 nbPorts += gpioBlock.getPortDE().size();
+				standalone=false;
+
+				
                             }
                             if(nbPorts != (allConnectors.size()*2)) {
                                 jta.append("Error: There are unconnected ports.\n");
@@ -676,8 +681,8 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
                 			pathCode = code2.getText();
 
                 			System.err.println("SYSCAMS TOPCELL : " + syscalsspec.getCluster().getClusterName() + "saved in " + code2.getText());
-                			topCellGenerator.saveFile(pathCode);
-                            topCellGeneratorCluster.saveFile(pathCode);
+                			topCellGenerator.saveFile(pathCode,standalone);
+                            topCellGeneratorCluster.saveFile(pathCode,standalone);
 
                 			jta.append("Code saved\n");
                 		} catch (Exception e) {
-- 
GitLab