⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 octopusloaderpanel.java

📁 数据仓库工具
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package org.webdocwf.util.loader.wizard;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;

public class OctopusLoaderPanel
    extends JPanel {

  private static final String LOG_MODE = " Log mode",
      RESTART_INDICATOR = " Restart indicator",
      USER_ID = " User Id",
      VARIABLES = " Variables",
      LOG_FILE_DIRECTORY = " Log file directory",
      LOG_FILE_NAME = " Log file name",
      VENDOR_CONF_FILE = " Specific vendor conf file",
      ON_ERRORCONTINUE = " On error continue",
      ADDITIONAL_CLASSPATH = " Aditional classpath",
      COMMIT_COUNT = " Comit count",
      RETURN_CODE = " Return code",
      PATH_TO_XML_FILE = " Path to loaderJob.olj file",
      INCLUDE_TABLES = " Include List",
      PATH_TO_CONF_JAR = " Path to conf files in jar";

  //dimensions
//  private static Dimension bigButton = new Dimension(110, 25);
//  private static Dimension smallComponent = new Dimension(150, 20);
//  private static Dimension bigComponent = new Dimension(400, 20);
//  private static Dimension veryBigComponent = new Dimension(650, 20);
//  private static Dimension veryBigPlusButton = new Dimension(630, 20);
//  private static Dimension panelComponenet = new Dimension(720, 40);

  JSplitPane main;

  Border loweredBorder = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
  Border raisedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
  Border bevelBorder = BorderFactory.createLoweredBevelBorder();

//  private OctopusProjectFrame parent;
  private JPanel commonPanel;
  private OctopusLoaderData initData;
  private HashMap fields;
  private JTextArea traceArea;
  private JTextField additionalPath;

  public OctopusLoaderPanel() {

//    this.parent = parent;
    fields = new HashMap();
    //generatorOptions
//    JPanel loaderOptionsUp = new JPanel();
//    JPanel loaderOptionsDown = new JPanel();

    //generator input data
    JTabbedPane octopusLoaderData = new JTabbedPane();
    commonPanel = new JPanel();
    commonPanel.setLayout(new BoxLayout(commonPanel, BoxLayout.Y_AXIS));
    octopusLoaderData.addTab("Input Parameters", commonPanel);

//    loaderOptionsUp.setLayout(new BoxLayout(loaderOptionsUp, BoxLayout.Y_AXIS));
//    loaderOptionsUp.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
//    JButton help = createOctopusButton("Help", bigButton);
//    help.setAction(new OctopusHelpAction());
//    loaderOptionsUp.add(help);

    //generatorOptionsDown panel
//    loaderOptionsDown.setLayout(new BoxLayout(loaderOptionsDown, BoxLayout.Y_AXIS));
//    loaderOptionsDown.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
//    JButton start = createOctopusButton("Start", bigButton);
//    start.setAction(new StartOctopusLoader());
//    JButton stop = createOctopusButton("Stop", bigButton);
//    stop.setAction(new StopOctopusLoader());
//	 JButton save = createOctopusButton("Save", bigButton);
//	 save.setAction(new SaveProjectAction());    
//	 loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5)));
//	 loaderOptionsDown.add(start);
//	 loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5))); 
//    loaderOptionsDown.add(stop);
//	 loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5)));
//	 loaderOptionsDown.add(save);
//	 loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,15)));
//	 loaderOptionsDown.add(help);

    //generatorOptions
//    JSplitPane generatorOptions = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true,
//        loaderOptionsUp, loaderOptionsDown);
//    generatorOptions.setOneTouchExpandable(true);
//    generatorOptions.setDividerLocation(0);

    //log mode
    JLabel strLogMode = OctopusProjectFrame.createOctopusLabel(LOG_MODE, OctopusGeneratorPanel.smallComponent);
    JComboBox logMode = OctopusProjectFrame.createOctopusCombobox(LOG_MODE, OctopusGeneratorPanel.veryBigComponent);
    //restart indicator
    JLabel strRestartIndicator = OctopusProjectFrame.createOctopusLabel(RESTART_INDICATOR, OctopusGeneratorPanel.smallComponent);
    JTextField restartIndicator = OctopusProjectFrame.createOctopusTextField(RESTART_INDICATOR, OctopusGeneratorPanel.veryBigComponent);
    //user id
    JLabel strUserId = OctopusProjectFrame.createOctopusLabel(USER_ID, OctopusGeneratorPanel.smallComponent);
    JTextField userId = OctopusProjectFrame.createOctopusTextField(USER_ID, OctopusGeneratorPanel.veryBigComponent);
    //variables
    JLabel strVariables = OctopusProjectFrame.createOctopusLabel(VARIABLES, OctopusGeneratorPanel.smallComponent);
    JTextField variables = OctopusProjectFrame.createOctopusTextField(VARIABLES, OctopusGeneratorPanel.veryBigComponent);
    //log file directory
    JLabel strLogFileDir = OctopusProjectFrame.createOctopusLabel(LOG_FILE_DIRECTORY, OctopusGeneratorPanel.smallComponent);
    JTextField logFileDir = OctopusProjectFrame.createOctopusTextField(LOG_FILE_DIRECTORY, OctopusGeneratorPanel.veryBigPlusButton);
    JButton logDirButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
    logDirButton.setAction(new BrowseAction_LD());
    //log file name
    JLabel strLogFileName = OctopusProjectFrame.createOctopusLabel(LOG_FILE_NAME, OctopusGeneratorPanel.smallComponent);
    JTextField logFileName = OctopusProjectFrame.createOctopusTextField(LOG_FILE_NAME, OctopusGeneratorPanel.veryBigComponent);
    //specific vendor conf file
    JLabel strSpecVendorConf = OctopusProjectFrame.createOctopusLabel(VENDOR_CONF_FILE, OctopusGeneratorPanel.smallComponent);
    JTextField specVendorConf = OctopusProjectFrame.createOctopusTextField(VENDOR_CONF_FILE, OctopusGeneratorPanel.veryBigPlusButton);
    JButton specVendorButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
    specVendorButton.setAction(new BrowseAction_XML());
    //on error continue
    JLabel strOnError = OctopusProjectFrame.createOctopusLabel(ON_ERRORCONTINUE, OctopusGeneratorPanel.smallComponent);
    JTextField onError = OctopusProjectFrame.createOctopusTextField(ON_ERRORCONTINUE, OctopusGeneratorPanel.veryBigComponent);
    //commit count
    JLabel strCommitCount = OctopusProjectFrame.createOctopusLabel(COMMIT_COUNT, OctopusGeneratorPanel.smallComponent);
    JTextField commitCount = OctopusProjectFrame.createOctopusTextField(COMMIT_COUNT, OctopusGeneratorPanel.veryBigComponent);
    //return code
    JLabel strReturnCode = OctopusProjectFrame.createOctopusLabel(RETURN_CODE, OctopusGeneratorPanel.smallComponent);
    JTextField returnCode = OctopusProjectFrame.createOctopusTextField(RETURN_CODE, OctopusGeneratorPanel.veryBigComponent);
    //pathe to olj file
    JLabel strPathToOlj = OctopusProjectFrame.createOctopusLabel(PATH_TO_XML_FILE, OctopusGeneratorPanel.smallComponent);
    JTextField pathToOlj = OctopusProjectFrame.createOctopusTextField(PATH_TO_XML_FILE, OctopusGeneratorPanel.veryBigPlusButton);
    JButton pathToOljButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
    pathToOljButton.setAction(new BrowseAction_OLJ());
    //include list
    JLabel strIncludeList = OctopusProjectFrame.createOctopusLabel(INCLUDE_TABLES, OctopusGeneratorPanel.smallComponent);
    JTextField includeList = OctopusProjectFrame.createOctopusTextField(INCLUDE_TABLES, OctopusGeneratorPanel.veryBigComponent);
    //path to conf files in jar file
    JLabel strPathToConf = OctopusProjectFrame.createOctopusLabel(PATH_TO_CONF_JAR, OctopusGeneratorPanel.smallComponent);
    JTextField pathToConf = OctopusProjectFrame.createOctopusTextField(PATH_TO_CONF_JAR, OctopusGeneratorPanel.veryBigComponent);
    //additional classpaths
	 JLabel strAdditionalPath = OctopusProjectFrame.createOctopusLabel(ADDITIONAL_CLASSPATH, OctopusGeneratorPanel.smallComponent);
	 additionalPath = OctopusProjectFrame.createOctopusTextField(ADDITIONAL_CLASSPATH, OctopusGeneratorPanel.veryBigPlusButton);
	 JButton additionalPathButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
	 additionalPathButton.setAction(new BrowseAction_AC());

    JPanel inputParamPanelLabel = new JPanel();
    inputParamPanelLabel.setLayout(new BoxLayout(inputParamPanelLabel, BoxLayout.Y_AXIS));
    JPanel inputParamPanelField = new JPanel();
    inputParamPanelField.setLayout(new BoxLayout(inputParamPanelField, BoxLayout.Y_AXIS));

    commonPanel.add(Box.createRigidArea(new Dimension(0, 15)));
    createRow(strLogMode, logMode, null);
    fields.put(LOG_MODE, logMode);
    createRow(strRestartIndicator, restartIndicator, null);
    fields.put(RESTART_INDICATOR, restartIndicator);
    createRow(strUserId, userId, null);
    fields.put(USER_ID, userId);
    createRow(strVariables, variables, null);
    fields.put(VARIABLES, variables);
    createRow(strLogFileDir, logFileDir, logDirButton);
    fields.put(LOG_FILE_DIRECTORY, logFileDir);
    createRow(strLogFileName, logFileName, null);
    fields.put(LOG_FILE_NAME, logFileName);
    createRow(strSpecVendorConf, specVendorConf, specVendorButton);
    fields.put(VENDOR_CONF_FILE, specVendorConf);
    createRow(strOnError, onError, null);
    fields.put(ON_ERRORCONTINUE, onError);
    createRow(strCommitCount, commitCount, null);
    fields.put(COMMIT_COUNT, commitCount);
    createRow(strReturnCode, returnCode, null);
    fields.put(RETURN_CODE, returnCode);
    createRow(strPathToOlj, pathToOlj, pathToOljButton);
    fields.put(PATH_TO_XML_FILE, pathToOlj);
    createRow(strIncludeList, includeList, null);
    fields.put(INCLUDE_TABLES, includeList);
    createRow(strPathToConf, pathToConf, null);
    fields.put(PATH_TO_CONF_JAR, pathToConf);
	 createRow(strAdditionalPath, additionalPath, additionalPathButton);
	 fields.put(ADDITIONAL_CLASSPATH, additionalPath);

//    JSplitPane generatorInputData = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
//        generatorOptions, octopusLoaderData);
//	JSplitPane generatorInputData = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
//			new JPanel(), octopusLoaderData);

    // output panel
    JPanel textAreaPanel = new JPanel();
    textAreaPanel.setLayout(new BoxLayout(textAreaPanel, BoxLayout.X_AXIS));
    JPanel areaOptionPanel = new JPanel();
    areaOptionPanel.setLayout(new BoxLayout(areaOptionPanel, BoxLayout.Y_AXIS));
    traceArea = new JTextArea(18, 130);
    traceArea.setLineWrap(true);
    traceArea.setEditable(false);
    traceArea.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
    JScrollPane scrollPane = new JScrollPane(traceArea,
        ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
        ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

    scrollPane.setBorder(setTitleOfBorder("Log Octopus Loader output ... ", loweredBorder));
    JButton fullScreen = OctopusProjectFrame.createOctopusButton("Full Screen", new Dimension(25, 25));
    fullScreen.setAction(new FullScreenAction());
    JButton normalScreen = OctopusProjectFrame.createOctopusButton("Normal Screen", new Dimension(25, 25));
    normalScreen.setAction(new NormalScreenAction());
    JButton saveScreen = OctopusProjectFrame.createOctopusButton("Save Trace", new Dimension(25, 25));
    saveScreen.setAction(new SaveTraceAction());
    JButton clearTrace = OctopusProjectFrame.createOctopusButton("Clear Trace", new Dimension(25, 25));
    clearTrace.setAction(new ClearTraceAction());
	 
    areaOptionPanel.add(fullScreen);
    areaOptionPanel.add(normalScreen);
    areaOptionPanel.add(saveScreen);
    areaOptionPanel.add(clearTrace);
    areaOptionPanel.add(Box.createVerticalGlue());
    areaOptionPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));

//    JPanel areaOptionMainPanel = new JPanel(new BorderLayout());
//    areaOptionMainPanel.add(areaOptionPanel, BorderLayout.PAGE_START);

    textAreaPanel.add(areaOptionPanel);
    textAreaPanel.add(scrollPane);
//    main = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, generatorInputData,
//        textAreaPanel);
	 main = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, octopusLoaderData,
			textAreaPanel);
    main.setOneTouchExpandable(true);
//    main.setDividerLocation(450);

//    Container container = getContentPane();
    setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
    add(main);
    setBounds(0, 0, 970, 480);
  }

  public JTextArea getTraceArea() {
  	return this.traceArea;
  }

  private void createRow(JLabel label, JComponent component, JButton button) {

    JPanel jp = new JPanel();
    jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));

    jp.add(label);
    jp.add(component);
    if(button != null)
      jp.add(button);
    jp.add(Box.createHorizontalGlue());

    commonPanel.add(jp);
  }

  private Border setTitleOfBorder(String title, Border border) {
    Border inb = BorderFactory.createTitledBorder(border, title);
    return inb;
  }

//  private JButton createOctopusButton(String componentName, Dimension dimension) {
//
//    JButton button = new JButton();
//    if(!componentName.equalsIgnoreCase(""))
//      button.setText(componentName);
//
//    button.setAlignmentX(Component.LEFT_ALIGNMENT);
//    button.setAlignmentY(Component.CENTER_ALIGNMENT);
//    button.setMinimumSize(new Dimension(dimension));
//    button.setMaximumSize(new Dimension(dimension));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -