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

📄 loadergenerator.java

📁 数据仓库工具
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        String logMode = null;

        //Output mode
        //main
        String generateXml = null;
        String generateDoml = null;
        //for generate sql
        String generateDropTableStmt = null;
        String generateDropIntegrityStmt = null;
        String generateCreateTableStmt = null;
        String generateCreatePKStmt = null;
        String generateCreateFKStmt = null;
        String generateCreateIndexStmt = null;

        //for genrate sql for all vendors
        String generateSqlForAllVendors = null;
        //optimized modes
        String fullMode = null;
        String restoreMode = null;
        String includeTableList = null;
        String confJarStructure = null;

        if (args.length > 8 && args.length < 53) {
            for (int i = 0; i < args.length - 1; i = i + 1) {
                if (args[i].equalsIgnoreCase("-st"))
                    sourceType = args[++i];
                else if (args[i].equalsIgnoreCase("-sdb"))
                    sourceDataBase = args[++i];
                else if (args[i].equalsIgnoreCase("-m"))
                    valueMode = args[++i];
                else if (args[i].equalsIgnoreCase("-o"))
                    generatorOutput = args[++i];
                else if (args[i].equalsIgnoreCase("-sdn"))
                    sourceDriverName = args[++i];
                else if (args[i].equalsIgnoreCase("-tdn"))
                    targetDriverName = args[++i];
                else if (args[i].equalsIgnoreCase("-tdb"))
                    targetDataBase = args[++i];
                if (args[i].equalsIgnoreCase("-tt"))
                    targetType = args[++i];
                if (args[i].equalsIgnoreCase("-su"))
                    sourceUser = args[++i];
                if (args[i].equalsIgnoreCase("-sp"))
                    sourcePassword = args[++i];
                if (args[i].equalsIgnoreCase("-tu"))
                    targetUser = args[++i];
                if (args[i].equalsIgnoreCase("-tp"))
                    targetPassword = args[++i];
                if (args[i].equalsIgnoreCase("-doml"))
                    domlUrl = args[++i];
                if (args[i].equalsIgnoreCase("-pack"))
                    packageName = args[++i];
                if (args[i].equalsIgnoreCase("-xml"))
                    generateXml = args[++i];
                if (args[i].equalsIgnoreCase("-gdoml"))
                    generateDoml = args[++i];
                if (args[i].equalsIgnoreCase("-sqlCT"))
                    generateCreateTableStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlDT"))
                    generateDropTableStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlDI"))
                    generateDropIntegrityStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlCPK"))
                    generateCreatePKStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlCFK"))
                    generateCreateFKStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlCI"))
                    generateCreateIndexStmt = args[++i];
                if (args[i].equalsIgnoreCase("-sqlAll"))
                    generateSqlForAllVendors = args[++i];
                if (args[i].equalsIgnoreCase("-fm"))
                    fullMode = args[++i];
                if (args[i].equalsIgnoreCase("-rm"))
                    restoreMode = args[++i];
                if (args[i].equalsIgnoreCase("-it"))
                    includeTableList = args[++i];
                if (args[i].equalsIgnoreCase("-cjs"))
                    confJarStructure = args[++i];
                if (args[i].equalsIgnoreCase("-lm"))
                    logMode = args[++i];
                else if (args[i].equalsIgnoreCase("-l"))
                    logDirName = args[++i];
                else if (args[i].equalsIgnoreCase("-f"))
                    logFileName = args[++i];
            }
        } else {
            System.out.println("You didn't enter all required parameters, for running the application!");
            BufferOctopusClass.getInstance().writeToBuffer("You didn't enter all required parameters, for running the application!");
            printUsage();
            System.exit(1);
        }
        try {

            LoaderGenerator generator = new LoaderGenerator(sourceType, sourceDataBase, valueMode, generatorOutput, sourceDriverName, targetDriverName, targetDataBase, targetType, sourceUser, sourcePassword, targetUser, targetPassword, domlUrl, packageName, generateDropTableStmt, generateDropIntegrityStmt, generateCreateTableStmt, generateCreatePKStmt, generateCreateFKStmt, generateCreateIndexStmt, generateSqlForAllVendors, generateXml, generateDoml, fullMode, restoreMode, includeTableList, confJarStructure, logMode, logDirName, logFileName);

            generator.generate();
            System.exit(0);

        } catch (LoaderException le) {
            System.out.println(le.getStackTraceAsString());
            BufferOctopusClass.getInstance().writeToBuffer(le.getStackTraceAsString());
            return;
        } catch (Throwable th) {
            BufferOctopusClass.getInstance().writeToBuffer(th.getMessage());
            th.printStackTrace(System.out);
            return;
        }
    }

    static void printUsage() {
        //System.out.println("Usage: java org.webdocwf.util.loader.generator.Generator [options] ");
        BufferOctopusClass.getInstance().writeToBuffer("Usage: java org.webdocwf.util.loader.generator.Generator [options] ");
        //System.out.println(" Options:");
        BufferOctopusClass.getInstance().writeToBuffer(" Options:");
        //System.out.println(" -st sourceType, defines the type of the source database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -st sourceType, defines the type of the source database.");
        //System.out.println(" -tt targetType, defines the type of the target database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -tt targetType, defines the type of the target database.");
        //System.out.println(" -sdn sourceDriverName, represents driver of defined source database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sdn sourceDriverName, represents driver of defined source database.");
        //    System.out.println(" -tdn targetDriverName, represents driver of defined target database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -tdn targetDriverName, represents driver of defined target database.");
        //    System.out.println(" -sdb sourceDatabase, defines the place where you're put the database tables");
        BufferOctopusClass.getInstance().writeToBuffer(" -sdb sourceDatabase, defines the place where you're put the database tables");
        //    System.out.println(" -tdb targetDataBase defines the place where the target database tables are.");
        BufferOctopusClass.getInstance().writeToBuffer(" -tdb targetDataBase defines the place where the target database tables are.");
        //    System.out.println(" -m valueMode, is the difference from overwrite and update attribute");
        BufferOctopusClass.getInstance().writeToBuffer(" -m valueMode, is the difference from overwrite and update attribute");
        //    System.out.println(" -su sourceUser, defines the user of the source database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -su sourceUser, defines the user of the source database.");
        //    System.out.println(" -sp sourcePassword, defines user password for the source database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sp sourcePassword, defines user password for the source database.");
        //    System.out.println(" -tu targetUser, defines the user of the target database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -tu targetUser, defines the user of the target database.");
        //    System.out.println(" -tp targetPassword, defines user password for the target database.");
        BufferOctopusClass.getInstance().writeToBuffer(" -tp targetPassword, defines user password for the target database.");
        //    System.out.println(" -doml domlUrl, defines the place where the doml file is placed.");
        BufferOctopusClass.getInstance().writeToBuffer(" -doml domlUrl, defines the place where the doml file is placed.");
        //    System.out.println(" -o generatorOutput, is optional. That represent the directory, where the Octopus place"+
        //                       " created files. If this argument dont exists, Octopus place created files in to current direcory!");
        BufferOctopusClass.getInstance().writeToBuffer(" -o generatorOutput, is optional. That represent the directory, where the Octopus place" + " created files. If this argument dont exists, Octopus place created files in to current direcory!");
        //    System.out.println(" -pack packageName, defines the package name for the generated doml file.");
        BufferOctopusClass.getInstance().writeToBuffer(" -pack packageName, defines the package name for the generated doml file.");

        //    System.out.println(" -xml generateXml, defines if you want to generate xml files as output files. "+
        //                  "    Possible values are true and false.");
        BufferOctopusClass.getInstance().writeToBuffer(" -xml generateXml, defines if you want to generate xml files as output files. " + "    Possible values are true and false.");
        //    System.out.println(" -gdoml generateDoml, defines if you want to generate doml file as output file. "+
        //                      "    Possible values are true and false.");
        BufferOctopusClass.getInstance().writeToBuffer(" -gdoml generateDoml, defines if you want to generate doml file as output file. " + "    Possible values are true and false.");
        //    System.out.println(" -sqlCT generateCreateTables, defines if you want to generate only Sql statement for CREATE TABLE.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlCT generateCreateTables, defines if you want to generate only Sql statement for CREATE TABLE.");

        //    System.out.println(" -sqlDT generateDropTableStmt, defines if you want to generate only Sql statement for DROP TABLE.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlDT generateDropTableStmt, defines if you want to generate only Sql statement for DROP TABLE.");

        //    System.out.println(" -sqlCPK generateCreatePrimaryKeys, defines if you want to generate only Sql statement for ALTER TABLE ADD CONSTRAINT (PRIMARY KEY).");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlCPK generateCreatePrimaryKeys, defines if you want to generate only Sql statement for ALTER TABLE ADD CONSTRAINT (PRIMARY KEY).");

        //    System.out.println(" -sqlCFK generateCreateForeigKeys, defines if you want to generate only Sql statement for ALTER TABLE ADD CONSTRAINT (FOREIGN KEY).");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlCFK generateCreateForeigKeys, defines if you want to generate only Sql statement for ALTER TABLE ADD CONSTRAINT (FOREIGN KEY).");

        //    System.out.println(" -sqlCI generateCreateIndex, defines if you want to generate only Sql statement for CREATE INDEX.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlCI generateCreateIndex, defines if you want to generate only Sql statement for CREATE INDEX.");

        //    System.out.println(" -sqlAll generateSqlForAllVendors, defines if you want to generate sql statements for all named database vendors.");
        BufferOctopusClass.getInstance().writeToBuffer(" -sqlAll generateSqlForAllVendors, defines if you want to generate sql statements for all named database vendors.");

        //    System.out.println(" -fm fullMode, defines the mode of output xml files. Possible values are true and false.");
        BufferOctopusClass.getInstance().writeToBuffer("  -fm fullMode, defines the mode of output xml files. Possible values are true and false.");

        //    System.out.println(" -it includeTableList, defines tables which you want to incude into Generator process.");
        BufferOctopusClass.getInstance().writeToBuffer("  -it includeTableList, defines tables which you want to incude into Generator process.");

        //    System.out.println("For more details, see documentation.");
        BufferOctopusClass.getInstance().writeToBuffer("For more details, see documentation.");
        //System.out.println(" -lm defines the default logmode. Possible values are 'none', 'normal' (is the default) and 'full'.");
        BufferOctopusClass.getInstance().writeToBuffer(" -lm defines the default logmode. Possible values are 'none', 'normal' (is the default) and 'full'.");

        //System.out.println(" -l defines the logfile directory. The default is the current working directory.   \n");
        BufferOctopusClass.getInstance().writeToBuffer(" -v defines variables used in variable columns.  \n");

        //System.out.println(" -f defines the logfile name. The default is 'GeneratorLog-YYYY-MM-DD-HH-mm-SS.txt'. \n");
        BufferOctopusClass.getInstance().writeToBuffer(" -f defines the logfile name. The default is 'GeneratorLog-YYYY-MM-DD-HH-mm-SS.txt'. \n");

    }

    /**
     * This method init logger
     * @throws LoaderException
     */
    private void setLogger() throws LoaderException {

        this.timeCounter = new TimeWatch();
        this.timeCounter.setStartJobTime();

        try {

            this.logger = new StandardLogger();
            this.strLoggerParam = this.strLogDirName + ";" + this.strLogFileName;
            this.standardLogger = true;
            this.logger.configure(strLoggerParam);
            this.logger.setEnabledLogLevels(this.logMode);
        } catch (Exception e) {

            LoaderException le = new LoaderException("Error while instantiate StandardLogger!", e);
            throw le;
        }
    }

    /**
     *
     * Method generate is main method in class LoaderGenerator. It is used to load data from the source
     * table, and starts LoadJobWriter,CreateIncludeFiles and CreateIncludeDomlFiles methods.
     * @throws LoaderException
     */
    public void generate() throws LoaderException {

        try {
            LoadJobWriter loadJobWriter;
            GenerateSqlForAllVendors generateSqlForAllVendors;
            //Zk added for logging
            this.setLogger();

            if (standardLogger == true) {
                this.logger.write("normal", "Default (Standard) Logger is load.");
                this.logger.write("normal", "OctopusGenerator started.");
            }
            if (generatorParameters.getSqlForAllVendors() == true) {

                generateSqlForAllVendors = new GenerateSqlForAllVendors(generatorParameters);

            } else {
                if (generatorParameters.getDomlPath() == null || generatorParameters.getDomlPath().equalsIgnoreCase("")) {
                    CreateIncludeFiles createIncludeFiles = new CreateIncludeFiles(generatorParameters);
                } else {
                    CreateIncludeDomlFiles createIncludeDomlFiles;
                    createIncludeDomlFiles = new CreateIncludeDomlFiles(generatorParameters);
                }
                if (generatorParameters.getGenerateXml().equalsIgnoreCase("true"))
                    loadJobWriter = new LoadJobWriter(generatorParameters);
            }
            if (this.standardLogger == true) {
                this.logger.write("normal", "Duration: " + this.timeCounter.getTotalTime());
                this.logger.write("normal", "OctopusGenerator finished.");
            }
        } catch (Exception e) {
            String msg = "Exception in method generate() in LoaderGenerator class!";
            LoaderException le = new LoaderException(msg + "\n" + e.getMessage(), (Throwable) e);
            if (standardLogger == true) {
                this.logger.write("full", "Exception in method generate() in LoaderGenerator class!" + "\n" + le.getStackTraceAsString());
            }
            throw le;

        }

    }
   
}

⌨️ 快捷键说明

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