setTitle("Update Deployment Description: "+getOriginalDeploymentDescription().getType().getApplicationName().getStringValue());
}
setBounds(100, 100, 600, 620);
setModal(true);
setLocationRelativeTo(null);
GridPanel buttonPane = new GridPanel();
// getContentPane().setLayout(new BorderLayout());
{
// buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
// getContentPane().add(buttonPane, BorderLayout.SOUTH);
lblError = new JLabel("");
lblError.setForeground(Color.RED);
buttonPane.add(lblError);
if (!isNewDescritor()){
JButton resetButton = new JButton("Reset");
resetButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
loadData();
}
});
buttonPane.add(resetButton);
}
{
okButton = new JButton("Save");
if (!isNewDescritor()){
okButton.setText("Update");
}
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveApplicationDescription();
close();
}
});
okButton.setEnabled(false);
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("Cancel");
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setApplicationDescCreated(false);
close();
}
});
cancelButton.setActionCommand("Cancel");
buttonPane.add(cancelButton);
}
}
{
// JPanel panel = new JPanel();
// getContentPane().add(panel, BorderLayout.CENTER);
GridPanel execPath=new GridPanel();
txtExecPath = new XBayaTextField();
txtExecPath.getTextField().addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
setExecutablePath(txtExecPath.getText());
}
});
txtExecPath.getTextField().addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
super.focusLost(e);
updateTempDirWithExecPath(txtExecPath.getText());
}
});
txtExecPath.setColumns(10);
JButton execBrowse=new JButton("Browse...");
execBrowse.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser c = new JFileChooser();
int rVal = c.showOpenDialog(null);
if (rVal == JFileChooser.APPROVE_OPTION) {
txtExecPath.setText(c.getSelectedFile().toString());
setExecutablePath(txtExecPath.getText());
}
}
});
execPath.add(txtExecPath);
execPath.add(execBrowse);
execPath.layout(1, 2, 0, 0);
txtAppName = new XBayaTextField();
txtAppName.getTextField().addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent arg0) {
setApplicationName(txtAppName.getText());
}
});
txtAppName.setColumns(10);
XBayaLabel lblApplicationName = new XBayaLabel("Application name",txtAppName);
XBayaLabel lblExecutablePath = new XBayaLabel("Executable path",txtExecPath);
GridPanel tmpDirPath=new GridPanel();
txtTempDir = new XBayaTextField();
txtTempDir.getTextField().addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
setTempDir(txtTempDir.getText());
}
});
txtTempDir.setColumns(10);
JButton tmpDirBrowse=new JButton("Browse...");
tmpDirBrowse.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int rVal = c.showOpenDialog(null);
if (rVal == JFileChooser.APPROVE_OPTION) {
txtTempDir.setText(c.getSelectedFile().toString());
setTempDir(txtTempDir.getText());
}
}
});
tmpDirPath.add(txtTempDir);
tmpDirPath.add(tmpDirBrowse);
tmpDirPath.layout(1, 2, 0, 0);
XBayaLabel lblTemporaryDirectory = new XBayaLabel("Temporary directory",txtTempDir);
JButton btnAdvance = new JButton("Advanced options...");
btnAdvance.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
ApplicationDescriptionAdvancedOptionDialog serviceDescriptionDialog = new ApplicationDescriptionAdvancedOptionDialog(
getRegistry(), getShellApplicationDescription());
serviceDescriptionDialog.open();
} catch (Exception e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1.getLocalizedMessage());
}
}
});
XBayaLinkButton lnkNewService = new XBayaLinkButton("New button");
lnkNewService.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
ServiceDescriptionDialog serviceDescriptionDialog = new ServiceDescriptionDialog(getRegistry());
serviceDescriptionDialog.open();
if (serviceDescriptionDialog.isServiceCreated()) {
loadServiceDescriptions();
cmbServiceName.setSelectedItem(serviceDescriptionDialog.getServiceName());
}
} catch (Exception e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1.getLocalizedMessage());
}
}
});
lnkNewService.setText("Create new service...");
lnkNewService.setHorizontalAlignment(SwingConstants.TRAILING);
cmbServiceName = new JComboBox();
cmbServiceName.addActionListener(this);
// cmbServiceName.setRenderer(new DefaultListCellRenderer());
cmbHostName = new JComboBox();
cmbHostName.addActionListener(this);
XBayaLabel lblHostName = new XBayaLabel("Host",cmbHostName);
XBayaLinkButton lnkNewHost = new XBayaLinkButton("New button");
lnkNewHost.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
HostDescriptionDialog hostDescriptionDialog = new HostDescriptionDialog(engine);
hostDescriptionDialog.open();
if (hostDescriptionDialog.isHostCreated()) {
loadHostDescriptions();
cmbHostName.setSelectedItem(hostDescriptionDialog.getHostLocation());
}
} catch (Exception e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1.getLocalizedMessage());
}
}
});
lnkNewHost.setText("Create new host...");
lnkNewHost.setHorizontalAlignment(SwingConstants.TRAILING);
XBayaLabel lblService = new XBayaLabel("Service",cmbServiceName);
JLabel lblBindThisDeployment = new JLabel("Bind this deployment description to:");
lblBindThisDeployment.setFont(new Font("Tahoma", Font.BOLD, 11));
btnHostAdvanceOptions=new JButton("Gram Configuration...");
btnHostAdvanceOptions.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
ApplicationDescriptionHostAdvancedOptionDialog hostAdvancedOptionsDialog = new ApplicationDescriptionHostAdvancedOptionDialog(getRegistry(),getShellApplicationDescription());
hostAdvancedOptionsDialog.open();
} catch (Exception e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1.getLocalizedMessage());
}
}
});
GridPanel hostPanel=new GridPanel();
hostPanel.add(cmbHostName);
hostPanel.add(btnHostAdvanceOptions);
SwingUtil.layoutToGrid(hostPanel.getSwingComponent(), 1, 2, 0, 0);
GridPanel infoPanel0 = new GridPanel();
infoPanel0.add(lblApplicationName);
infoPanel0.add(txtAppName);
GridPanel infoPanel1 = new GridPanel();
infoPanel1.add(lblExecutablePath);
infoPanel1.add(execPath);
infoPanel1.add(lblTemporaryDirectory);
infoPanel1.add(tmpDirPath);
// infoPanel1.add(new JLabel());
// infoPanel1.add(btnAdvance);
GridPanel infoPanel2 = new GridPanel();
// infoPanel2.add(new JSeparator());
infoPanel2.add(lblBindThisDeployment);
GridPanel infoPanel3 = new GridPanel();
infoPanel3.add(lblService);
infoPanel3.add(cmbServiceName);
infoPanel3.add(new JLabel());
infoPanel3.add(lnkNewService);
infoPanel3.add(lblHostName);
infoPanel3.add(hostPanel);
infoPanel3.add(new JLabel());
infoPanel3.add(lnkNewHost);
GridPanel infoPanel4=new GridPanel();
infoPanel4.add(new JLabel());
infoPanel4.add(btnAdvance);
infoPanel4.layout(1, 2, 0, 0);
SwingUtil.layoutToGrid(infoPanel0.getSwingComponent(), 1, 2, SwingUtil.WEIGHT_NONE, 1);
SwingUtil.layoutToGrid(infoPanel1.getSwingComponent(), 2, 2, SwingUtil.WEIGHT_NONE, 1);
SwingUtil.layoutToGrid(infoPanel2.getSwingComponent(), 1, 1, SwingUtil.WEIGHT_NONE, 0);
SwingUtil.layoutToGrid(infoPanel3.getSwingComponent(), 4, 2, SwingUtil.WEIGHT_NONE, 1);
GridPanel infoPanel = new GridPanel();
infoPanel.add(infoPanel0);
infoPanel.add(new JSeparator());
infoPanel.add(infoPanel1);
infoPanel.add(new JSeparator());
infoPanel.add(infoPanel2);
infoPanel.add(infoPanel3);
infoPanel.add(new JSeparator());
infoPanel.add(infoPanel4);
SwingUtil.layoutToGrid(infoPanel.getSwingComponent(), 8, 1, SwingUtil.WEIGHT_NONE, 0);
SwingUtil.layoutToGrid(buttonPane.getSwingComponent(), 1, buttonPane.getContentPanel().getComponentCount(),SwingUtil.WEIGHT_NONE,0);
getContentPane().add(infoPanel.getSwingComponent());
getContentPane().add(buttonPane.getSwingComponent());
buttonPane.getSwingComponent().setBorder(BorderFactory.createEtchedBorder());
infoPanel.getSwingComponent().setBorder(BorderFactory.createEtchedBorder());
SwingUtil.layoutToGrid(getContentPane(), 2, 1, -1, 0);
loadServiceDescriptions();
loadHostDescriptions();
}