📄 octopusgeneratorpanel.java
字号:
commonOptionsPanel.add(includeTableListPanel);
commonOptionsPanel.add(addPathsPanel);
commonOptionsMainPanel.add(commonOptionsPanel);
commonOptionsMainPanel.add(Box.createHorizontalGlue());
commonPanel.setLayout(new BoxLayout(commonPanel, BoxLayout.Y_AXIS));
commonPanel.add(JDBCMainPanel);
commonPanel.add(commonOptionsMainPanel);
commonPanel.add(Box.createVerticalGlue());
JPanel outputMode = new JPanel();
outputMode.setLayout(new BoxLayout(outputMode, BoxLayout.X_AXIS));
outputMode.setBorder(setTitleOfBorder("Output Mode", loweredBorder));
sqlFiles = new JCheckBox(GENERATE_SQL);
sqlFiles.setSelected(true);
xmlFiles = new JCheckBox(GENERATE_XML);
xmlFiles.setSelected(true);
domlFile = new JCheckBox(GENERATE_DOML);
outputMode.add(sqlFiles);
outputMode.add(xmlFiles);
outputMode.add(domlFile);
sqlFiles.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (sqlFiles.isSelected()) {
createTables.setEnabled(true);
createTables.setSelected(true);
dropTables.setEnabled(true);
dropTables.setSelected(true);
createPK.setEnabled(true);
createPK.setSelected(true);
createFK.setEnabled(true);
createFK.setSelected(true);
dropFK.setEnabled(true);
dropFK.setSelected(true);
createIn.setEnabled(true);
createIn.setSelected(true);
createSQLForAll.setEnabled(true);
createSQLForAll.setSelected(false);
} else {
createTables.setSelected(false);
createTables.setEnabled(false);
dropTables.setEnabled(false);
dropTables.setSelected(false);
createPK.setEnabled(false);
createPK.setSelected(false);
createFK.setEnabled(false);
createFK.setSelected(false);
dropFK.setEnabled(false);
dropFK.setSelected(false);
createIn.setEnabled(false);
createIn.setSelected(false);
createSQLForAll.setEnabled(false);
createSQLForAll.setSelected(false);
}
}
});
xmlFiles.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (xmlFiles.isSelected()) {
optimizedMode.setEnabled(true);
optimizedMode.setSelected(false);
fullMode.setEnabled(true);
fullMode.setSelected(true);
} else {
optimizedMode.setEnabled(false);
optimizedMode.setSelected(false);
fullMode.setEnabled(false);
fullMode.setSelected(false);
}
}
});
domlFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (domlFile.isSelected()) {
packageField.setEditable(true);
packageField.setText("");
} else {
packageField.setText("");
packageField.setEditable(false);
}
}
});
JPanel mainOutputMode = new JPanel();
mainOutputMode.setLayout(new BoxLayout(mainOutputMode, BoxLayout.X_AXIS));
mainOutputMode.add(outputMode);
mainOutputMode.add(Box.createHorizontalGlue());
createTables = new JCheckBox(CREATE_TABLE);
createTables.setSelected(true);
createPK = new JCheckBox(CREATE_PRIMARY_KEYS);
createPK.setSelected(true);
createFK = new JCheckBox(CREATE_FOREIGN_KEYS);
createFK.setSelected(true);
createIn = new JCheckBox(CREATE_INDEXES);
createIn.setSelected(true);
dropTables = new JCheckBox(DROP_TABLE);
dropTables.setSelected(true);
dropFK = new JCheckBox(DROP_FOREIGN_KEYS);
dropFK.setSelected(true);
createSQLForAll = new JCheckBox(CREATE_SQL_FOR_ALL_VENDORS);
JPanel sqlOptionsPanel1 = new JPanel();
sqlOptionsPanel1.setLayout(new BoxLayout(sqlOptionsPanel1, BoxLayout.Y_AXIS));
sqlOptionsPanel1.add(dropTables);
sqlOptionsPanel1.add(createTables);
sqlOptionsPanel1.add(createPK);
JPanel sqlOptionsPanel2 = new JPanel();
sqlOptionsPanel2.setLayout(new BoxLayout(sqlOptionsPanel2, BoxLayout.Y_AXIS));
sqlOptionsPanel2.add(dropFK);
sqlOptionsPanel2.add(createFK);
sqlOptionsPanel2.add(createIn);
JPanel sqlOptionsPanel3 = new JPanel();
sqlOptionsPanel3.setLayout(new BoxLayout(sqlOptionsPanel3, BoxLayout.Y_AXIS));
sqlOptionsPanel3.add(createSQLForAll);
JPanel sqlOptionsPanel = new JPanel();
sqlOptionsPanel.setLayout(new BoxLayout(sqlOptionsPanel, BoxLayout.X_AXIS));
sqlOptionsPanel.setBorder(setTitleOfBorder("SQL Options", loweredBorder));
sqlOptionsPanel.add(sqlOptionsPanel1);
sqlOptionsPanel.add(sqlOptionsPanel2);
sqlOptionsPanel.add(sqlOptionsPanel3);
JPanel mainSqlOptionsPanel = new JPanel();
mainSqlOptionsPanel.setLayout(new BoxLayout(mainSqlOptionsPanel, BoxLayout.X_AXIS));
mainSqlOptionsPanel.add(sqlOptionsPanel);
mainSqlOptionsPanel.add(Box.createHorizontalGlue());
JPanel xmlOptionsPanel = new JPanel();
xmlOptionsPanel.setLayout(new BoxLayout(xmlOptionsPanel, BoxLayout.X_AXIS));
optimizedMode = new JRadioButton(OPTIMIZED_MODE);
fullMode = new JRadioButton(FULL_MODE);
// fullMode.setSelected(true);
optimizedMode.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (optimizedMode.isSelected()) {
fullMode.setSelected(false);
} else {
fullMode.setSelected(true);
}
}
});
fullMode.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (fullMode.isSelected()) {
optimizedMode.setSelected(false);
} else {
optimizedMode.setSelected(true);
}
}
});
xmlOptionsPanel.setBorder(setTitleOfBorder("XML Options", loweredBorder));
xmlOptionsPanel.add(optimizedMode);
xmlOptionsPanel.add(fullMode);
JPanel mainXmlOptionsPanel = new JPanel();
mainXmlOptionsPanel.setLayout(new BoxLayout(mainXmlOptionsPanel, BoxLayout.X_AXIS));
mainXmlOptionsPanel.add(xmlOptionsPanel);
mainXmlOptionsPanel.add(Box.createHorizontalGlue());
JPanel packagePanel = new JPanel();
packagePanel.setLayout(new BoxLayout(packagePanel, BoxLayout.X_AXIS));
packagePanel.setBorder(setTitleOfBorder("Package name for doml file", loweredBorder));
packageField = OctopusProjectFrame.createOctopusTextField(PACKAGE_NAME, veryBigComponent);
packageField.setEditable(false);
JLabel strPackageField = OctopusProjectFrame.createOctopusLabel(PACKAGE_NAME, smallComponent);
packagePanel.add(strPackageField);
packagePanel.add(packageField);
JPanel mainPackagePanel = new JPanel();
mainPackagePanel.setLayout(new BoxLayout(mainPackagePanel, BoxLayout.X_AXIS));
mainPackagePanel.add(packagePanel);
mainPackagePanel.add(Box.createHorizontalGlue());
//zk added this for logging
JPanel loggingModePanel = new JPanel();
loggingModePanel.setLayout(new BoxLayout(loggingModePanel, BoxLayout.X_AXIS));
//log mode
JLabel strLogMode = OctopusProjectFrame.createOctopusLabel(LOG_MODE, smallComponent);
JComboBox logMode = OctopusProjectFrame.createOctopusCombobox(LOG_MODE, veryBigComponent);
loggingModePanel.add(strLogMode);
loggingModePanel.add(logMode);
//loggingModePanel.add(Box.createHorizontalGlue());
//log file directory
JPanel loggingDirPanel = new JPanel();
loggingDirPanel.setLayout(new BoxLayout(loggingDirPanel, BoxLayout.X_AXIS));
JLabel strLogFileDir = OctopusProjectFrame.createOctopusLabel(LOG_FILE_DIRECTORY, smallComponent);
JTextField logFileDir = OctopusProjectFrame.createOctopusTextField(LOG_FILE_DIRECTORY, veryBigPlusButton);
JButton logDirButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
logDirButton.setAction(new BrowseAction_L());
loggingDirPanel.add(strLogFileDir);
loggingDirPanel.add(logFileDir);
loggingDirPanel.add(logDirButton);
//loggingDirPanel.add(Box.createHorizontalGlue());
//log file name
JPanel loggingFilePanel = new JPanel();
loggingFilePanel.setLayout(new BoxLayout(loggingFilePanel, BoxLayout.X_AXIS));
JLabel strLogFileName = OctopusProjectFrame.createOctopusLabel(LOG_FILE_NAME, smallComponent);
JTextField logFileName = OctopusProjectFrame.createOctopusTextField(LOG_FILE_NAME, veryBigComponent);
loggingFilePanel.add(strLogFileName);
loggingFilePanel.add(logFileName);
//loggingFilePanel.add(Box.createHorizontalGlue());
JPanel loggingPanel = new JPanel();
loggingPanel.setLayout(new BoxLayout(loggingPanel, BoxLayout.Y_AXIS));
loggingPanel.setBorder(setTitleOfBorder("Logging options", loweredBorder));
loggingPanel.add(loggingModePanel);
loggingPanel.add(loggingDirPanel);
loggingPanel.add(loggingFilePanel);
//loggingPanel.add(Box.createHorizontalGlue());
JPanel mainLoggingPanel = new JPanel();
mainLoggingPanel.setLayout(new BoxLayout(mainLoggingPanel, BoxLayout.X_AXIS));
mainLoggingPanel.add(loggingPanel);
//mainLoggingPanel.setAlignmentX(0);
mainLoggingPanel.add(Box.createHorizontalGlue());
//end
//output options panel
outputOptions.setLayout(new BoxLayout(outputOptions, BoxLayout.Y_AXIS));
outputOptions.add(Box.createRigidArea(new Dimension(0, 10)));
outputOptions.add(mainOutputMode);
outputOptions.add(Box.createRigidArea(new Dimension(0, 10)));
outputOptions.add(mainSqlOptionsPanel);
outputOptions.add(Box.createRigidArea(new Dimension(0, 10)));
outputOptions.add(mainXmlOptionsPanel);
outputOptions.add(Box.createRigidArea(new Dimension(0, 10)));
outputOptions.add(mainPackagePanel);
//zk added for logging
outputOptions.add(Box.createRigidArea(new Dimension(0, 10)));
outputOptions.add(mainLoggingPanel);
//
// 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 Generator 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, octopusGeneratorData, textAreaPanel);
main.setOneTouchExpandable(true);
// main.setDividerLocation(650);
//setting all parameters into hash table
//source
fields.put(SOURCE_TYPE, sourceType);
fields.put(SOURCE_DATABASE, sourceUrl);
fields.put(DOML_PATH, domlUrl);
fields.put(SOURCE_DRIVER_NAME, sourceDriverName);
fields.put(SOURCE_USER, sourceUser);
fields.put(SOURCE_PASSWORD, sourcePassword);
//target
fields.put(TARGET_TYPE, targetType);
fields.put(TARGET_DATABASE, targetUrl);
fields.put(TARGET_DRIVER_NAME, targetDriverName);
fields.put(TARGET_USER, targetUser);
fields.put(TARGET_PASSWORD, targetPassword);
//copy mode
fields.put(VALUE_MODE, valueMode);
fields.put(GENERATOR_OUTPUT, generatorOutput);
fields.put(ADDITIONAL_PATHS, addPaths);
fields.put(INCLUDE_TABLE_LIST, includeTableList);
//sql statements
fields.put(GENERATE_SQL, sqlFiles);
fields.put(CREATE_TABLE, createTables);
fields.put(CREATE_PRIMARY_KEYS, createPK);
fields.put(CREATE_FOREIGN_KEYS, createFK);
fields.put(CREATE_INDEXES, createIn);
fields.put(DROP_TABLE, dropTables);
fields.put(DROP_FOREIGN_KEYS, dropFK);
fields.put(CREATE_SQL_FOR_ALL_VENDORS, createSQLForAll);
//xml options
fields.put(GENERATE_XML, xmlFiles);
fields.put(FULL_MODE, fullMode);
fields.put(OPTIMIZED_MODE, optimizedMode);
//ZK added for logging
fields.put(LOG_MODE, logMode);
fields.put(LOG_FILE_NAME, logFileName);
fields.put(LOG_FILE_DIRECTORY, logFileDir);
//end
//doml options
fields.put(GENERATE_DOML, domlFile);
fields.put(PACKAGE_NAME, packageField);
//advanced
fields.put(PATH_TO_CONF_IN_JAR, pathToConf);
// Container container = getContentPane();
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
add(main);
setBounds(0, 0, 970, 680);
}
private JPanel createJDBCRow(JComponent jc1, JComponent jc2) {
JPanel jp = new JPanel();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -