/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * dlgKoneksi.java
 *
 * Created on Apr 13, 2010, 10:04:44 AM
 */

package xmlinverter;

import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;


/**
 *
 * @author hero
 */
public class dlgKoneksi extends javax.swing.JDialog {
    private mainProgram m1;
    JFileChooser fc;
    int pilihan=0;
    
    /** Creates new form dlgKoneksi */
   public dlgKoneksi(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        m1 = (mainProgram) parent ;
        initComponents();
    }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        cbTipeFile = new javax.swing.JComboBox();
        lblServer = new javax.swing.JLabel();
        txtServer = new javax.swing.JTextField();
        lblUser = new javax.swing.JLabel();
        lblPassword = new javax.swing.JLabel();
        txtUser = new javax.swing.JTextField();
        txtPassword = new javax.swing.JPasswordField();
        jButton1 = new javax.swing.JButton();
        lblDatabase = new javax.swing.JLabel();
        jButton2 = new javax.swing.JButton();
        comboDatabase = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        comboInstansi = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        txtPath = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Connection Form"); // NOI18N

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel1.setText("Database Type");
        jLabel1.setName("jLabel1"); // NOI18N

        cbTipeFile.setFont(new java.awt.Font("Tahoma", 0, 10));
        cbTipeFile.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "MySQL", "maxDB", " " }));
        cbTipeFile.setName("cbTipeFile"); // NOI18N
        cbTipeFile.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cbTipeFileItemStateChanged(evt);
            }
        });

        lblServer.setFont(new java.awt.Font("Tahoma", 0, 10));
        lblServer.setText("Server Name");
        lblServer.setEnabled(false);
        lblServer.setName("lblServer"); // NOI18N

        txtServer.setFont(new java.awt.Font("Tahoma", 0, 10));
        txtServer.setText("localhost");
        txtServer.setName("txtServer"); // NOI18N

        lblUser.setFont(new java.awt.Font("Tahoma", 0, 10));
        lblUser.setText("User");
        lblUser.setEnabled(false);
        lblUser.setName("lblUser"); // NOI18N

        lblPassword.setFont(new java.awt.Font("Tahoma", 0, 10));
        lblPassword.setText("Password");
        lblPassword.setEnabled(false);
        lblPassword.setName("lblPassword"); // NOI18N

        txtUser.setFont(new java.awt.Font("Tahoma", 0, 10));
        txtUser.setText("root");
        txtUser.setName("txtUser"); // NOI18N

        txtPassword.setFont(new java.awt.Font("Tahoma", 0, 10));
        txtPassword.setName("txtPassword"); // NOI18N

        jButton1.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton1.setText("Connect");
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        lblDatabase.setFont(new java.awt.Font("Tahoma", 0, 10));
        lblDatabase.setText("Database Name");
        lblDatabase.setEnabled(false);
        lblDatabase.setName("lblDatabase"); // NOI18N

        jButton2.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton2.setText("Cancel");
        jButton2.setName("jButton2"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        comboDatabase.setFont(new java.awt.Font("Tahoma", 0, 10));
        comboDatabase.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "dbinteroperabilitas", " " }));
        comboDatabase.setName("comboDatabase"); // NOI18N

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel2.setText("Instance");
        jLabel2.setName("jLabel2"); // NOI18N

        comboInstansi.setFont(new java.awt.Font("Tahoma", 0, 10));
        comboInstansi.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Ditjen Adminduk", "Dep Kesehatan", "BPS", "Bappenas" }));
        comboInstansi.setName("comboInstansi"); // NOI18N

        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel3.setText("Path");
        jLabel3.setName("jLabel3"); // NOI18N

        txtPath.setText("D:/testing/");
        txtPath.setName("txtPath"); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addComponent(lblServer)
                    .addComponent(lblDatabase)
                    .addComponent(lblUser)
                    .addComponent(lblPassword)
                    .addComponent(jLabel3)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtPath)
                    .addComponent(txtPassword)
                    .addComponent(txtUser)
                    .addComponent(comboDatabase, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(txtServer, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(comboInstansi, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(cbTipeFile, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(35, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(14, 14, 14)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(comboInstansi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addGap(6, 6, 6)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cbTipeFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblServer))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblDatabase)
                    .addComponent(comboDatabase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(9, 9, 9)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblUser)
                    .addComponent(txtUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblPassword)
                    .addComponent(txtPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(txtPath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
    
    private void cbTipeFileItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbTipeFileItemStateChanged
        // Menu pilihan tipe file
        String test=cbTipeFile.getSelectedItem().toString();
      /* if((test=="Excel")||((test=="Access")))  {stateButton(1);}else {stateButton(0);}
        */
        pilihan=cbTipeFile.getSelectedIndex();
        System.out.println(test+"-"+Integer.toString(pilihan));
    }//GEN-LAST:event_cbTipeFileItemStateChanged

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // Koneksi
        String server = null,database = null,user = null,password=null;
        int noInstansi = 0;
        noInstansi=comboInstansi.getSelectedIndex();
        System.out.println(noInstansi);
        String path=txtPath.getText();
 
        noInstansi=comboInstansi.getSelectedIndex();
        server=txtServer.getText();
        database=comboDatabase.getSelectedItem().toString();
        user=txtUser.getText();
        password=txtPassword.getText();
        
        m1.hasilKoneksi(path,noInstansi,server,database,user,password,pilihan);
        dispose();
    }//GEN-LAST:event_jButton1ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // Tombol Cancel
        dispose();
    }//GEN-LAST:event_jButton2ActionPerformed

    private void stateButton(int jenis){
      if(jenis==1){
        //jbBrowse.setEnabled(true);
        //txtFile.setEnabled(true);

        txtServer.setEnabled(false);
        comboDatabase.setEnabled(false);
        txtUser.setEnabled(false);
        txtPassword.setEnabled(false);

        lblServer.setEnabled(false);
        lblDatabase.setEnabled(false);
        lblUser.setEnabled(false);
        lblPassword.setEnabled(false);

      }
      else {
        //jbBrowse.setEnabled(false);
        //txtFile.setEnabled(false);
        txtServer.setEnabled(true);
        comboDatabase.setEnabled(true);
        txtUser.setEnabled(true);
        txtPassword.setEnabled(true);

        lblServer.setEnabled(true);
        lblDatabase.setEnabled(true);
        lblUser.setEnabled(true);
        lblPassword.setEnabled(true);

        //buat mempercepat testing
        txtServer.setText("localhost");
        txtUser.setText("root");
        txtPassword.setText("");


      }
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                dlgKoneksi dialog = new dlgKoneksi(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JComboBox cbTipeFile;
    private javax.swing.JComboBox comboDatabase;
    private javax.swing.JComboBox comboInstansi;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel lblDatabase;
    private javax.swing.JLabel lblPassword;
    private javax.swing.JLabel lblServer;
    private javax.swing.JLabel lblUser;
    private javax.swing.JPasswordField txtPassword;
    private javax.swing.JTextField txtPath;
    private javax.swing.JTextField txtServer;
    private javax.swing.JTextField txtUser;
    // End of variables declaration//GEN-END:variables

}
