Package com.dbdeploy.mojo

Source Code of com.dbdeploy.mojo.AbstractDbDeployMojo

package com.dbdeploy.mojo;

/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.dbdeploy.DbDeploy;
import com.dbdeploy.database.DelimiterType;
import com.dbdeploy.database.LineEnding;
import org.apache.maven.plugin.AbstractMojo;

import java.io.File;

/**
* Abstract class that all dbdeploy database goals should extend.
*/
public abstract class AbstractDbDeployMojo extends AbstractMojo {
    /**
     * Full or relative path to the directory containing the delta scripts.
     *
     * @parameter expression="${dbdeploy.scriptdirectory}" default-value="${project.src.directory}/main/sql"
     * @required
     */
    protected File scriptdirectory;

  /**
   * Encoding to use for change scripts and output files.
   *
   * @parameter expression="${dbdeploy.encoding}" default-value="${project.build.sourceEncoding}"
   */
  protected String encoding;


    /**
     * Specifies the jdbc driver.
     *
     * @parameter expression="${dbdeploy.driver}"
     * @required
     */
    protected String driver;

    /**
     * Specifies the url of the database that the deltas are to be applied to.
     *
     * @parameter expression="${dbdeploy.url}"
     * @required
     */
    protected String url;

    /**
     * The password of the dbms user who has permissions to select from the
     * schema version table.
     *
     * @parameter expression="${dbdeploy.password}"
     */
    protected String password;

    /**
     * The ID of a dbms user who has permissions to select from the schema
     * version table.
     *
     * @parameter expression="${dbdeploy.userid}"
     * @required
     */
    protected String userid;

    /**
     * The name of the changelog table to use. Useful if you need to separate
     * DDL and DML when deploying to replicated environments. If not supplied
     * defaults to "changelog"
     *
     * @parameter expression="${dbdeploy.changeLogTableName}"
     */
    protected String changeLogTableName;

    /**
     * Delimiter to use to separate scripts into statements, if dbdeploy will
     * apply the scripts for you i.e. you haven't specified outputfile. Default ;
     *
     * @parameter expression="${dbdeploy.delimiter}"
     */
    protected String delimiter;

    /**
     * Either normal: split on delimiter wherever it occurs or row  only split
     * on delimiter if it features on a line by itself. Default normal.
     *
     * @parameter expression="${dbdeploy.delimiterType}"
     */
    protected String delimiterType;

  /**
   * Line ending to separate indiviual statement lines when applying directly
   * to the database. Can be platform (the default line ending for the current platform),
   * cr, crlf or lf. Default platform.
   *
   * @parameter expression="${dbdeploy.lineEnding}"
   */
  protected String lineEnding;

    /**
     * The highest numbered delta script to apply.
     *
     * @parameter expression="${dbdeploy.lastChange}"
     */
    protected Long lastChangeToApply;

    protected DbDeploy getConfiguredDbDeploy() {
        DbDeploy dbDeploy = new DbDeploy();
        dbDeploy.setScriptdirectory(scriptdirectory);
        dbDeploy.setDriver(driver);
        dbDeploy.setUrl(url);
        dbDeploy.setPassword(password);
        dbDeploy.setUserid(userid);

      if (encoding != null) {
          dbDeploy.setEncoding(encoding);
      }

        if (lastChangeToApply != null) {
            dbDeploy.setLastChangeToApply(lastChangeToApply);
        }

        if (changeLogTableName != null) {
            dbDeploy.setChangeLogTableName(changeLogTableName);
        }

        if (delimiter != null) {
            dbDeploy.setDelimiter(delimiter);
        }

        if (delimiterType != null) {
            dbDeploy.setDelimiterType(DelimiterType.valueOf(delimiterType));
        }

      if (lineEnding != null) {
        dbDeploy.setLineEnding(LineEnding.valueOf(lineEnding));
      }

        return dbDeploy;
    }
}
TOP

Related Classes of com.dbdeploy.mojo.AbstractDbDeployMojo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.