From 48ddee2cee639c864c1ed98ebacfdd16e461aee2 Mon Sep 17 00:00:00 2001
From: Andrea Enrici <andrea.enrici@nokia.com>
Date: Fri, 22 Jan 2016 11:20:11 +0000
Subject: [PATCH] corrected bug when changing memory buffer type

---
 .../ctranslator/AdaifBuffer.java              |  6 +----
 src/tmltranslator/ctranslator/FepBuffer.java  | 15 ++++-------
 .../ctranslator/InterleaverBuffer.java        | 27 +++----------------
 src/tmltranslator/ctranslator/MMBuffer.java   |  5 +---
 .../ctranslator/MapperBuffer.java             | 21 +++------------
 src/ui/window/JDialogPortArtifact.java        | 24 ++++++++---------
 src/ui/window/JDialogReferenceCP.java         |  2 +-
 7 files changed, 28 insertions(+), 72 deletions(-)

diff --git a/src/tmltranslator/ctranslator/AdaifBuffer.java b/src/tmltranslator/ctranslator/AdaifBuffer.java
index 8e9727bd71..268069826d 100644
--- a/src/tmltranslator/ctranslator/AdaifBuffer.java
+++ b/src/tmltranslator/ctranslator/AdaifBuffer.java
@@ -141,7 +141,7 @@ public class AdaifBuffer extends Buffer	{
 		return buffer;
 	}
 
-	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters )	{
+	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2 )	{
 
 		String baseAddress = "", numSamples = "";
 		GridBagLayout gridbag2 = new GridBagLayout();
@@ -151,10 +151,6 @@ public class AdaifBuffer extends Buffer	{
 		panel.setBorder( new javax.swing.border.TitledBorder("Code generation: memory configuration"));
 		panel.setPreferredSize( new Dimension(650, 350) );
 
-		//retrieve parameters from the buffer
-		baseAddress = bufferParameters.get( BASE_ADDRESS_INDEX );
-		numSamples = bufferParameters.get( NUM_SAMPLES_INDEX );
-
 		c2.anchor = GridBagConstraints.LINE_START;
 		numSamplesTF.setText( numSamples );
 		panel.add( new JLabel( "Number of samples = "),  c2 );
diff --git a/src/tmltranslator/ctranslator/FepBuffer.java b/src/tmltranslator/ctranslator/FepBuffer.java
index 42121bb258..038d2b9634 100755
--- a/src/tmltranslator/ctranslator/FepBuffer.java
+++ b/src/tmltranslator/ctranslator/FepBuffer.java
@@ -175,7 +175,7 @@ public class FepBuffer extends Buffer	{
 		return buffer;
 	}
 	
-	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters )	{
+	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2 )	{
 
 		String baseAddress = "", numSamples = "", bank = "", dataType = "";
 		GridBagLayout gridbag2 = new GridBagLayout();
@@ -186,11 +186,6 @@ public class FepBuffer extends Buffer	{
 		panel.setBorder( new javax.swing.border.TitledBorder("Code generation: memory configuration"));
 		panel.setPreferredSize( new Dimension(650, 350) );
 
-		baseAddress = bufferParameters.get( BASE_ADDRESS_INDEX );
-		numSamples = bufferParameters.get( NUM_SAMPLES_INDEX );
-		bank = bufferParameters.get( BANK_INDEX );
-		dataType = bufferParameters.get( DATA_TYPE_INDEX );
-
     panel.setBorder(new javax.swing.border.TitledBorder("Code generation: memory configuration"));
 
 		c2.anchor = GridBagConstraints.LINE_START;
@@ -205,21 +200,21 @@ public class FepBuffer extends Buffer	{
 		panel.add( baseAddressTF, c1 );
 		//
 		panel.add( new JLabel( "Bank number = "),  c2 );
-		if( bank != null && !bank.equals("") )	{
+		/*if( bank != null && !bank.equals("") )	{
 			bankCB.setSelectedIndex( Integer.parseInt( bank ) );
 		}
 		else	{
 			bankCB.setSelectedIndex(0);
-		}
+		}*/
 		panel.add( bankCB, c1 );
 		//
 		panel.add( new JLabel( "Data type = "),  c2 );
-		if( dataType != null && !dataType.equals("") )	{
+		/*if( dataType != null && !dataType.equals("") )	{
 			dataTypeCB.setSelectedItem( dataType );
 		}
 		else	{
 			dataTypeCB.setSelectedIndex(0);
-		}
+		}*/
 		panel.add( dataTypeCB, c1 );
 
 		ArrayList<JPanel> panelsList = new ArrayList<JPanel>();
diff --git a/src/tmltranslator/ctranslator/InterleaverBuffer.java b/src/tmltranslator/ctranslator/InterleaverBuffer.java
index 32d9d42c80..d7cd0c1862 100644
--- a/src/tmltranslator/ctranslator/InterleaverBuffer.java
+++ b/src/tmltranslator/ctranslator/InterleaverBuffer.java
@@ -124,17 +124,17 @@ public class InterleaverBuffer extends Buffer	{
 	//PANEL
 	//Intl Data In
 	private static JTextField width_TF, bitInOffset_TF, inputOffset_TF;
-	private static String width, bitInOffset, inputOffset, packedBinaryIn;
+	private static String width = "", bitInOffset = "", inputOffset = "", packedBinaryIn = "";
 	private static JComboBox packedBinaryIn_CB;
 
 	// Data Out
 	private static JTextField bitOutOffset_TF, outputOffset_TF;
 	private static JComboBox packedBinaryOut_CB;
-	private static String packedBinaryOut, bitOutOffset, outputOffset;
+	private static String packedBinaryOut = "", bitOutOffset = "", outputOffset = "";
 
 	// Perm
 	private static JTextField lengthPerm_TF, offsetPerm_TF;
-	private static String lengthPerm, offsetPerm;
+	private static String lengthPerm = "", offsetPerm = "";
 	
 	public InterleaverBuffer( String _name, TMLTask _task )	{
 		type = "INTERLEAVER_BUFFER_TYPE";
@@ -270,7 +270,7 @@ public class InterleaverBuffer extends Buffer	{
 		return sb.toString();
 	}
 
-	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters )	{
+	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2 )	{
 
 		GridBagLayout gridbag2 = new GridBagLayout();
 
@@ -289,27 +289,11 @@ public class InterleaverBuffer extends Buffer	{
 		panel5.setBorder(new javax.swing.border.TitledBorder("Code generation: Permutation Table configuration"));
 		panel5.setPreferredSize(new Dimension(650, 350));
 
-		//data in
-		packedBinaryIn = bufferParameters.get( PACKED_BINARY_IN_INDEX );
-		width = bufferParameters.get( WIDTH_INDEX );
-		bitInOffset = bufferParameters.get( BIT_IN_OFFSET_INDEX );
-		inputOffset = bufferParameters.get( INPUT_OFFSET_INDEX );
-		//data out
-		packedBinaryOut = bufferParameters.get( PACKED_BINARY_OUT_INDEX );
-		bitOutOffset = bufferParameters.get( BIT_OUT_OFFSET_INDEX );
-		outputOffset = bufferParameters.get( OUTPUT_OFFSET_INDEX );
-		//permutation table
-		lengthPerm = bufferParameters.get( LENGTH_PERM_INDEX );
-		offsetPerm = bufferParameters.get( OFFSET_PERM_INDEX );
-		
 		//Data In panel
 		c2.anchor = GridBagConstraints.LINE_START;
 		packedBinaryIn_CB = new JComboBox( Buffer.onOffVector );
 		panel3.add( new JLabel( "Packed binary input mode = "),  c2 );
 		c1.gridwidth = GridBagConstraints.REMAINDER;
-		if( packedBinaryIn != null )	{
-			packedBinaryIn_CB.setSelectedItem( packedBinaryIn );
-		}
 		panel3.add( packedBinaryIn_CB, c1 );
 		//
 		width_TF = new JTextField( width, 5 );
@@ -333,9 +317,6 @@ public class InterleaverBuffer extends Buffer	{
 		packedBinaryOut_CB = new JComboBox( Buffer.onOffVector );
 		panel4.add( new JLabel( "Packed binary output mode = "),  c2 );
 		c1.gridwidth = GridBagConstraints.REMAINDER;
-		if( packedBinaryOut != null )	{
-			packedBinaryOut_CB.setSelectedItem( packedBinaryOut );
-		}
 		panel4.add( packedBinaryOut_CB, c1 );
 		//
 		bitOutOffset_TF = new JTextField( bitOutOffset, 5 );
diff --git a/src/tmltranslator/ctranslator/MMBuffer.java b/src/tmltranslator/ctranslator/MMBuffer.java
index 4f51d2f024..ae772c6004 100644
--- a/src/tmltranslator/ctranslator/MMBuffer.java
+++ b/src/tmltranslator/ctranslator/MMBuffer.java
@@ -141,7 +141,7 @@ public class MMBuffer extends Buffer	{
 		return sb.toString();
 	}
 
-	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters )	{
+	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2 )	{
 
 		String baseAddress = "", numSamples = "";
 		GridBagLayout gridbag2 = new GridBagLayout();
@@ -151,9 +151,6 @@ public class MMBuffer extends Buffer	{
 		panel.setBorder( new javax.swing.border.TitledBorder("Code generation: memory configuration"));
 		panel.setPreferredSize( new Dimension(650, 350) );
 
-		baseAddress = bufferParameters.get( BASE_ADDRESS_INDEX );
-		numSamples = bufferParameters.get( NUM_SAMPLES_INDEX );
-
 		c2.anchor = GridBagConstraints.LINE_START;
 		numSamplesTF.setText( numSamples );
 		panel.add( new JLabel( "Number of samples = "),  c2 );
diff --git a/src/tmltranslator/ctranslator/MapperBuffer.java b/src/tmltranslator/ctranslator/MapperBuffer.java
index 2bb1e82636..b7b7f90aaf 100644
--- a/src/tmltranslator/ctranslator/MapperBuffer.java
+++ b/src/tmltranslator/ctranslator/MapperBuffer.java
@@ -94,14 +94,14 @@ public class MapperBuffer extends Buffer	{
 	//PANEL
 	//Mapper Data In
 	private static JTextField baseAddressDataIn_TF, numSamplesDataIn_TF, bitsPerSymbolDataIn_TF;
-	private static String baseAddressDataIn, numSamplesDataIn, bitsPerSymbolDataIn, symmetricalValueDataIn;
+	private static String baseAddressDataIn = "", numSamplesDataIn = "", bitsPerSymbolDataIn = "", symmetricalValueDataIn = "";
 	private static JComboBox symmetricalValueDataIn_CB;
 	//Mapper Data Out
 	private static JTextField baseAddressDataOut_TF;
-	private static String baseAddressDataOut;
+	private static String baseAddressDataOut = "";
 	//Mapper LUT
 	private static JTextField baseAddressLUT_TF;
-	private static String baseAddressLUT;
+	private static String baseAddressLUT = "";
 	
 	public static final String DECLARATION = "struct MAPPER_BUFFER_TYPE {" + CR + TAB +
 																						NUM_SAMPLES_DATAIN_TYPE + SP + "num_symbols" + SC + CR + TAB +
@@ -218,7 +218,7 @@ public class MapperBuffer extends Buffer	{
 		return buffer;
 	}
 	
-	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2, ArrayList<String> bufferParameters )	{
+	public static ArrayList<JPanel> makePanel( GridBagConstraints c1, GridBagConstraints c2 )	{
 
 		GridBagLayout gridbag2 = new GridBagLayout();
 
@@ -237,16 +237,6 @@ public class MapperBuffer extends Buffer	{
 		panel5.setBorder(new javax.swing.border.TitledBorder("Code generation: Look Up Table configuration"));
 		panel5.setPreferredSize(new Dimension(650, 350));
 
-		//data in
-		numSamplesDataIn = bufferParameters.get( NUM_SAMPLES_DATAIN_INDEX );
-		baseAddressDataIn = bufferParameters.get( BASE_ADDRESS_DATAIN_INDEX );
-		bitsPerSymbolDataIn = bufferParameters.get( BITS_PER_SYMBOL_DATAIN_INDEX );
-		symmetricalValueDataIn = bufferParameters.get( SYMMETRICAL_VALUE_DATAIN_INDEX );
-		//data out
-		baseAddressDataOut = bufferParameters.get( BASE_ADDRESS_DATAOUT_INDEX );
-		//look-up table
-		baseAddressLUT = bufferParameters.get( BASE_ADDRESS_LUT_INDEX );
-		
 		//Data In panel
 		c2.anchor = GridBagConstraints.LINE_START;
 		numSamplesDataIn_TF = new JTextField( numSamplesDataIn, 5 );
@@ -267,9 +257,6 @@ public class MapperBuffer extends Buffer	{
 		symmetricalValueDataIn_CB = new JComboBox( new Vector<String>( Arrays.asList( symmetricalValues ) ) );
 		panel3.add( new JLabel( "Symmetrical value = "),  c2 );
 		c1.gridwidth = GridBagConstraints.REMAINDER;
-		if( symmetricalValueDataIn != null )	{
-			symmetricalValueDataIn_CB.setSelectedItem( symmetricalValueDataIn );
-		}
 		panel3.add( symmetricalValueDataIn_CB, c1 );
 
 		//Data Out panel
diff --git a/src/ui/window/JDialogPortArtifact.java b/src/ui/window/JDialogPortArtifact.java
index c0f4cd1c7c..dcf08abeee 100755
--- a/src/ui/window/JDialogPortArtifact.java
+++ b/src/ui/window/JDialogPortArtifact.java
@@ -253,34 +253,34 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi
 
 		switch( bufferType )	{
 			case Buffer.FepBuffer:	
-				panelsList = FepBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = FepBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				break;
 			case Buffer.InterleaverBuffer:	
-				panelsList = InterleaverBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = InterleaverBuffer.makePanel( c1, c2 );
 				tabbedPane.addTab( "Data In", panelsList.get(0) );
 				tabbedPane.addTab( "Data Out", panelsList.get(1) );
 				tabbedPane.addTab( "Permutation Table", panelsList.get(2) );
 				tabbedPane.setSelectedIndex(0);
 				break;
 			case Buffer.AdaifBuffer:	
-				panelsList = AdaifBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = AdaifBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				break;
 			case Buffer.MapperBuffer:	
 				tabbedPane.removeAll();
-				panelsList = MapperBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = MapperBuffer.makePanel( c1, c2 );
 				tabbedPane.addTab( "Data In", panelsList.get(0) );
 				tabbedPane.addTab( "Data Out", panelsList.get(1) );
 				tabbedPane.addTab( "Look Up Table", panelsList.get(2) );
 				tabbedPane.setSelectedIndex(0);
 				break;
 			case Buffer.MainMemoryBuffer:	
-				panelsList = MMBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = MMBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				break;
 			default:	//the fep buffer 
-				panelsList = FepBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = FepBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				break;
 		}
@@ -366,13 +366,13 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi
 		switch( bufferType )	{
 			case Buffer.FepBuffer:	
 				tabbedPane.removeAll();
-				panelsList = FepBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = FepBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				tabbedPane.addTab( "Data", panel3 );
 				break;
 			case Buffer.MapperBuffer:	
 				tabbedPane.removeAll();
-				panelsList = MapperBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = MapperBuffer.makePanel( c1, c2 );
 				tabbedPane.addTab( "Data In", panelsList.get(0) );
 				tabbedPane.addTab( "Data Out", panelsList.get(1) );
 				tabbedPane.addTab( "Look Up Table", panelsList.get(2) );
@@ -380,13 +380,13 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi
 				break;
 			case Buffer.AdaifBuffer:	
 				tabbedPane.removeAll();
-				panelsList = AdaifBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = AdaifBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				tabbedPane.addTab( "Data", panel3 );
 				break;
 			case Buffer.InterleaverBuffer:
 				tabbedPane.removeAll();
-				panelsList = InterleaverBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = InterleaverBuffer.makePanel( c1, c2 );
 				tabbedPane.addTab( "Data In", panelsList.get(0) );
 				tabbedPane.addTab( "Data Out", panelsList.get(1) );
 				tabbedPane.addTab( "Permutation Table", panelsList.get(2) );
@@ -394,13 +394,13 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi
 				break;
 			case Buffer.MainMemoryBuffer:	
 				tabbedPane.removeAll();
-				panelsList = MMBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = MMBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				tabbedPane.addTab( "Data", panel3 );
 				break;
 			default:	//the main memory buffer 
 				tabbedPane.removeAll();
-				panelsList = FepBuffer.makePanel( c1, c2, bufferParameters );
+				panelsList = FepBuffer.makePanel( c1, c2 );
 				panel3 = panelsList.get(0);
 				tabbedPane.addTab( "Data", panel3 );
 				break;
diff --git a/src/ui/window/JDialogReferenceCP.java b/src/ui/window/JDialogReferenceCP.java
index b7b59d7dc0..a29c7935bb 100644
--- a/src/ui/window/JDialogReferenceCP.java
+++ b/src/ui/window/JDialogReferenceCP.java
@@ -1080,7 +1080,7 @@ public class JDialogReferenceCP extends javax.swing.JDialog implements ActionLis
 				String attrType = ((String)attributesList_CB.getSelectedItem()).split(" ")[0];
 				if( attrType.equals( "int" ) )	{
 					if( !attrValue.matches( natRegex ) )	{
-						JOptionPane.showMessageDialog( frame, "Attribute is of type integer", "Badly formatted parameter",
+						JOptionPane.showMessageDialog( frame, "Attribute must be of type Natural", "Badly formatted parameter",
 																				JOptionPane.INFORMATION_MESSAGE );
 						return;
 					}
-- 
GitLab