📄 generateproject.java
字号:
package org.dbgen.action;import java.awt.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import org.dbgen.*;import org.dbgen.view.*;import org.dbgen.gui.*;/** * This class was generated by a SmartGuide. * */public class GenerateProject extends javax.swing.AbstractAction implements WizardAction, Runnable { Wizard fieldWizard = null; /* Transient variables used by run() */ protected transient WizardCard[] cards = null; protected transient Object[] tables = null; protected transient String dir = null; protected transient Project project = null; protected transient Hashtable options = new Hashtable(); ProgressFrame fieldProgressFrame = null; /** * AddProject constructor comment. */ public GenerateProject() { super(); } /** * AddProject constructor comment. * @param arg1 java.lang.String */ public GenerateProject(String arg1) { super(arg1); } /** * AddProject constructor comment. * @param arg1 java.lang.String * @param arg2 javax.swing.Icon */ public GenerateProject(String arg1, javax.swing.Icon arg2) { super(arg1, arg2); } /** * This method was created by a SmartGuide. * @param wizard org.dbgen.gui.Wizard */ public void actionPerformed(Wizard wizard) { /* Find out needed information from wizard cards. */ cards = wizard.getCards(); GenerateWizardSelectTableCard stcard = (GenerateWizardSelectTableCard) cards[0]; GenerateWizardSelectDirectoryCard sdcard = (GenerateWizardSelectDirectoryCard) cards[1]; GenerateWizardOptionsCard optcard = (GenerateWizardOptionsCard) cards[2]; GenerateWizardConnectionCard concard = (GenerateWizardConnectionCard) cards[3]; /* remember the fields when the user comes back next time. */ DbGenPro.putValue(DbGenPro.JDBC_DRIVER, concard.getDriverField().getText()); DbGenPro.putValue(DbGenPro.JDBC_URL, concard.getUrlField().getText()); DbGenPro.putValue(DbGenPro.JDBC_USERNAME, concard.getUsernameField().getText()); DbGenPro.putValue(DbGenPro.JDBC_PASSWORD, new String(concard.getPasswordField().getPassword())); /* What tables are selected to generate? */ tables = stcard.getTableList().getSelectedValues(); /* What is the current selected project? */ project = stcard.getCurrentProject(); project.setOutputDirectory(sdcard.getOutputDirectoryField().getText()); /* Get output directory options. */ options.put(DbGen.CREATE_PACKAGE_SUBDIRECTORIES, new Boolean(sdcard.getCreateSubDirectoryOption().isSelected())); /* Get generation options. */ options.put(DbGen.GENERATE_DATA_CLASS, new Boolean(optcard.getGenDataClassCheckBox().isSelected())); options.put(DbGen.GENERATE_TEST_CLASS, new Boolean(optcard.getGenTestClassCheckBox().isSelected())); options.put(DbGen.GENERATE_CREATE_SCRIPT, new Boolean(optcard.getGenCreateScriptCheckBox().isSelected())); options.put(DbGen.GENERATE_TABLE_MODEL, new Boolean(optcard.getGenTableModelCheckBox().isSelected())); options.put(DbGen.GENERATE_TABLE_MODEL_JAVAX, new Boolean(optcard.getGenTableModelJavaxCheckBox().isSelected())); options.put(DbGen.GENERATE_TABLE_MODEL_MAIN, new Boolean(optcard.getGenTableModelMainCheckBox().isSelected())); options.put(DbGen.DATABASE_TYPE, new Integer(optcard.getTargetDatabaseComboBox().getSelectedIndex() + 1)); /* Save target database option to project settings */ project.setTargetDatabase(optcard.getTargetDatabaseComboBox().getSelectedIndex() + 1); /* Bring up the progress frame. */ org.dbgen.gui.ProgressFrame frame = getProgressFrame(); frame.setup("Standing by...", 0, tables.length); frame.pack(); frame.show(); /* Run generator in the background */ new Thread(this).start(); return; } /** * actionPerformed method comment. */ public void actionPerformed(java.awt.event.ActionEvent arg1) { org.dbgen.Debug.println("ACTION: Generate Project"); Project project = DbGenPro.mainWindow.getProjectView().getProject(); Vector readyTables = project.getReadyTables(); if (readyTables.size() > 0) { getWizard().setSize(480, 400); getWizard().showPage(0); getWizard().show(); } else { String msg = "There is no table ready for generation.\n\n"; msg = msg + "Solutions:\n"; msg = msg + "1. You must define at least one primary key for the generating tables,\n"; msg = msg + "2. You must give a valid class name and table name.\n"; msg = msg + "3. You need to completely fill in Master Key, Foreign Table and Foreign Key columns for defining a relation.\n"; msg = msg + "4. You need to check if the Foreign Table is valid or you have defined a relation loop.\n"; JOptionPane.showMessageDialog(DbGenPro.mainWindow, msg, "Error Message", JOptionPane.ERROR_MESSAGE); } } /** * This method was created by a SmartGuide. * @return org.dbgen.gui.WizardCard[] */ public WizardCard[] getCards() { if (cards == null) { cards = new WizardCard[] { new GenerateWizardSelectTableCard(), new GenerateWizardSelectDirectoryCard(), new GenerateWizardOptionsCard(), new GenerateWizardConnectionCard() }; } return cards; } /** * Gets the progressFrame property (org.dbgen.gui.ProgressFrame) value. * @return The progressFrame property value. */ public ProgressFrame getProgressFrame() { /* Returns the progressFrame property value. */ if (fieldProgressFrame == null) { try { fieldProgressFrame = new ProgressFrame(); } catch (Throwable exception) { System.err.println("Exception creating progressFrame property."); } }; return fieldProgressFrame; } /** * Gets the wizard property (org.dbgen.gui.Wizard) value. * @return The wizard property value. */ public Wizard getWizard() { /* Returns the wizard property value. */ if (fieldWizard == null) { try { fieldWizard = new Wizard(DbGenPro.mainWindow, "Source Code Generation Wizard"); fieldWizard.setCards(getCards()); fieldWizard.setAction(this); fieldWizard.getMessage().setVisible(false); fieldWizard.pack(); } catch (Throwable exception) { exception.printStackTrace(); } }; return fieldWizard; } /** * This method was created by a SmartGuide. */ public void run() { if (tables == null || tables.length == 0) { return; } getProgressFrame().setTitle("Generation Progress"); try { DbGen DbGen = new DbGen(); for (int i = 0; i < tables.length; i++) { Table table = (Table) tables[i]; getProgressFrame().update("Generating " + table + "...", i, false); DbGen.generate(project, table, options); } getProgressFrame().update("Generation completed.", tables.length, true); } catch (java.io.IOException exception) { exception.printStackTrace(); } return; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -