/*
* Copyright (c) 1998-2011 Caucho Technology -- all rights reserved
*
* This file is part of Resin(R) Open Source
*
* Each copy or derived work must preserve the copyright notice and this
* notice unmodified.
*
* Resin Open Source is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Resin Open Source is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
* of NON-INFRINGEMENT. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License
* along with Resin Open Source; if not, write to the
*
* Free Software Foundation, Inc.
* 59 Temple Place, Suite 330
* Boston, MA 02111-1307 USA
*
* @author Alex Rojkov
*/
package com.caucho.netbeans;
import org.openide.WizardDescriptor;
import org.openide.util.ChangeSupport;
import javax.swing.*;
import java.awt.*;
import java.util.logging.Logger;
public class ResinInstanceCustomizer extends JPanel
{
private final static Logger log
= Logger.getLogger(AddResinServerPanel.class.getName());
//
private JComboBox _versionsBox;
private JButton _goBtn;
private JProgressBar _progressBar;
private JTextField _home;
private JCheckBox _useHomeAsRootChk;
private JLabel _rootLbl;
private JTextField _root;
private JButton _rootBtn;
private JTextField _hostName;
private JTextField _address;
private JTextField _port;
private JTextField _user;
private JTextField _password;
private JTextField _conf;
private java.util.List<String> _versions;
private ChangeSupport _support;
private WizardDescriptor.ValidatingPanel _panel;
private WizardDescriptor _wd;
ResinInstanceCustomizer(ResinInstance resin)
{
init(resin);
}
public void init(ResinInstance resin)
{
_support = new ChangeSupport(this);
//
setLayout(new GridBagLayout());
//download: button, choose resin combobox, go button
GridBagConstraints constraints = new GridBagConstraints();
constraints.anchor = GridBagConstraints.WEST;
constraints.gridx = 0;
constraints.gridy = 0;
//-------
//resin-home: label, resin home dir,
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.left = constraints.insets.right = 0;
constraints.insets.top = constraints.insets.bottom = 0;
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 0;
add(new JLabel("Resin Home"), constraints);
_home = new JTextField(resin.getHome());
_home.setEnabled(false);
constraints.gridx = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_home, constraints);
/* JButton button = new JButton(new SelectResinHomeAction());
constraints.gridx = 2;
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 0;
add(button, constraints);
*/
//-------
//resin-root: label, editbox, button
_rootLbl = new JLabel("Resin root");
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.left = 0;
constraints.gridwidth = 1;
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 0;
add(_rootLbl, constraints);
_root = new JTextField(resin.getRoot());
_root.setEnabled(false);
constraints.gridx = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_root, constraints);
/*
_rootBtn = new JButton("...");
_rootBtn.setEnabled(false);
constraints.gridx = 2;
constraints.insets.left = 0;
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 0;
add(_rootBtn, constraints);
*/
//-------
//host name: label, editbox
constraints.gridx = 0;
constraints.gridy++;
add(new JLabel("Resin's host name"), constraints);
_hostName = new JTextField(resin.getHost());
_hostName.setEnabled(false);
constraints.gridx = 1;
constraints.insets.right = 20;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_hostName, constraints);
//-------
//address/ip: label, editbox
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.right = 0;
constraints.fill = GridBagConstraints.NONE;
constraints.weightx = 0;
add(new JLabel("Address"), constraints);
_address = new JTextField(resin.getAddress());
_address.setEnabled(false);
constraints.gridx = 1;
constraints.insets.right = 20;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_address, constraints);
//-------
//http-port: label,editbox
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.right = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0;
add(new JLabel("Port"), constraints);
_port = new JTextField(Integer.toString(resin.getPort()));
_port.setEnabled(false);
constraints.gridx = 1;
constraints.insets.right = 20;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_port, constraints);
//-------
//user: label,editbox
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.right = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0;
add(new JLabel("User"), constraints);
_user = new JTextField(resin.getUser());
_user.setEnabled(false);
constraints.gridx = 1;
constraints.insets.right = 20;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_user, constraints);
//password: label,editbox
constraints.gridx = 0;
constraints.gridy++;
constraints.insets.right = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0;
add(new JLabel("Password"), constraints);
_password = new JTextField(resin.getPassword());
_password.setEnabled(false);
constraints.gridx = 1;
constraints.insets.right = 20;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
add(_password, constraints);
//configuration: resin.xml
JLabel confLbl = new JLabel("Configuration");
constraints.gridy++;
constraints.gridx = 0;
constraints.gridwidth = 1;
constraints.insets.top = 0;
constraints.weightx = 0;
add(confLbl, constraints);
_conf = new JTextField(resin.getConf());
_conf.setEnabled(false);
constraints.gridx = 1;
constraints.weightx = 1;
add(_conf, constraints);
//-------
//label: "Select which resin configuration you want to use with this server
//-------
//radio: copy default configuration into the project
//-------
//use configuration in resin-home
//
}
}