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

📄 backup.java

📁 数据仓库工具
💻 JAVA
字号:
/*
Backup - class which enables you to backup database of you're choice.


    Copyright (C) 2003  Together

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

package org.webdocwf.util.loader.backup;

import org.webdocwf.util.loader.generator.LoaderGenerator;
import org.webdocwf.util.loader.Loader;
import java.io.File;

/**
 * Backup class is used for backup database of your choice.
 * @author Radoslav Dutins
 * @version 1.0
 */
public class Backup {

  private String generatorOutput = "";
  private String sourceDatabase = "";
  private String sourceUser = "";
  private String sourcePassword = "";
  private String sourceDatabaseType = "";
  private String sourceDriverName = "";

  private String targetDatabase = "";
  private String targetUser = "";
  private String targetPassword = "";
  private String targetDatabaseType = "";
  private String targetDriverName = "";

  //sql statements
  private String generateDropTableStmt = "true";
  private String generateDropIntegrityStmt="true";
  private String generateCreateTableStmt = "true";
  private String generateCreatePKStmt = "true";
  private String generateCreateFKStmt = "true";
  private String generateCreateIndexStmt = "true";
  private String generateSqlForAllVendors = "true";

  //xml files
  private String fullMode = "true";
  private String generateXml = "false";
  private String generateDoml = "false";
  private String restoreMode="false";

  private String valueMode="copy";
  private String includeTableList="";
  private String confJarStructure="";

  /**
   * Construct object Backup with associated parameters.
   * @param sourceDatabaseType defines type of source database
   * @param sourceDatabase defines url to source database
   * @param generatorOutput defines output directory
   * @param sourceDriverName defines name of source driver name
   * @param targetDriverName defines name of target driver name
   * @param targetDatabase defines url to target database
   * @param targetDatabaseType defines type of target database
   * @param sourceUser defines user name for source database
   * @param sourcePassword defines user password for source database
   * @param targetUser defines user name for target database
   * @param targetPassword defines user password for target database
   * @param includeTableList defines the list of tables which you want to include
   */
  public Backup(String sourceDatabaseType, String sourceDatabase,
                String generatorOutput,String sourceDriverName,
                String targetDriverName, String targetDatabase,
                String targetDatabaseType, String sourceUser,
                String sourcePassword, String targetUser, String targetPassword,
                String includeTableList, String strConfJarStructure) {

    this.generatorOutput = generatorOutput;
    this.sourceDatabase = sourceDatabase;
    this.sourceUser = sourceUser;
    this.sourcePassword = sourcePassword;
    this.sourceDatabaseType = sourceDatabase;
    this.sourceDriverName = sourceDriverName;

    this.targetDatabase = targetDatabase;
    this.targetUser = targetUser;
    this.targetPassword = targetPassword;
    this.targetDatabaseType = targetDatabaseType;
    this.targetDriverName = targetDriverName;

    this.generateDropTableStmt = generateDropTableStmt;
    this.generateDropIntegrityStmt = generateDropIntegrityStmt;
    this.generateCreateTableStmt = generateCreateTableStmt;
    this.generateCreatePKStmt = generateCreatePKStmt;
    this.generateCreateFKStmt = generateCreateFKStmt;
    this.generateCreateIndexStmt = generateCreateIndexStmt;

    this.generateSqlForAllVendors = generateSqlForAllVendors;
    //optimized modes
    this.fullMode = fullMode;

    this.generateXml = generateXml;
    this.generateDoml = generateDoml;

    this.includeTableList=includeTableList;
    this.confJarStructure=confJarStructure;

    try {//for All Vendors
      LoaderGenerator loaderGenerator = new LoaderGenerator(sourceDatabaseType,
          sourceDatabase,valueMode, generatorOutput, sourceDriverName,
          targetDriverName, targetDatabase, targetDatabaseType, sourceUser,
          sourcePassword, targetUser, targetPassword, null, null,
          generateDropTableStmt,generateDropIntegrityStmt ,generateCreateTableStmt, generateCreatePKStmt,
          generateCreateFKStmt,generateCreateIndexStmt, generateSqlForAllVendors,
          generateXml,generateDoml,fullMode, restoreMode, includeTableList,confJarStructure);

      loaderGenerator.generate();

    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

    try { //for specific vendor (Generator)

      this.generateSqlForAllVendors = "false";
      this.generateXml = "true";
      this.fullMode = "false";

      LoaderGenerator loaderGenerator = new LoaderGenerator(
          sourceDatabaseType, sourceDatabase,valueMode, generatorOutput,
          sourceDriverName,targetDriverName, targetDatabase, targetDatabaseType,
          sourceUser,sourcePassword, targetUser, targetPassword, null, null,
          generateDropTableStmt, generateDropIntegrityStmt,generateCreateTableStmt,
          generateCreatePKStmt, generateCreateFKStmt,
          generateCreateIndexStmt, generateSqlForAllVendors, generateXml,
          generateDoml,fullMode, "false", includeTableList,confJarStructure);

      loaderGenerator.generate();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

    try { //Octopus loader
      String loadJobFileName = "";
      if (!generatorOutput.equalsIgnoreCase("")) {
        File file = new File(this.generatorOutput);
        generatorOutput = file.getAbsolutePath();
        loadJobFileName = generatorOutput +
            System.getProperty("file.separator") + "LoaderJob.olj";
      }
      else {
        loadJobFileName = "LoaderJob.olj";
      }
      Loader octopusLoader = new Loader(loadJobFileName,confJarStructure);
      octopusLoader.load();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

  }

  /**
   *
   * @param argv represents input parameters
   */
  public static void main(String argv[]) {
    String strGeneratorOutput = "";
    String strSourceDatabase = "";
    String strSourceUser = "";
    String strSourcePassword = "";
    String strSourceDatabaseType = "";
    String strSourceDriverName = "";

    String strTargetDatabase = "";
    String strTargetUser = "";
    String strTargetPassword = "";
    String strTargetDatabaseType = "";
    String strTargetDriverName = "";

    String strIncludeTableList="";
    String strConfJarStructure="";

    if (argv.length > 0 && argv.length < 28) {
      for (int i = 0; i < argv.length - 1; i = i + 1) {
        if (argv[i].equalsIgnoreCase("-o"))
          strGeneratorOutput = argv[++i];
        else if (argv[i].equalsIgnoreCase("-sdb"))
          strSourceDatabase = argv[++i];
        else if (argv[i].equalsIgnoreCase("-su"))
          strSourceUser = argv[++i];
        else if (argv[i].equalsIgnoreCase("-sp"))
          strSourcePassword = argv[++i];
        else if (argv[i].equalsIgnoreCase("-st"))
          strSourceDatabaseType = argv[++i];
        else if (argv[i].equalsIgnoreCase("-sdn"))
          strSourceDriverName = argv[++i];
        else if (argv[i].equalsIgnoreCase("-tdb"))
          strTargetDatabase = argv[++i];
        else if (argv[i].equalsIgnoreCase("-tu"))
          strTargetUser = argv[++i];
        else if (argv[i].equalsIgnoreCase("-tp"))
          strTargetPassword = argv[++i];
        else if (argv[i].equalsIgnoreCase("-tt"))
          strTargetDatabaseType = argv[++i];
        else if (argv[i].equalsIgnoreCase("-tdn"))
          strTargetDriverName = argv[++i];
        else if (argv[i].equalsIgnoreCase("-it"))
          strIncludeTableList= argv[++i];
        else if (argv[i].equalsIgnoreCase("-cjs"))
          strConfJarStructure = argv[++i];

      }

      try {
        Backup backup = new Backup(strSourceDatabaseType,
                                   strSourceDatabase,
                                   strGeneratorOutput,
                                   strSourceDriverName,
                                   strTargetDriverName,
                                   strTargetDatabase,
                                   strTargetDatabaseType,
                                   strSourceUser,
                                   strSourcePassword,
                                   strTargetUser,
                                   strTargetPassword,
                                   strIncludeTableList,
                                   strConfJarStructure);

      }
      catch (Exception ex) {
        ex.printStackTrace();
      }
    }
  }

  /**
   * This method set value of confJarStructure parameter
   * @param confJarStructure is value of parameter
   */
  public void setConfJarStructure(String confJarStructure) {
    this.confJarStructure = confJarStructure;
  }

  /**
   * This method read value of confJarStructure parameter
   * @return value of parameter
   */
  public String getConfJarStructure() {
    return this.confJarStructure;
  }


  /**
   * This method set value of generatorOutput parameter
   * @param generatorOutput is value of parameter
   */
  public void setGeneratorOutput(String generatorOutput) {
    this.generatorOutput = generatorOutput;
  }

  /**
   * This method read value of generatorOutput parameter
   * @return value of parameter
   */
  public String getGeneratorOutput() {
    return this.generatorOutput;
  }

  /**
   * This method set value of sourceDatabase parameter
   * @param sourceDatabase is value of parameter
   */
  public void setSourceDatabase(String sourceDatabase) {
    this.sourceDatabase = sourceDatabase;
  }

  /**
   * This method read value of sourceDatabase parameter
   * @return value of parameter
   */
  public String getSourceDatabase() {
    return this.sourceDatabase;
  }

  /**
   * This method set value of sourceUser parameter
   * @param sourceUser is value of parameter
   */
  public void setSourceUser(String sourceUser) {
    this.sourceUser = sourceUser;
  }

  /**
   * This method read value of sourceUser parameter
   * @return value of parameter
   */
  public String getSourceUser() {
    return this.sourceUser;
  }

  /**
   * This method set value of sourcePassword parameter
   * @param sourcePassword is value of parameter
   */
  public void setSourcePassword(String sourcePassword) {
    this.sourcePassword = sourcePassword;
  }

  /**
   * This method read value of sourcePassword parameter
   * @return value of parameter
   */
  public String getSourcePassword() {
    return this.sourcePassword;
  }

  /**
   * This method set value of sourceDatabaseType parameter
   * @param sourceDatabaseType is value of parameter
   */
  public void setSourceDatabaseType(String sourceDatabaseType) {
    this.sourceDatabaseType = sourceDatabaseType;
  }

  /**
   * This method read value of sourceDatabaseType parameter
   * @return value of parameter
   */
  public String getSourceDatabaseType() {
    return this.sourceDatabaseType;
  }

  /**
   * This method set value of sourceDriverName parameter
   * @param sourceDriverName is value of parameter
   */
  public void setSourceDriverName(String sourceDriverName) {
    this.sourceDriverName = sourceDriverName;
  }

  /**
   * This method read value of sourceDriverName parameter
   * @return value of parameter
   */
  public String getSourceDriverName() {
    return this.sourceDriverName;
  }

  /**
   * This method set value of targetDatabase parameter
   * @param targetDatabase is value of parameter
   */
  public void setTargetDatabase(String targetDatabase) {
    this.targetDatabase = targetDatabase;
  }

  /**
   * This method read value of targetDatabase parameter
   * @return value of parameter
   */
  public String getTargetDatabase() {
    return this.targetDatabase;
  }

  /**
   * This method set value of targetUser parameter
   * @param targetUser is value of parameter
   */
  public void setTargetUser(String targetUser) {
    this.targetUser = targetUser;
  }

  /**
   * This method read value of targetDatabase parameter
   * @return value of parameter
   */
  public String getTargetUser() {
    return this.targetUser;
  }

  /**
   * This method set value of targetPassword parameter
   * @param targetPassword is value of parameter
   */
  public void setTargetPassword(String targetPassword) {
    this.targetPassword = targetPassword;
  }

  /**
   * This method read value of targetPassword parameter
   * @return value of parameter
   */
  public String getTargetPassword() {
    return this.targetPassword;
  }

  /**
   * This method set value of targetDatabaseType parameter
   * @param targetDatabaseType is value of parameter
   */
  public void setTargetDatabaseType(String targetDatabaseType) {
    this.targetDatabaseType = targetDatabaseType;
  }

  /**
   * This method read value of targetDatabaseType parameter
   * @return value of parameter
   */
  public String getTargetDatabaseType() {
    return this.targetDatabaseType;
  }

  /**
   * This method set value of targetDriverName parameter
   * @param targetDriverName is value of parameter
   */
  public void setTargetDriverName(String targetDriverName) {
    this.targetDriverName = targetDriverName;
  }

  /**
   * This method read value of targetDriverName parameter
   * @return value of parameter
   */
  public String getTargetDriverName() {
    return this.targetDriverName;
  }

}

⌨️ 快捷键说明

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