You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2011/12/05 01:06:40 UTC

svn commit: r1210286 - in /incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper: ApplicationDescriptionAdvancedOptionDialog.java ApplicationDescriptionDialog.java ServiceDescriptionDialog.java

Author: samindaw
Date: Mon Dec  5 00:06:40 2011
New Revision: 1210286

URL: http://svn.apache.org/viewvc?rev=1210286&view=rev
Log:
Updating dialogs with xbaya components instead

Modified:
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionAdvancedOptionDialog.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionDialog.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionAdvancedOptionDialog.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionAdvancedOptionDialog.java?rev=1210286&r1=1210285&r2=1210286&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionAdvancedOptionDialog.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionAdvancedOptionDialog.java Mon Dec  5 00:06:40 2011
@@ -21,45 +21,52 @@
 
 package org.apache.airavata.xbaya.appwrapper;
 
-import java.awt.BorderLayout;
-import java.awt.FlowLayout;
 import java.awt.Font;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
-import java.util.Map;
 
-import javax.swing.*;
-import javax.swing.GroupLayout.Alignment;
-import javax.swing.LayoutStyle.ComponentPlacement;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelEvent;
 import javax.swing.event.TableModelListener;
 import javax.swing.table.DefaultTableModel;
 
+import org.apache.airavata.common.utils.SwingUtil;
 import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
 import org.apache.airavata.registry.api.Registry;
 import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
 import org.apache.airavata.schemas.gfac.JobTypeType;
+import org.apache.airavata.xbaya.gui.GridPanel;
 import org.apache.airavata.xbaya.gui.XBayaComboBox;
+import org.apache.airavata.xbaya.gui.XBayaLabel;
+import org.apache.airavata.xbaya.gui.XBayaTextField;
 
 public class ApplicationDescriptionAdvancedOptionDialog extends JDialog {
     private static final long serialVersionUID = 3920479739097405014L;
-    private JTextField txtInputDir;
-    private JTextField txtWorkingDir;
-    private JTextField txtOutputDir;
-    private JTextField txtSTDIN;
-    private JTextField txtSTDOUT;
-    private JTextField txtSTDERR;
+    private XBayaTextField txtInputDir;
+    private XBayaTextField txtWorkingDir;
+    private XBayaTextField txtOutputDir;
+    private XBayaTextField txtSTDIN;
+    private XBayaTextField txtSTDOUT;
+    private XBayaTextField txtSTDERR;
     private XBayaComboBox jobType;
-    private JTextField projectAccountNumber;
-    private JTextField projectAccountDescription;
-    private JTextField queueType;
-    private JTextField queueName;
-    private JTextField rslParameterName;
-    private JTextField rslParameterValue;
+    private XBayaTextField projectAccountNumber;
+    private XBayaTextField projectAccountDescription;
+    private XBayaTextField queueType;
+    private XBayaTextField queueName;
+    private XBayaTextField rslParameterName;
+    private XBayaTextField rslParameterValue;
     private JTable tblEnv;
     private ApplicationDeploymentDescription shellApplicationDescription;
     private DefaultTableModel defaultTableModel;
@@ -115,38 +122,30 @@ public class ApplicationDescriptionAdvan
         setModal(true);
         setBounds(100, 100, 654, 417);
         setLocationRelativeTo(null);
-        getContentPane().setLayout(new BorderLayout());
-        {
-            JPanel buttonPane = new JPanel();
-            buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
-            getContentPane().add(buttonPane, BorderLayout.SOUTH);
-            {
-                okButton = new JButton("Update");
-                okButton.setActionCommand("OK");
-                okButton.addActionListener(new ActionListener() {
-                    public void actionPerformed(ActionEvent e) {
-                        saveApplicationDescriptionAdvancedOptions();
-                        close();
-                    }
-                });
-                buttonPane.add(okButton);
-                getRootPane().setDefaultButton(okButton);
+        GridPanel buttonPane = new GridPanel();
+        okButton = new JButton("Update");
+        okButton.setActionCommand("OK");
+        okButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                saveApplicationDescriptionAdvancedOptions();
+                close();
             }
-            {
-                JButton cancelButton = new JButton("Cancel");
-                cancelButton.setActionCommand("Cancel");
-                cancelButton.addActionListener(new ActionListener() {
-                    public void actionPerformed(ActionEvent e) {
-                        close();
-                    }
-                });
-                buttonPane.add(cancelButton);
+        });
+        getRootPane().setDefaultButton(okButton);
+    
+    
+        JButton cancelButton = new JButton("Cancel");
+        cancelButton.setActionCommand("Cancel");
+        cancelButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                close();
             }
-        }
-        {
-            JPanel panel = new JPanel();
-            getContentPane().add(panel, BorderLayout.CENTER);
-            JLabel lblWorkingDirectory = new JLabel("Working Directory");
+        });
+            
+        
+        
+    	GridPanel panel = new GridPanel();
+        
 //            JLabel lbljobType = new JLabel("Job Type");
 //            JLabel lblProjectAccountNumber = new JLabel("Project Account Number");
 //            JLabel lblProjectAccountDescription = new JLabel("Project Account Description");
@@ -154,301 +153,142 @@ public class ApplicationDescriptionAdvan
 //            JLabel lblQueueName = new JLabel("Queue Name");
 //            JLabel lblRSLParameterName = new JLabel("RSL Parameter Name");
 //            JLabel lslRSLParameterValue = new JLabel("RSL Parameter Value");
-            JLabel lblInputDirectory = new JLabel("Input directory");
-
-            txtInputDir = new JTextField();
-            txtInputDir.setColumns(10);
-            txtWorkingDir = new JTextField();
-            txtWorkingDir.setColumns(10);
-            JLabel lblLocations = new JLabel("Locations");
-            lblLocations.setFont(new Font("Tahoma", Font.BOLD, 11));
+    	
+        txtInputDir = new XBayaTextField();
+        txtWorkingDir = new XBayaTextField();
+        
+        XBayaLabel lblWorkingDirectory = new XBayaLabel("Working Directory",txtWorkingDir);
+        XBayaLabel lblInputDirectory = new XBayaLabel("Input directory",txtInputDir);
 
-            txtOutputDir = new JTextField();
-            txtOutputDir.setColumns(10);
+        JLabel lblLocations = new JLabel("Locations");
+        lblLocations.setFont(new Font("Tahoma", Font.BOLD, 11));
 
-            JLabel lblOutputDirectory = new JLabel("Output directory");
+        txtOutputDir = new XBayaTextField();
 
-            JSeparator separator = new JSeparator();
+        XBayaLabel lblOutputDirectory = new XBayaLabel("Output directory",txtOutputDir);
 
-            JLabel label = new JLabel("Program data");
-            label.setFont(new Font("Tahoma", Font.BOLD, 11));
+        JSeparator separator = new JSeparator();
 
-            JLabel lblStdin = new JLabel("STDIN");
-            lblStdin.setHorizontalAlignment(SwingConstants.TRAILING);
+        JLabel lblProgramData = new JLabel("Program data");
+        lblProgramData.setFont(new Font("Tahoma", Font.BOLD, 11));
 
-            txtSTDIN = new JTextField();
-            txtSTDIN.setColumns(10);
 
-            JLabel lblStdout = new JLabel("STDOUT");
-            lblStdout.setHorizontalAlignment(SwingConstants.TRAILING);
+        txtSTDIN = new XBayaTextField();
+        XBayaLabel lblStdin = new XBayaLabel("STDIN",txtSTDIN);
 
-            txtSTDOUT = new JTextField();
-            txtSTDOUT.setColumns(10);
 
-            JLabel lblStderr = new JLabel("STDERR");
-            lblStderr.setHorizontalAlignment(SwingConstants.TRAILING);
+        txtSTDOUT = new XBayaTextField();
+        XBayaLabel lblStdout = new XBayaLabel("STDOUT",txtSTDOUT);
 
-            txtSTDERR = new JTextField();
-            txtSTDERR.setColumns(10);
 
-            JLabel other = new JLabel("Other");
-            other.setFont(new Font("Tahoma", Font.BOLD, 11));
-            lblStdin.setHorizontalAlignment(SwingConstants.TRAILING);
+        txtSTDERR = new XBayaTextField();
+        XBayaLabel lblStderr = new XBayaLabel("STDERR",txtSTDERR);
 
-            projectAccountNumber = new JTextField();
-            projectAccountNumber.setColumns(10);
+        JLabel other = new JLabel("Other");
+        other.setFont(new Font("Tahoma", Font.BOLD, 11));
 
-            projectAccountDescription = new JTextField();
-            projectAccountDescription.setColumns(10);
+        projectAccountNumber = new XBayaTextField();
 
-            queueName = new JTextField();
-            queueName.setColumns(10);
+        projectAccountDescription = new XBayaTextField();
 
-            queueType = new JTextField();
-            queueType.setColumns(10);
+        queueName = new XBayaTextField();
 
-            rslParameterName = new JTextField();
-            rslParameterName.setColumns(10);
+        queueType = new XBayaTextField();
 
-            rslParameterValue = new JTextField();
-            rslParameterValue.setColumns(10);
+        rslParameterName = new XBayaTextField();
+        rslParameterValue = new XBayaTextField();
 
-            this.jobType = new XBayaComboBox(new DefaultComboBoxModel(new String[]
-                    {JobTypeType.OPEN_MP.toString(),JobTypeType.MPI.toString(),JobTypeType.SERIAL.toString()}));
-            this.jobType.setEditable(false);
+        this.jobType = new XBayaComboBox(new DefaultComboBoxModel(new String[]
+                {JobTypeType.OPEN_MP.toString(),JobTypeType.MPI.toString(),JobTypeType.SERIAL.toString()}));
+        this.jobType.setEditable(false);
 
-            JSeparator separator_1 = new JSeparator();
-            separator_1.setOrientation(SwingConstants.VERTICAL);
+        JSeparator separator_1 = new JSeparator();
+        separator_1.setOrientation(SwingConstants.VERTICAL);
 
-            JLabel lblEnvironmentalVariables = new JLabel("Environmental Variables");
-            lblEnvironmentalVariables.setFont(new Font("Tahoma", Font.BOLD, 11));
+        JLabel lblEnvironmentalVariables = new JLabel("Environmental Variables");
+        lblEnvironmentalVariables.setFont(new Font("Tahoma", Font.BOLD, 11));
 
-            JScrollPane scrollPane = new JScrollPane();
+        JScrollPane scrollPane = new JScrollPane();
 
-            btnDeleteVariable = new JButton("Delete variable");
-            btnDeleteVariable.addActionListener(new ActionListener() {
-                public void actionPerformed(ActionEvent e) {
-                    deleteSelectedRows();
-                }
-            });
-            btnDeleteVariable.setEnabled(false);
-            GroupLayout gl_panel = new GroupLayout(panel);
-            gl_panel.setHorizontalGroup(gl_panel
-                    .createParallelGroup(Alignment.LEADING)
-                    .addGroup(
-                            gl_panel.createSequentialGroup()
-                                    .addContainerGap()
-                                    .addGroup(
-                                            gl_panel.createParallelGroup(Alignment.LEADING)
-                                                    .addGroup(
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addComponent(lblLocations,
-                                                                            GroupLayout.DEFAULT_SIZE, 190,
-                                                                            Short.MAX_VALUE).addGap(135))
-                                                    .addGroup(
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addGroup(
-                                                                            gl_panel.createParallelGroup(
-                                                                                    Alignment.TRAILING)
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblStderr,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            80,
-                                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                                    .addGap(18)
-                                                                                                    .addComponent(
-                                                                                                            txtSTDERR,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            181,
-                                                                                                            GroupLayout.PREFERRED_SIZE))
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblStdout,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            72,
-                                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                                    .addGap(18)
-                                                                                                    .addComponent(
-                                                                                                            txtSTDOUT,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            181,
-                                                                                                            GroupLayout.PREFERRED_SIZE))
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblStdin,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            86,
-                                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                                    .addGap(18)
-                                                                                                    .addComponent(
-                                                                                                            txtSTDIN,
-                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                            181,
-                                                                                                            GroupLayout.PREFERRED_SIZE)))
-                                                                    .addPreferredGap(ComponentPlacement.UNRELATED))
-                                                    .addComponent(separator, GroupLayout.PREFERRED_SIZE, 293,
-                                                            GroupLayout.PREFERRED_SIZE)
-                                                    .addGroup(
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addGroup(
-                                                                            gl_panel.createParallelGroup(
-                                                                                    Alignment.TRAILING)
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblWorkingDirectory)
-                                                                                                    .addGap(18))
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblInputDirectory)
-                                                                                                    .addGap(17))
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addComponent(
-                                                                                                            lblOutputDirectory)
-                                                                                                    .addGap(18)))
-                                                                    .addGroup(
-                                                                            gl_panel.createParallelGroup(
-                                                                                    Alignment.LEADING, false)
-                                                                                    .addComponent(txtOutputDir)
-                                                                                    .addComponent(txtInputDir)
-                                                                                    .addComponent(txtWorkingDir,
-                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                            179,
-                                                                                            GroupLayout.PREFERRED_SIZE)))
-                                                    .addComponent(label, GroupLayout.PREFERRED_SIZE, 227,
-                                                            GroupLayout.PREFERRED_SIZE))
-                                    .addGap(2)
-                                    .addComponent(separator_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
-                                            GroupLayout.PREFERRED_SIZE)
-                                    .addPreferredGap(ComponentPlacement.UNRELATED)
-                                    .addGroup(
-                                            gl_panel.createParallelGroup(Alignment.TRAILING)
-                                                    .addGroup(
-                                                            gl_panel.createParallelGroup(Alignment.LEADING)
-                                                                    .addComponent(lblEnvironmentalVariables)
-                                                                    .addGroup(
-                                                                            gl_panel.createSequentialGroup()
-                                                                                    .addGap(10)
-                                                                                    .addComponent(scrollPane,
-                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                            258,
-                                                                                            GroupLayout.PREFERRED_SIZE)))
-                                                    .addComponent(btnDeleteVariable)).addContainerGap()));
-            gl_panel.setVerticalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addGroup(
-                    gl_panel.createSequentialGroup()
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.LEADING)
-                                            .addComponent(separator_1, GroupLayout.PREFERRED_SIZE, 212,
-                                                    GroupLayout.PREFERRED_SIZE)
-                                            .addGroup(
-                                                    gl_panel.createSequentialGroup()
-                                                            .addComponent(lblLocations)
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(lblWorkingDirectory)
-                                                                            .addComponent(txtWorkingDir,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE))
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(lblInputDirectory)
-                                                                            .addComponent(txtInputDir,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE))
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(txtOutputDir,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE)
-                                                                            .addComponent(lblOutputDirectory))
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addComponent(separator, GroupLayout.PREFERRED_SIZE, 2,
-                                                                    GroupLayout.PREFERRED_SIZE)
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addComponent(label)
-                                                            .addGap(3)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(lblStdin)
-                                                                            .addComponent(txtSTDIN,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE))
-                                                            .addGap(9)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(lblStdout)
-                                                                            .addComponent(txtSTDOUT,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE))
-                                                            .addGap(9)
-                                                            .addGroup(
-                                                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                                                            .addComponent(lblStderr)
-                                                                            .addComponent(txtSTDERR,
-                                                                                    GroupLayout.PREFERRED_SIZE,
-                                                                                    GroupLayout.DEFAULT_SIZE,
-                                                                                    GroupLayout.PREFERRED_SIZE)))
-                                            .addGroup(
-                                                    gl_panel.createSequentialGroup()
-                                                            .addComponent(lblEnvironmentalVariables)
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 153,
-                                                                    GroupLayout.PREFERRED_SIZE)
-                                                            .addPreferredGap(ComponentPlacement.RELATED)
-                                                            .addComponent(btnDeleteVariable)))
-                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
-
-            tblEnv = new JTable();
-            tblEnv.setFillsViewportHeight(true);
-            scrollPane.setViewportView(tblEnv);
-            tblEnv.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-            defaultTableModel = new DefaultTableModel(new Object[][] { { null, null }, }, new String[] { "Name",
-                    "Value" }) {
-                Class[] columnTypes = new Class[] { String.class, String.class };
+        btnDeleteVariable = new JButton("Delete variable");
+        btnDeleteVariable.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                deleteSelectedRows();
+            }
+        });
+        btnDeleteVariable.setEnabled(false);
+        tblEnv = new JTable();
+        tblEnv.setFillsViewportHeight(true);
+        scrollPane.setViewportView(tblEnv);
+        tblEnv.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        defaultTableModel = new DefaultTableModel(new Object[][] { { null, null }, }, new String[] { "Name",
+                "Value" }) {
+            Class[] columnTypes = new Class[] { String.class, String.class };
 
-                public Class getColumnClass(int columnIndex) {
-                    return columnTypes[columnIndex];
-                }
-            };
-            tblEnv.setModel(defaultTableModel);
-            defaultTableModel.addTableModelListener(new TableModelListener() {
-                @Override
-                public void tableChanged(TableModelEvent arg0) {
-                    if (!tableModelChanging) {
-                        addNewRowIfLastIsNotEmpty();
-                    }
+            public Class getColumnClass(int columnIndex) {
+                return columnTypes[columnIndex];
+            }
+        };
+        tblEnv.setModel(defaultTableModel);
+        defaultTableModel.addTableModelListener(new TableModelListener() {
+            @Override
+            public void tableChanged(TableModelEvent arg0) {
+                if (!tableModelChanging) {
+                    addNewRowIfLastIsNotEmpty();
                 }
+            }
 
-            });
-            tblEnv.getColumnModel().getColumn(0).setPreferredWidth(67);
-            tblEnv.getColumnModel().getColumn(1).setPreferredWidth(158);
-            ListSelectionModel selectionModel = tblEnv.getSelectionModel();
-            selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-
-            selectionModel.addListSelectionListener(new ListSelectionListener() {
-                public void valueChanged(ListSelectionEvent e) {
-                    btnDeleteVariable.setEnabled(tblEnv.getSelectedRows().length > 0);
-                }
+        });
+        tblEnv.getColumnModel().getColumn(0).setPreferredWidth(67);
+        tblEnv.getColumnModel().getColumn(1).setPreferredWidth(158);
+        ListSelectionModel selectionModel = tblEnv.getSelectionModel();
+        selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+
+        selectionModel.addListSelectionListener(new ListSelectionListener() {
+            public void valueChanged(ListSelectionEvent e) {
+                btnDeleteVariable.setEnabled(tblEnv.getSelectedRows().length > 0);
+            }
 
-            });
-            gl_panel.setAutoCreateGaps(true);
-            gl_panel.setAutoCreateContainerGaps(true);
-            panel.setLayout(gl_panel);
-        }
+        });
+        
+        GridPanel leftPanel = new GridPanel();
+        leftPanel.add(lblLocations);
+        leftPanel.add(new JLabel());
+        leftPanel.add(lblWorkingDirectory);
+        leftPanel.add(txtWorkingDir);
+        leftPanel.add(lblInputDirectory);
+        leftPanel.add(txtInputDir);
+        leftPanel.add(lblOutputDirectory);
+        leftPanel.add(txtOutputDir);
+        leftPanel.add(lblProgramData);
+        leftPanel.add(new JLabel());
+        leftPanel.add(lblStdin);
+        leftPanel.add(txtSTDIN);
+        leftPanel.add(lblStdout);
+        leftPanel.add(txtSTDOUT);
+        leftPanel.add(lblStderr);
+        leftPanel.add(txtSTDERR);
+        
+        SwingUtil.layoutToGrid(leftPanel.getSwingComponent(), 8, 2, SwingUtil.WEIGHT_NONE, 1);
+        
+        GridPanel rightPanel = new GridPanel();
+        rightPanel.add(lblEnvironmentalVariables);
+        rightPanel.add(scrollPane);
+        rightPanel.add(btnDeleteVariable);
+        
+        SwingUtil.layoutToGrid(rightPanel.getSwingComponent(), 3, 1, 1, 0);
+        
+        panel.add(leftPanel);
+        panel.add(rightPanel);
+        
+        SwingUtil.layoutToGrid(panel.getSwingComponent(), 1, 2, SwingUtil.WEIGHT_NONE, SwingUtil.WEIGHT_EQUALLY);
+        
+        buttonPane.add(okButton);
+        buttonPane.add(cancelButton);
+        
+        getContentPane().add(panel.getSwingComponent());
+        getContentPane().add(buttonPane.getSwingComponent());
+        SwingUtil.layoutToGrid(getContentPane(), 2, 1, 0, 0);
         setResizable(false);
         getRootPane().setDefaultButton(okButton);
     }

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionDialog.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionDialog.java?rev=1210286&r1=1210285&r2=1210286&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionDialog.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ApplicationDescriptionDialog.java Mon Dec  5 00:06:40 2011
@@ -21,50 +21,47 @@
 
 package org.apache.airavata.xbaya.appwrapper;
 
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.GroupLayout;
-import javax.swing.GroupLayout.Alignment;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JSeparator;
-import javax.swing.JTextField;
-import javax.swing.LayoutStyle.ComponentPlacement;
-import javax.swing.SwingConstants;
-
-import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
-import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.commons.gfac.type.ServiceDescription;
-import org.apache.airavata.registry.api.Registry;
-import org.apache.airavata.registry.api.exception.RegistryException;
-import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
-import org.apache.airavata.xbaya.XBayaEngine;
-import org.apache.airavata.xbaya.gui.XBayaLinkButton;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.List;
+import java.util.regex.Pattern;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JSeparator;
+import javax.swing.SwingConstants;
+
+import org.apache.airavata.common.utils.SwingUtil;
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
+import org.apache.airavata.commons.gfac.type.HostDescription;
+import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.registry.api.Registry;
+import org.apache.airavata.registry.api.exception.RegistryException;
+import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
+import org.apache.airavata.xbaya.XBayaEngine;
+import org.apache.airavata.xbaya.gui.GridPanel;
+import org.apache.airavata.xbaya.gui.XBayaLabel;
+import org.apache.airavata.xbaya.gui.XBayaLinkButton;
+import org.apache.airavata.xbaya.gui.XBayaTextField;
 
 public class ApplicationDescriptionDialog extends JDialog implements ActionListener {
     /**
 	 * 
 	 */
     private static final long serialVersionUID = -2745085755585610025L;
-    private JTextField txtExecPath;
-    private JTextField txtAppName;
-    private JTextField txtTempDir;
+    private XBayaTextField txtExecPath;
+    private XBayaTextField txtAppName;
+    private XBayaTextField txtTempDir;
 
     private Registry registry;
     private ApplicationDeploymentDescription shellApplicationDescription;
@@ -141,12 +138,13 @@ public class ApplicationDescriptionDialo
         setTitle("New Deployment Description");
         setBounds(100, 100, 671, 454);
         setModal(true);
-        setLocationRelativeTo(null);
-        getContentPane().setLayout(new BorderLayout());
+        setLocationRelativeTo(null);
+        GridPanel buttonPane = new GridPanel();
+//        getContentPane().setLayout(new BorderLayout());
         {
-            JPanel buttonPane = new JPanel();
-            buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
-            getContentPane().add(buttonPane, BorderLayout.SOUTH);
+        	
+//            buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
+//            getContentPane().add(buttonPane, BorderLayout.SOUTH);
 
             lblError = new JLabel("");
             lblError.setForeground(Color.RED);
@@ -177,36 +175,38 @@ public class ApplicationDescriptionDialo
             }
         }
         {
-            JPanel panel = new JPanel();
-            getContentPane().add(panel, BorderLayout.CENTER);
-            JLabel lblApplicationName = new JLabel("Application name");
-            JLabel lblExecutablePatyh = new JLabel("Executable path");
-            txtExecPath = new JTextField();
-            txtExecPath.addKeyListener(new KeyAdapter() {
+//            JPanel panel = new JPanel();
+//            getContentPane().add(panel, BorderLayout.CENTER);
+            
+            txtExecPath = new XBayaTextField();
+            txtExecPath.getTextField().addKeyListener(new KeyAdapter() {
                 @Override
                 public void keyReleased(KeyEvent e) {
                     setExecutablePath(txtExecPath.getText());
                 }
             });
             txtExecPath.setColumns(10);
-            txtAppName = new JTextField();
-            txtAppName.addKeyListener(new KeyAdapter() {
+            txtAppName = new XBayaTextField();
+            txtAppName.getTextField().addKeyListener(new KeyAdapter() {
                 @Override
                 public void keyReleased(KeyEvent arg0) {
                     setApplicationName(txtAppName.getText());
                 }
             });
-            txtAppName.setColumns(10);
+            txtAppName.setColumns(10);
+            XBayaLabel lblApplicationName = new XBayaLabel("Application name",txtAppName);
+            XBayaLabel lblExecutablePath = new XBayaLabel("Executable path",txtExecPath);
             JSeparator separator_1 = new JSeparator();
-            JLabel lblTemporaryDirectory = new JLabel("Temporary directory");
-            txtTempDir = new JTextField();
-            txtTempDir.addKeyListener(new KeyAdapter() {
+            txtTempDir = new XBayaTextField();
+            txtTempDir.getTextField().addKeyListener(new KeyAdapter() {
                 @Override
                 public void keyReleased(KeyEvent e) {
                     setTempDir(txtTempDir.getText());
                 }
             });
-            txtTempDir.setColumns(10);
+            txtTempDir.setColumns(10);
+            XBayaLabel lblTemporaryDirectory = new XBayaLabel("Temporary directory",txtTempDir);
+
             JButton btnAdvance = new JButton("Advanced options...");
             btnAdvance.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent e) {
@@ -223,8 +223,8 @@ public class ApplicationDescriptionDialo
 
             JSeparator separator = new JSeparator();
 
-            XBayaLinkButton blnkbtnCreateNewService = new XBayaLinkButton("New button");
-            blnkbtnCreateNewService.addActionListener(new ActionListener() {
+            XBayaLinkButton lnkNewService = new XBayaLinkButton("New button");
+            lnkNewService.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent arg0) {
                     try {
                         ServiceDescriptionDialog serviceDescriptionDialog = new ServiceDescriptionDialog(getRegistry());
@@ -239,8 +239,8 @@ public class ApplicationDescriptionDialo
                     }
                 }
             });
-            blnkbtnCreateNewService.setText("Create new service...");
-            blnkbtnCreateNewService.setHorizontalAlignment(SwingConstants.TRAILING);
+            lnkNewService.setText("Create new service...");
+            lnkNewService.setHorizontalAlignment(SwingConstants.TRAILING);
 
             cmbServiceName = new JComboBox();
             cmbServiceName.addActionListener(this);
@@ -248,15 +248,13 @@ public class ApplicationDescriptionDialo
             cmbHostName = new JComboBox();
             cmbHostName.addActionListener(this);
 
-            JLabel label_1 = new JLabel("Host");
+            XBayaLabel lblHostName = new XBayaLabel("Host",cmbHostName);
 
-            XBayaLinkButton bayaLinkButton_1 = new XBayaLinkButton("New button");
-            bayaLinkButton_1.addActionListener(new ActionListener() {
+            XBayaLinkButton lnkNewHost = new XBayaLinkButton("New button");
+            lnkNewHost.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent e) {
                     try {
                         HostDescriptionDialog hostDescriptionDialog = new HostDescriptionDialog(engine);
-                        // TODO : do we need this?
-                        //hostDescriptionDialog.open();
                         hostDescriptionDialog.show();
 
                         if (hostDescriptionDialog.isHostCreated()) {
@@ -269,171 +267,38 @@ public class ApplicationDescriptionDialo
                     }
                 }
             });
-            bayaLinkButton_1.setText("Create new host...");
-            bayaLinkButton_1.setHorizontalAlignment(SwingConstants.TRAILING);
+            lnkNewHost.setText("Create new host...");
+            lnkNewHost.setHorizontalAlignment(SwingConstants.TRAILING);
 
-            JLabel lblService = new JLabel("Service");
+            XBayaLabel lblService = new XBayaLabel("Service",cmbServiceName);
 
             JLabel lblBindThisDeployment = new JLabel("Bind this deployment description to:");
             lblBindThisDeployment.setFont(new Font("Tahoma", Font.BOLD, 11));
-            GroupLayout gl_panel = new GroupLayout(panel);
-            gl_panel.setHorizontalGroup(gl_panel
-                    .createParallelGroup(Alignment.TRAILING)
-                    .addGroup(
-                            gl_panel.createSequentialGroup()
-                                    .addContainerGap()
-                                    .addGroup(
-                                            gl_panel.createParallelGroup(Alignment.LEADING)
-                                                    .addGroup(
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addGroup(
-                                                                            gl_panel.createParallelGroup(
-                                                                                    Alignment.LEADING)
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addGap(12)
-                                                                                                    .addGroup(
-                                                                                                            gl_panel.createParallelGroup(
-                                                                                                                    Alignment.TRAILING)
-                                                                                                                    .addComponent(
-                                                                                                                            lblApplicationName)
-                                                                                                                    .addComponent(
-                                                                                                                            lblExecutablePatyh))
-                                                                                                    .addGap(18)
-                                                                                                    .addGroup(
-                                                                                                            gl_panel.createParallelGroup(
-                                                                                                                    Alignment.LEADING,
-                                                                                                                    false)
-                                                                                                                    .addComponent(
-                                                                                                                            txtExecPath)
-                                                                                                                    .addComponent(
-                                                                                                                            txtAppName,
-                                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                                            309,
-                                                                                                                            GroupLayout.PREFERRED_SIZE)))
-                                                                                    .addComponent(separator_1,
-                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                            425,
-                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                    .addComponent(separator,
-                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                            425,
-                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addGap(10)
-                                                                                                    .addGroup(
-                                                                                                            gl_panel.createParallelGroup(
-                                                                                                                    Alignment.TRAILING)
-                                                                                                                    .addComponent(
-                                                                                                                            btnAdvance)
-                                                                                                                    .addGroup(
-                                                                                                                            gl_panel.createSequentialGroup()
-                                                                                                                                    .addComponent(
-                                                                                                                                            lblTemporaryDirectory)
-                                                                                                                                    .addPreferredGap(
-                                                                                                                                            ComponentPlacement.RELATED)
-                                                                                                                                    .addComponent(
-                                                                                                                                            txtTempDir,
-                                                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                                                            305,
-                                                                                                                                            GroupLayout.PREFERRED_SIZE))))
-                                                                                    .addGroup(
-                                                                                            gl_panel.createSequentialGroup()
-                                                                                                    .addGap(20)
-                                                                                                    .addGroup(
-                                                                                                            gl_panel.createParallelGroup(
-                                                                                                                    Alignment.LEADING)
-                                                                                                                    .addComponent(
-                                                                                                                            lblService)
-                                                                                                                    .addComponent(
-                                                                                                                            label_1,
-                                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                                            77,
-                                                                                                                            GroupLayout.PREFERRED_SIZE))
-                                                                                                    .addPreferredGap(
-                                                                                                            ComponentPlacement.RELATED,
-                                                                                                            51,
-                                                                                                            Short.MAX_VALUE)
-                                                                                                    .addGroup(
-                                                                                                            gl_panel.createParallelGroup(
-                                                                                                                    Alignment.LEADING)
-                                                                                                                    .addComponent(
-                                                                                                                            cmbServiceName,
-                                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                                            313,
-                                                                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                                                                    .addComponent(
-                                                                                                                            cmbHostName,
-                                                                                                                            GroupLayout.PREFERRED_SIZE,
-                                                                                                                            313,
-                                                                                                                            GroupLayout.PREFERRED_SIZE))
-                                                                                                    .addGap(10))
-                                                                                    .addComponent(lblBindThisDeployment))
-                                                                    .addContainerGap())
-                                                    .addGroup(
-                                                            Alignment.TRAILING,
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addComponent(blnkbtnCreateNewService,
-                                                                            GroupLayout.PREFERRED_SIZE, 185,
-                                                                            GroupLayout.PREFERRED_SIZE)
-                                                                    .addContainerGap())
-                                                    .addGroup(
-                                                            Alignment.TRAILING,
-                                                            gl_panel.createSequentialGroup()
-                                                                    .addComponent(bayaLinkButton_1,
-                                                                            GroupLayout.PREFERRED_SIZE, 176,
-                                                                            GroupLayout.PREFERRED_SIZE).addGap(2)))));
-            gl_panel.setVerticalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addGroup(
-                    gl_panel.createSequentialGroup()
-                            .addContainerGap()
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                            .addComponent(txtAppName, GroupLayout.PREFERRED_SIZE,
-                                                    GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                            .addComponent(lblApplicationName))
-                            .addPreferredGap(ComponentPlacement.RELATED)
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                            .addComponent(txtExecPath, GroupLayout.PREFERRED_SIZE,
-                                                    GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                            .addComponent(lblExecutablePatyh))
-                            .addPreferredGap(ComponentPlacement.UNRELATED)
-                            .addComponent(separator_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
-                                    GroupLayout.PREFERRED_SIZE)
-                            .addPreferredGap(ComponentPlacement.UNRELATED)
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                            .addComponent(lblTemporaryDirectory)
-                                            .addComponent(txtTempDir, GroupLayout.PREFERRED_SIZE,
-                                                    GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                            .addPreferredGap(ComponentPlacement.RELATED)
-                            .addComponent(btnAdvance)
-                            .addPreferredGap(ComponentPlacement.UNRELATED)
-                            .addComponent(separator, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
-                                    GroupLayout.PREFERRED_SIZE)
-                            .addPreferredGap(ComponentPlacement.UNRELATED)
-                            .addComponent(lblBindThisDeployment)
-                            .addPreferredGap(ComponentPlacement.RELATED)
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                            .addComponent(cmbServiceName, GroupLayout.PREFERRED_SIZE,
-                                                    GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                            .addComponent(lblService))
-                            .addGap(2)
-                            .addComponent(blnkbtnCreateNewService, GroupLayout.PREFERRED_SIZE, 23,
-                                    GroupLayout.PREFERRED_SIZE)
-                            .addPreferredGap(ComponentPlacement.RELATED)
-                            .addGroup(
-                                    gl_panel.createParallelGroup(Alignment.BASELINE)
-                                            .addComponent(cmbHostName, GroupLayout.PREFERRED_SIZE,
-                                                    GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                                            .addComponent(label_1)).addPreferredGap(ComponentPlacement.RELATED)
-                            .addComponent(bayaLinkButton_1, GroupLayout.PREFERRED_SIZE, 23, GroupLayout.PREFERRED_SIZE)
-                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
-            gl_panel.setAutoCreateGaps(true);
-            gl_panel.setAutoCreateContainerGaps(true);
-            panel.setLayout(gl_panel);
+
+            GridPanel infoPanel = new GridPanel();
+            infoPanel.add(lblApplicationName);
+            infoPanel.add(txtAppName);
+            infoPanel.add(lblExecutablePath);
+            infoPanel.add(txtExecPath);
+            infoPanel.add(lblTemporaryDirectory);
+            infoPanel.add(txtTempDir);
+            infoPanel.add(new JLabel());
+            infoPanel.add(btnAdvance);
+            infoPanel.add(lblBindThisDeployment);
+            infoPanel.add(new JLabel());
+            infoPanel.add(lblService);
+            infoPanel.add(cmbServiceName);
+            infoPanel.add(new JLabel());
+            infoPanel.add(lnkNewService);
+            infoPanel.add(lblHostName);
+            infoPanel.add(cmbHostName);
+            infoPanel.add(new JLabel());
+            infoPanel.add(lnkNewHost);
+            
+            SwingUtil.layoutToGrid(infoPanel.getSwingComponent(), 9, 2, SwingUtil.WEIGHT_NONE, 1);
+            getContentPane().add(infoPanel.getSwingComponent());
+            getContentPane().add(buttonPane.getSwingComponent());
+            SwingUtil.layoutToGrid(getContentPane(), 2, 1, -1, 0);
             loadServiceDescriptions();
             loadHostDescriptions();
         }

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java?rev=1210286&r1=1210285&r2=1210286&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java Mon Dec  5 00:06:40 2011
@@ -35,12 +35,9 @@ import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.regex.Pattern;
 
 import javax.jcr.PathNotFoundException;
 import javax.swing.DefaultCellEditor;
-import javax.swing.GroupLayout;
-import javax.swing.GroupLayout.Alignment;
 import javax.swing.JButton;
 import javax.swing.JComboBox;
 import javax.swing.JDialog;
@@ -49,8 +46,6 @@ import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JSeparator;
 import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.ListSelectionModel;
 import javax.swing.WindowConstants;
 import javax.swing.event.ListSelectionEvent;
@@ -60,6 +55,7 @@ import javax.swing.event.TableModelListe
 import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableColumn;
 
+import org.apache.airavata.common.utils.SwingUtil;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
 import org.apache.airavata.registry.api.Registry;
 import org.apache.airavata.registry.api.exception.RegistryException;
@@ -68,13 +64,16 @@ import org.apache.airavata.schemas.gfac.
 import org.apache.airavata.schemas.gfac.OutputParameterType;
 import org.apache.airavata.schemas.gfac.ParameterType;
 import org.apache.airavata.schemas.gfac.ServiceDescriptionType;
+import org.apache.airavata.xbaya.gui.GridPanel;
+import org.apache.airavata.xbaya.gui.XBayaLabel;
+import org.apache.airavata.xbaya.gui.XBayaTextField;
 
 public class ServiceDescriptionDialog extends JDialog {
 
     private static final long serialVersionUID = 2705760838264284423L;
-    private final JPanel contentPanel = new JPanel();
-    private JLabel lblServiceName;
-    private JTextField txtServiceName;
+    private final GridPanel contentPanel = new GridPanel();
+    private XBayaLabel lblServiceName;
+    private XBayaTextField txtServiceName;
     private JTable tblParameters;
     private boolean serviceCreated = false;
     private JLabel lblError;
@@ -140,21 +139,18 @@ public class ServiceDescriptionDialog ex
         borderLayout.setVgap(5);
         borderLayout.setHgap(5);
         getContentPane().setLayout(borderLayout);
-        contentPanel.setBorder(null);
-        getContentPane().add(contentPanel, BorderLayout.EAST);
-        {
-            lblServiceName = new JLabel("Service name");
-        }
+//        contentPanel.setBorder(null);
+//        getContentPane().add(contentPanel, BorderLayout.EAST);
 
-        txtServiceName = new JTextField();
-        txtServiceName.addKeyListener(new KeyAdapter() {
+        txtServiceName = new XBayaTextField();
+        txtServiceName.getSwingComponent().addKeyListener(new KeyAdapter() {
             @Override
             public void keyReleased(KeyEvent e) {
                 setServiceName(txtServiceName.getText());
             }
         });
         txtServiceName.setColumns(10);
-
+        lblServiceName = new XBayaLabel("Service name",txtServiceName);
         JSeparator separator = new JSeparator();
 
         JLabel lblInputParameters = new JLabel("Service Parameters");
@@ -170,80 +166,80 @@ public class ServiceDescriptionDialog ex
             }
         });
         btnDeleteParameter.setEnabled(false);
-        GroupLayout gl_contentPanel = new GroupLayout(contentPanel);
-        gl_contentPanel
-                .setHorizontalGroup(gl_contentPanel
-                        .createParallelGroup(Alignment.TRAILING)
-                        .addGroup(
-                                gl_contentPanel
-                                        .createSequentialGroup()
-                                        .addContainerGap(212, Short.MAX_VALUE)
-                                        .addGroup(
-                                                gl_contentPanel
-                                                        .createParallelGroup(Alignment.LEADING)
-                                                        .addGroup(
-                                                                gl_contentPanel
-                                                                        .createSequentialGroup()
-                                                                        .addComponent(separator,
-                                                                                GroupLayout.PREFERRED_SIZE,
-                                                                                GroupLayout.DEFAULT_SIZE,
-                                                                                GroupLayout.PREFERRED_SIZE)
-                                                                        .addContainerGap())
-                                                        .addGroup(
-                                                                gl_contentPanel
-                                                                        .createParallelGroup(Alignment.TRAILING, false)
-                                                                        .addGroup(
-                                                                                gl_contentPanel
-                                                                                        .createSequentialGroup()
-                                                                                        .addGroup(
-                                                                                                gl_contentPanel
-                                                                                                        .createParallelGroup(
-                                                                                                                Alignment.TRAILING)
-                                                                                                        .addComponent(
-                                                                                                                scrollPane,
-                                                                                                                GroupLayout.PREFERRED_SIZE,
-                                                                                                                380,
-                                                                                                                GroupLayout.PREFERRED_SIZE)
-                                                                                                        .addComponent(
-                                                                                                                btnDeleteParameter))
-                                                                                        .addGap(27))
-                                                                        .addGroup(
-                                                                                gl_contentPanel
-                                                                                        .createSequentialGroup()
-                                                                                        .addGroup(
-                                                                                                gl_contentPanel
-                                                                                                        .createParallelGroup(
-                                                                                                                Alignment.LEADING)
-                                                                                                        .addComponent(
-                                                                                                                lblInputParameters)
-                                                                                                        .addGroup(
-                                                                                                                gl_contentPanel
-                                                                                                                        .createSequentialGroup()
-                                                                                                                        .addComponent(
-                                                                                                                                lblServiceName)
-                                                                                                                        .addGap(18)
-                                                                                                                        .addComponent(
-                                                                                                                                txtServiceName,
-                                                                                                                                GroupLayout.PREFERRED_SIZE,
-                                                                                                                                309,
-                                                                                                                                GroupLayout.PREFERRED_SIZE)))
-                                                                                        .addGap(30))))));
-        gl_contentPanel.setVerticalGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING).addGroup(
-                gl_contentPanel
-                        .createSequentialGroup()
-                        .addContainerGap(42, Short.MAX_VALUE)
-                        .addGroup(
-                                gl_contentPanel
-                                        .createParallelGroup(Alignment.BASELINE)
-                                        .addComponent(lblServiceName)
-                                        .addComponent(txtServiceName, GroupLayout.PREFERRED_SIZE,
-                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                        .addPreferredGap(ComponentPlacement.UNRELATED)
-                        .addComponent(separator, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
-                                GroupLayout.PREFERRED_SIZE).addGap(12).addComponent(lblInputParameters)
-                        .addPreferredGap(ComponentPlacement.RELATED)
-                        .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 182, GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(ComponentPlacement.RELATED).addComponent(btnDeleteParameter).addGap(78)));
+//        GroupLayout gl_contentPanel = new GroupLayout(contentPanel);
+//        gl_contentPanel
+//                .setHorizontalGroup(gl_contentPanel
+//                        .createParallelGroup(Alignment.TRAILING)
+//                        .addGroup(
+//                                gl_contentPanel
+//                                        .createSequentialGroup()
+//                                        .addContainerGap(212, Short.MAX_VALUE)
+//                                        .addGroup(
+//                                                gl_contentPanel
+//                                                        .createParallelGroup(Alignment.LEADING)
+//                                                        .addGroup(
+//                                                                gl_contentPanel
+//                                                                        .createSequentialGroup()
+//                                                                        .addComponent(separator,
+//                                                                                GroupLayout.PREFERRED_SIZE,
+//                                                                                GroupLayout.DEFAULT_SIZE,
+//                                                                                GroupLayout.PREFERRED_SIZE)
+//                                                                        .addContainerGap())
+//                                                        .addGroup(
+//                                                                gl_contentPanel
+//                                                                        .createParallelGroup(Alignment.TRAILING, false)
+//                                                                        .addGroup(
+//                                                                                gl_contentPanel
+//                                                                                        .createSequentialGroup()
+//                                                                                        .addGroup(
+//                                                                                                gl_contentPanel
+//                                                                                                        .createParallelGroup(
+//                                                                                                                Alignment.TRAILING)
+//                                                                                                        .addComponent(
+//                                                                                                                scrollPane,
+//                                                                                                                GroupLayout.PREFERRED_SIZE,
+//                                                                                                                380,
+//                                                                                                                GroupLayout.PREFERRED_SIZE)
+//                                                                                                        .addComponent(
+//                                                                                                                btnDeleteParameter))
+//                                                                                        .addGap(27))
+//                                                                        .addGroup(
+//                                                                                gl_contentPanel
+//                                                                                        .createSequentialGroup()
+//                                                                                        .addGroup(
+//                                                                                                gl_contentPanel
+//                                                                                                        .createParallelGroup(
+//                                                                                                                Alignment.LEADING)
+//                                                                                                        .addComponent(
+//                                                                                                                lblInputParameters)
+//                                                                                                        .addGroup(
+//                                                                                                                gl_contentPanel
+//                                                                                                                        .createSequentialGroup()
+//                                                                                                                        .addComponent(
+//                                                                                                                                lblServiceName)
+//                                                                                                                        .addGap(18)
+//                                                                                                                        .addComponent(
+//                                                                                                                                txtServiceName,
+//                                                                                                                                GroupLayout.PREFERRED_SIZE,
+//                                                                                                                                309,
+//                                                                                                                                GroupLayout.PREFERRED_SIZE)))
+//                                                                                        .addGap(30))))));
+//        gl_contentPanel.setVerticalGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING).addGroup(
+//                gl_contentPanel
+//                        .createSequentialGroup()
+//                        .addContainerGap(42, Short.MAX_VALUE)
+//                        .addGroup(
+//                                gl_contentPanel
+//                                        .createParallelGroup(Alignment.BASELINE)
+//                                        .addComponent(lblServiceName)
+//                                        .addComponent(txtServiceName, GroupLayout.PREFERRED_SIZE,
+//                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+//                        .addPreferredGap(ComponentPlacement.UNRELATED)
+//                        .addComponent(separator, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
+//                                GroupLayout.PREFERRED_SIZE).addGap(12).addComponent(lblInputParameters)
+//                        .addPreferredGap(ComponentPlacement.RELATED)
+//                        .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 182, GroupLayout.PREFERRED_SIZE)
+//                        .addPreferredGap(ComponentPlacement.RELATED).addComponent(btnDeleteParameter).addGap(78)));
 
         tblParameters = new JTable();
         tblParameters.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
@@ -256,7 +252,7 @@ public class ServiceDescriptionDialog ex
             @Override
             public void tableChanged(TableModelEvent arg0) {
                 int selectedRow = tblParameters.getSelectedRow();
-                if (selectedRow != -1) {
+                if (selectedRow != -1 && defaultTableModel.getRowCount()>0) {
                     Object parameterIOType = defaultTableModel.getValueAt(selectedRow, 0);
                     Object parameterDataType = defaultTableModel.getValueAt(selectedRow, 2);
                     if (parameterIOType == null || parameterIOType.equals("")) {
@@ -292,18 +288,17 @@ public class ServiceDescriptionDialog ex
 
         });
 
-        gl_contentPanel.setAutoCreateContainerGaps(true);
-        gl_contentPanel.setAutoCreateGaps(true);
-        contentPanel.setLayout(gl_contentPanel);
+//        gl_contentPanel.setAutoCreateContainerGaps(true);
+//        gl_contentPanel.setAutoCreateGaps(true);
+//        contentPanel.setLayout(gl_contentPanel);
+        GridPanel buttonPane = new GridPanel();
         {
-            JPanel buttonPane = new JPanel();
-            getContentPane().add(buttonPane, BorderLayout.SOUTH);
             GridBagLayout gbl_buttonPane = new GridBagLayout();
             gbl_buttonPane.columnWidths = new int[] { 307, 136, 0 };
             gbl_buttonPane.rowHeights = new int[] { 33, 0 };
             gbl_buttonPane.columnWeights = new double[] { 0.0, 0.0, Double.MIN_VALUE };
             gbl_buttonPane.rowWeights = new double[] { 0.0, Double.MIN_VALUE };
-            buttonPane.setLayout(gbl_buttonPane);
+            
 
             lblError = new JLabel("");
             lblError.setForeground(Color.RED);
@@ -311,13 +306,13 @@ public class ServiceDescriptionDialog ex
             gbc_lblError.insets = new Insets(0, 0, 0, 5);
             gbc_lblError.gridx = 0;
             gbc_lblError.gridy = 0;
-            buttonPane.add(lblError, gbc_lblError);
+            buttonPane.add(lblError);
             JPanel panel = new JPanel();
             GridBagConstraints gbc_panel = new GridBagConstraints();
             gbc_panel.anchor = GridBagConstraints.NORTHWEST;
             gbc_panel.gridx = 1;
             gbc_panel.gridy = 0;
-            buttonPane.add(panel, gbc_panel);
+            buttonPane.add(panel);
             {
                 okButton = new JButton("Save");
                 okButton.setEnabled(false);
@@ -345,6 +340,21 @@ public class ServiceDescriptionDialog ex
                 cancelButton.setActionCommand("Cancel");
             }
         }
+        
+        contentPanel.add(lblServiceName);
+        contentPanel.add(txtServiceName);
+        GridPanel parameterPanel=new GridPanel();
+        parameterPanel.add(lblInputParameters);
+        parameterPanel.add(scrollPane);
+        parameterPanel.add(btnDeleteParameter);
+        
+        SwingUtil.layoutToGrid(contentPanel.getSwingComponent(), 1, 2, SwingUtil.WEIGHT_NONE, 1);
+        SwingUtil.layoutToGrid(parameterPanel.getSwingComponent(), 3, 1, 1, 0);
+        
+        getContentPane().add(contentPanel.getSwingComponent());
+        getContentPane().add(parameterPanel.getSwingComponent());
+        getContentPane().add(buttonPane.getSwingComponent());
+        SwingUtil.layoutToGrid(getContentPane(), 3, 1, 1, 0);
         setResizable(false);
         getRootPane().setDefaultButton(okButton);
     }
@@ -408,7 +418,7 @@ public class ServiceDescriptionDialog ex
 
         ServiceDescription serviceDescription2 = null;
         try {
-            serviceDescription2 = getRegistry().getServiceDescription(Pattern.quote(getServiceName()));
+            serviceDescription2 = getRegistry().getServiceDescription(getServiceName());
         } catch (RegistryException e) {
             if (e.getCause() instanceof PathNotFoundException) {
                 // non-existant name. just want we want
@@ -473,7 +483,7 @@ public class ServiceDescriptionDialog ex
     private void deleteSelectedRows() {
         // TODO confirm deletion of selected rows
         int selectedRow = tblParameters.getSelectedRow();
-        while (selectedRow >= 0) {
+        while (selectedRow >= 0 && tblParameters.getRowCount()>0) {
             defaultTableModel.removeRow(selectedRow);
             selectedRow = tblParameters.getSelectedRow();
         }
@@ -481,10 +491,20 @@ public class ServiceDescriptionDialog ex
     }
 
     private void addNewRowIfLastIsNotEmpty() {
-        Object parameterName = defaultTableModel.getValueAt(defaultTableModel.getRowCount() - 1, 1);
-        if (parameterName != null && !parameterName.equals("")) {
-            defaultTableModel.addRow(new Object[] { null, null, null, null });
-        }
+    	
+        if (defaultTableModel.getRowCount()>0) {
+			Object parameterName = defaultTableModel.getValueAt(
+					defaultTableModel.getRowCount() - 1, 1);
+			if (parameterName != null && !parameterName.equals("")) {
+				defaultTableModel
+						.addRow(new Object[] { null, null, null, null });
+			}
+		}else{
+			if (tblParameters.getSelectedRow()==-1){
+				defaultTableModel.addRow(new Object[] { null, null, null, null });
+			}
+			
+		}
     }
 
     public Registry getRegistry() {