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

📄 octopusgeneratorpanel.java

📁 数据仓库工具
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			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 + -