Package com.commander4j.sys

Source Code of com.commander4j.sys.JDialogArchiveProperties

package com.commander4j.sys;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.text.AbstractDocument;

import com.commander4j.db.JDBArchive;
import com.commander4j.db.JDBControl;
import com.commander4j.db.JDBLanguage;
import com.commander4j.gui.JButton4j;
import com.commander4j.gui.JCheckBox4j;
import com.commander4j.gui.JLabel4j_std;
import com.commander4j.gui.JTextField4j;
import com.commander4j.util.JFixedSizeFilter;
import com.commander4j.util.JHelp;
import com.commander4j.util.JUtility;

public class JDialogArchiveProperties extends JDialog {
  private static final long serialVersionUID = 1;
  private JDesktopPane jDesktopPane1;
  private JLabel4j_std jLabelDescription;
  private JButton4j jButtonClose;
  private JButton4j jButtonHelp;
  private JTextField4j jTextFieldSQLTable;
  private JTextField4j jTextFieldDescription;
  private JTextField4j jTextFieldArchiveID;
  private JButton4j jButtonUpdate;
  private JLabel4j_std jLabelArchiveID;
  private JLabel4j_std jLabelSQLStatement;
  private String larchiveID;
  private JCheckBox4j chckbxEnabled = new JCheckBox4j();
  private JCheckBox4j chckbxBackgroundTask = new JCheckBox4j();
  private JLabel4j_std labelEnabled = new JLabel4j_std();
  private JSpinner jSpinnerRetention = new JSpinner();
  private JSpinner jSpinnerSequence = new JSpinner();
  private JTextField4j jTextFieldSQLCriteria = new JTextField4j();
  private JDBArchive arch = new JDBArchive(Common.selectedHostID, Common.sessionID);
  private JDBLanguage lang = new JDBLanguage(Common.selectedHostID, Common.sessionID);
  private JLabel4j_std label4jArchiveBefore = new JLabel4j_std();

  public JDialogArchiveProperties(JFrame parent, String archiveID) {

    super(parent);

    initGUI();

    final JHelp help = new JHelp();
    help.enableHelpOnButton(jButtonHelp, JUtility.getHelpSetIDforModule("FRM_ADMIN_ARCHIVE_EDIT"));

    jTextFieldArchiveID.setText(archiveID);
    setTitle(getTitle() + " - " + archiveID);
    larchiveID = archiveID;

    arch.setArchiveID(larchiveID);
    arch.getArchiveProperties();

    jTextFieldDescription.setText(arch.getDescription());
    jTextFieldSQLTable.setText(arch.getSQLTable());

    jTextFieldSQLCriteria.setText(arch.getSQLCriteria());

    chckbxEnabled.setSelected(arch.isEnabled());
    chckbxBackgroundTask.setSelected(arch.isBackgroundTask());

    jSpinnerSequence.setValue(arch.getSequence());
    jSpinnerRetention.setValue(arch.getRetentionDays());
    jButtonUpdate.setEnabled(false);

    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        jTextFieldDescription.requestFocus();
        jTextFieldDescription.setCaretPosition(jTextFieldDescription.getText().length());
        jButtonUpdate.setEnabled(false);
 
      }
    });
  }

  private boolean update() {
    boolean result = true;
    arch.setDescription(jTextFieldDescription.getText());
    arch.setSQLTable(jTextFieldSQLTable.getText());
    arch.setSQLCriterial(jTextFieldSQLCriteria.getText());
    arch.setEnabled(chckbxEnabled.isSelected());
    arch.setBackgroundTask(chckbxBackgroundTask.isSelected());
    arch.setSequence((int) jSpinnerSequence.getValue());
    arch.setRetentionDays((int) jSpinnerRetention.getValue());
    arch.update();
    jButtonUpdate.setEnabled(false);
    return result;
  }

  private void initGUI() {
    try {
      // setDefaultLookAndFeelDecorated(true);
      setPreferredSize(new java.awt.Dimension(460, 163));
      this.setBounds(25, 25, 678, 298);
      setModal(true);
      this.setTitle("Archive Properties");
      getContentPane().setLayout(null);

      {
        jDesktopPane1 = new JDesktopPane();
        jDesktopPane1.setBounds(0, 0, 678, 274);
        jDesktopPane1.setBackground(Common.color_edit_properties);
        this.getContentPane().add(jDesktopPane1);
        jDesktopPane1.setPreferredSize(new Dimension(452, 140));
        jDesktopPane1.setLayout(null);
        {
          jLabelSQLStatement = new JLabel4j_std();
          jDesktopPane1.add(jLabelSQLStatement);
          jLabelSQLStatement.setText(lang.get("lbl_Table"));
          jLabelSQLStatement.setBounds(5, 86, 185, 19);
          jLabelSQLStatement.setHorizontalAlignment(SwingConstants.RIGHT);
          jLabelSQLStatement.setHorizontalTextPosition(SwingConstants.RIGHT);
        }
        {
          jLabelArchiveID = new JLabel4j_std();
          jDesktopPane1.add(jLabelArchiveID);
          jLabelArchiveID.setText(lang.get("lbl_Archive_ID"));
          jLabelArchiveID.setHorizontalAlignment(SwingConstants.RIGHT);
          jLabelArchiveID.setHorizontalTextPosition(SwingConstants.RIGHT);
          jLabelArchiveID.setBounds(5, 16, 185, 19);
        }
        {
          jLabelDescription = new JLabel4j_std();
          jDesktopPane1.add(jLabelDescription);
          jLabelDescription.setText(lang.get("lbl_Description"));
          jLabelDescription.setHorizontalAlignment(SwingConstants.RIGHT);
          jLabelDescription.setHorizontalTextPosition(SwingConstants.RIGHT);
          jLabelDescription.setBounds(5, 51, 185, 19);
        }
        {

          jButtonUpdate = new JButton4j(Common.icon_update);
          jDesktopPane1.add(jButtonUpdate);
          jButtonUpdate.setText(lang.get("btn_Save"));
          jButtonUpdate.setBounds(90, 222, 126, 32);
          jButtonUpdate.setMnemonic(java.awt.event.KeyEvent.VK_S);
          jButtonUpdate.setEnabled(false);
          jButtonUpdate.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
              update();
            }
          });
        }
        {
          jButtonClose = new JButton4j(Common.icon_close);
          jDesktopPane1.add(jButtonClose);
          jButtonClose.setText(lang.get("btn_Close"));
          jButtonClose.setBounds(493, 222, 126, 32);
          jButtonClose.setMnemonic(java.awt.event.KeyEvent.VK_C);
          jButtonClose.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
              dispose();
            }
          });
        }
        {
          jTextFieldArchiveID = new JTextField4j();
          jTextFieldArchiveID.setFocusable(false);
          jDesktopPane1.add(jTextFieldArchiveID);
          jTextFieldArchiveID.setHorizontalAlignment(SwingConstants.LEFT);
          jTextFieldArchiveID.setEditable(false);
          jTextFieldArchiveID.setPreferredSize(new java.awt.Dimension(100, 20));
          jTextFieldArchiveID.setBounds(202, 15, 151, 21);
          jTextFieldArchiveID.setEnabled(false);
        }
        {
          jTextFieldDescription = new JTextField4j();
          jDesktopPane1.add(jTextFieldDescription);
          AbstractDocument doc = (AbstractDocument) jTextFieldDescription.getDocument();
          doc.setDocumentFilter(new JFixedSizeFilter(JDBControl.field_key_value));
          jTextFieldDescription.setPreferredSize(new java.awt.Dimension(40, 20));
          jTextFieldDescription.setFocusCycleRoot(true);
          jTextFieldDescription.setBounds(202, 49, 260, 21);
          jTextFieldDescription.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent evt) {
              jButtonUpdate.setEnabled(true);
            }
          });

        }
        {
          jTextFieldSQLTable = new JTextField4j();
          jDesktopPane1.add(jTextFieldSQLTable);
          AbstractDocument doc = (AbstractDocument) jTextFieldSQLTable.getDocument();
          doc.setDocumentFilter(new JFixedSizeFilter(JDBControl.field_description));
          jTextFieldSQLTable.setPreferredSize(new java.awt.Dimension(40, 20));
          jTextFieldSQLTable.setFocusCycleRoot(true);
          jTextFieldSQLTable.setBounds(202, 84, 260, 21);
          jTextFieldSQLTable.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent evt) {
              jButtonUpdate.setEnabled(true);
            }
          });
        }
        {
          jButtonHelp = new JButton4j(Common.icon_help);
          jDesktopPane1.add(jButtonHelp);
          jButtonHelp.setText(lang.get("btn_Help"));
          jButtonHelp.setBounds(360, 222, 126, 32);
          jButtonHelp.setMnemonic(java.awt.event.KeyEvent.VK_H);
        }

        labelEnabled.setText(lang.get("lbl_Enabled"));
        labelEnabled.setFont(Common.font_std);
        labelEnabled.setHorizontalTextPosition(SwingConstants.RIGHT);
        labelEnabled.setHorizontalAlignment(SwingConstants.RIGHT);
        labelEnabled.setBounds(468, 16, 151, 19);
        jDesktopPane1.add(labelEnabled);

        chckbxEnabled.setBounds(624, 12, 28, 23);
        chckbxEnabled.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });
        jDesktopPane1.add(chckbxEnabled);
       
        chckbxBackgroundTask.setBounds(624, 47, 28, 23);
        chckbxBackgroundTask.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });
        jDesktopPane1.add(chckbxBackgroundTask);

        JLabel4j_std label4jRetention = new JLabel4j_std();
        label4jRetention.setText(lang.get("lbl_Retention_Days"));
        label4jRetention.setHorizontalTextPosition(SwingConstants.RIGHT);
        label4jRetention.setHorizontalAlignment(SwingConstants.RIGHT);
        label4jRetention.setBounds(5, 158, 185, 19);
        jDesktopPane1.add(label4jRetention);

        JLabel4j_std label4j_Sequence = new JLabel4j_std();
        label4j_Sequence.setText(lang.get("lbl_Sequence_ID"));
        label4j_Sequence.setHorizontalTextPosition(SwingConstants.RIGHT);
        label4j_Sequence.setHorizontalAlignment(SwingConstants.RIGHT);
        label4j_Sequence.setBounds(5, 191, 185, 19);
        jDesktopPane1.add(label4j_Sequence);

        SpinnerNumberModel jSpinnerIntModel = new SpinnerNumberModel();
        jSpinnerIntModel.setMinimum(30);
        jSpinnerIntModel.setMaximum(9999);

        jSpinnerIntModel.setStepSize(1);
        jSpinnerRetention = new JSpinner();
        jSpinnerRetention.addKeyListener(new KeyAdapter() {
          @Override
          public void keyTyped(KeyEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });
        jSpinnerRetention.addChangeListener(new ChangeListener() {
          public void stateChanged(ChangeEvent e) {
            jButtonUpdate.setEnabled(true);
            arch.setRetentionDays((int) jSpinnerRetention.getValue());
            label4jArchiveBefore.setText(arch.getSQLArchiveDate().toString().substring(0, 16));
          }
        });
        jSpinnerRetention.setModel(jSpinnerIntModel);
        jSpinnerRetention.setBounds(202, 152, 79, 28);

        jSpinnerRetention.getEditor().setSize(45, 21);
        JSpinner.NumberEditor ne = new JSpinner.NumberEditor(jSpinnerRetention);
        ne.getTextField().setFont(Common.font_std);
        jSpinnerRetention.setEditor(ne);
        jDesktopPane1.add(jSpinnerRetention);

        SpinnerNumberModel jSpinnerSeqModel = new SpinnerNumberModel();
        jSpinnerSeqModel.setMinimum(0);
        jSpinnerSeqModel.setMaximum(9990);

        jSpinnerSeqModel.setStepSize(10);
        jSpinnerSequence = new JSpinner();
        jSpinnerSequence.addKeyListener(new KeyAdapter() {
          @Override
          public void keyTyped(KeyEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });
        jSpinnerSequence.addChangeListener(new ChangeListener() {
          public void stateChanged(ChangeEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });

        JSpinner.NumberEditor ne2 = new JSpinner.NumberEditor(jSpinnerSequence);
        ne2.getTextField().setFont(Common.font_std);
        jSpinnerSequence.setEditor(ne2);
        jSpinnerSequence.setModel(jSpinnerSeqModel);
        jSpinnerSequence.setBounds(202, 185, 79, 28);

        jSpinnerSequence.getEditor().setSize(45, 21);

        jDesktopPane1.add(jSpinnerSequence);

        jTextFieldSQLCriteria.setText("");
        jTextFieldSQLCriteria.setPreferredSize(new Dimension(40, 20));
        jTextFieldSQLCriteria.setFocusCycleRoot(true);
        jTextFieldSQLCriteria.setBounds(202, 117, 450, 21);
        jTextFieldSQLCriteria.addKeyListener(new KeyAdapter() {
          @Override
          public void keyTyped(KeyEvent e) {
            jButtonUpdate.setEnabled(true);
          }
        });
        jDesktopPane1.add(jTextFieldSQLCriteria);

        JLabel4j_std label4j_Criteria = new JLabel4j_std();
        label4j_Criteria.setText(lang.get("lbl_Criteria"));
        label4j_Criteria.setHorizontalTextPosition(SwingConstants.RIGHT);
        label4j_Criteria.setHorizontalAlignment(SwingConstants.RIGHT);
        label4j_Criteria.setBounds(5, 117, 185, 19);
        jDesktopPane1.add(label4j_Criteria);

        JButton4j jButtonRun = new JButton4j(Common.icon_execute);
        jButtonRun.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            update();
            JDBArchive c = new JDBArchive(Common.selectedHostID, Common.sessionID);
            c.runManual(larchiveID);
          }
        });
        jButtonRun.setText(lang.get("btn_Run"));
        jButtonRun.setMnemonic(KeyEvent.VK_H);
        jButtonRun.setBounds(222, 222, 126, 32);
        jDesktopPane1.add(jButtonRun);
       
        JLabel4j_std label4jBackgroundTask = new JLabel4j_std();
        label4jBackgroundTask.setText(lang.get("lbl_Background_Task"));
        label4jBackgroundTask.setHorizontalTextPosition(SwingConstants.RIGHT);
        label4jBackgroundTask.setHorizontalAlignment(SwingConstants.RIGHT);
        label4jBackgroundTask.setFont(Common.font_std);
        label4jBackgroundTask.setBounds(468, 51, 151, 19);
        jDesktopPane1.add(label4jBackgroundTask);
       

        label4jArchiveBefore.setText((String) null);
        label4jArchiveBefore.setHorizontalTextPosition(SwingConstants.LEFT);
        label4jArchiveBefore.setHorizontalAlignment(SwingConstants.LEFT);
        label4jArchiveBefore.setBounds(293, 158, 185, 19);
        jDesktopPane1.add(label4jArchiveBefore);

      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
TOP

Related Classes of com.commander4j.sys.JDialogArchiveProperties

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.