public Databases(){
super();
super.setLocationRelativeTo(this.getParent());
PropertyConfigurator.configure(ClassLoader.getSystemResource("be/xtnd/db_updater/log4j.properties"));
FormPanel pane = new FormPanel( "be/xtnd/commons/gui/descriptions/sql_databases.jfrm" );
title = (TitledSeparator)pane.getComponentByName("title");
title.setText(CommonsI18n.tr("Browse databases"));
db_title = (TitledSeparator)pane.getComponentByName("db_title");
db_title.setText(CommonsI18n.tr("Database creation (root only)"));
host_label = pane.getLabel("host_label");
host_label.setText(CommonsI18n.tr("Host"));
host = pane.getTextField("host");
host.setText(host_value);
port_label = pane.getLabel("port_label");
port_label.setText(CommonsI18n.tr("Port"));
port = pane.getTextField("port");
port.setText(port_value);
user_label = pane.getLabel("user_label");
user_label.setText(CommonsI18n.tr("User name"));
user = pane.getTextField("user");
user.setText(user_value);
passe_label = pane.getLabel("passe_label");
passe_label.setText(CommonsI18n.tr("Password"));
passe = (JPasswordField)pane.getComponentByName("passe");
passe.setText(passe_value);
args_label = pane.getLabel("args_label");
args_label.setText(CommonsI18n.tr("Arguments"));
args = pane.getTextField("args");
args.setText(args_value);
connect = (JButton) pane.getButton("connect");
connect.setText(CommonsI18n.trc("Connection button (text)", "Connection"));
connect.setToolTipText(CommonsI18n.trc("Connection button (tooltip)", "Connection to the database with parameters you've entered"));
connect.setMnemonic(CommonsI18n.trc("Connection button (mnemonic)", "o").charAt(0));
connect.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
host_value = host.getText();
port_value = port.getText();
user_value = user.getText();
passe_value = new String(passe.getPassword());
args_value = args.getText();
sql_server = buildSqlServer();
connect();
initTree(tree);
}
});
select = (JButton) pane.getButton("select");
select.setText(CommonsI18n.trc("Select button (text)", "Select"));
select.setToolTipText(CommonsI18n.trc("Select button (tooltip)", "Choose a database in tree"));
select.setMnemonic(CommonsI18n.trc("Select button (mnemonic)", "s").charAt(0));
select.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
TreePath[] paths = tree.getSelectionPaths();
component.setText(paths[0].getLastPathComponent().toString());
dispose();
}
});
quit = (JButton) pane.getButton("quit");
quit.setText(CommonsI18n.trc("Close button (text)", "Close"));
quit.setToolTipText(CommonsI18n.trc("Close button (tooltip)", "Close window without selecting any database"));
quit.setMnemonic(CommonsI18n.trc("Close button (mnemonic)", "c").charAt(0));
quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
db.disconnect();
dispose();
}
});
tree = pane.getTree("databases");
initTree(tree);
create_label = pane.getLabel("create_label");
create_label.setText(CommonsI18n.tr("Enter a name"));
create = pane.getTextField("create");
create_user_label = pane.getLabel("create_user_label");
create_user_label.setText(CommonsI18n.tr("User name"));
create_user_label.setEnabled(false);
create_user = pane.getTextField("create_user");
create_user.setEnabled(false);
create_password_label = pane.getLabel("create_password_label");
create_password_label.setText(CommonsI18n.tr("Password"));
create_password_label.setEnabled(false);
create_password = (JPasswordField)pane.getComponentByName("create_password");
create_password.setEnabled(false);
enable_user = pane.getCheckBox("enable_user");
enable_user.setText(CommonsI18n.tr("Save user"));
enable_user.setToolTipText(CommonsI18n.tr("If active, user and its associated password will be saved.\nUser will get utilisation permissions on the database."));
enable_user.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
create_user_label.setEnabled(enable_user.isSelected());
create_user.setEnabled(enable_user.isSelected());
create_password_label.setEnabled(enable_user.isSelected());
create_password.setEnabled(enable_user.isSelected());
}
});
create_btn = (JButton)pane.getComponentByName("create_btn");
create_btn.setText(CommonsI18n.tr("Create database"));
create_btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(verifEntrees()){
connect();
ArrayList<String> createQueries = createDatabase();
Iterator<String> i = createQueries.iterator();
while(i.hasNext()){
String qry = (String)i.next();
try {
logger.debug("Query : "+qry);
System.out.println("req. : " + qry);
db.execUpdate(qry);
} catch (SQLException e1) {
logger.fatal("SQLException while create database : "+e1.getMessage()+" (code "+e1.getErrorCode()+")");
logger.debug("Message was : "+e1.getMessage());
logger.debug("Error Code : "+e1.getErrorCode());
e1.printStackTrace();
}
}
initTree(tree);
int startRow = 0;
String prefix = create.getText();
TreePath path = tree.getNextMatch(prefix, startRow, Position.Bias.Forward);
tree.setSelectionPath(path);
}
}
});
export_title = (TitledSeparator)pane.getComponentByName("export_title");
export_title.setText(CommonsI18n.trc("Title", "Export"));
xml_export = pane.getRadioButton("xml_export");
xml_export.setText(CommonsI18n.tr("XML File"));
sql_export = pane.getRadioButton("sql_export");
sql_export.setText(CommonsI18n.tr("SQL File"));
sql_export.setSelected(true);
btn_group = new ButtonGroup();
btn_group.add(xml_export);
btn_group.add(sql_export);
structure = pane.getCheckBox("structure");
structure.setText(CommonsI18n.tr("Structure"));
datas = pane.getCheckBox("datas");
datas.setText(CommonsI18n.tr("Datas"));
export = (JButton)pane.getButton("export");
export.setText(CommonsI18n.trc("Button", "Export"));
export.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
TreePath[] paths = tree.getSelectionPaths();
if(paths==null || paths.length==0){