package com.dbdeploy; import com.dbdeploy.database.DelimiterType; import com.dbdeploy.database.LineEnding; import com.dbdeploy.exceptions.UsageException; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import java.io.File; public class AntTarget extends Task { private DbDeploy dbDeploy = new DbDeploy(); private static String ANT_USAGE = "\n\nDbdeploy Ant Task Usage" + "\n=======================" + "\n\n\t<dbdeploy" + "\n\t\tuserid=\"[DATABASE USER ID]\" *" + "\n\t\tpassword=\"[DATABASE USER ID PASSWORD]\"" + "\n\t\tdriver=\"[DATABASE DRIVER]\" *" + "\n\t\turl=\"[DATABASE URL]\" *" + "\n\t\tdbms=\"[YOUR DBMS]\"" + "\n\t\ttemplatedir=\"[DIRECTORY FOR DBMS TEMPLATE SCRIPTS, IF NOT USING BUILT-IN]\"" + "\n\t\tdir=\"[YOUR SCRIPT FOLDER]\" *" + "\n\t\tencoding=\"[CHARSET OF SQL SCRIPTS - default UTF-8]\"" + "\n\t\toutputfile=\"[OUTPUT SCRIPT PATH + NAME]\"" + "\n\t\tlastChangeToApply=\"[NUMBER OF THE LAST SCRIPT TO APPLY]\"" + "\n\t\tundoOutputfile=\"[UNDO SCRIPT PATH + NAME]\"" + "\n\t\tchangeLogTableName=\"[CHANGE LOG TABLE NAME]\"" + "\n\t\tdelimiter=\"[STATEMENT DELIMITER - default ;]\"" + "\n\t\tdelimitertype=\"[STATEMENT DELIMITER TYPE - row or normal, default normal]\"" + "\n\t/>" + "\n\n* - Indicates mandatory parameter"; @Override public void execute() throws BuildException { try { dbDeploy.go(); } catch (UsageException ex) { System.err.println(ANT_USAGE); throw new BuildException(ex.getMessage()); } catch (Exception ex) { throw new BuildException(ex); } } public void setDir(File dir) { dbDeploy.setScriptdirectory(dir); } public void setDriver(String driver) { dbDeploy.setDriver(driver); } public void setUrl(String url) { dbDeploy.setUrl(url); } public void setPassword(String password) { dbDeploy.setPassword(password); } public void setUserid(String userid) { dbDeploy.setUserid(userid); } public void setOutputfile(File outputfile) { dbDeploy.setOutputfile(outputfile); } public void setDbms(String dbms) { dbDeploy.setDbms(dbms); } public void setLastChangeToApply(Long lastChangeToApply) { dbDeploy.setLastChangeToApply(lastChangeToApply); } public void setUndoOutputfile(File undoOutputfile) { dbDeploy.setUndoOutputfile(undoOutputfile); } public void setChangeLogTableName(String changeLogTableName) { dbDeploy.setChangeLogTableName(changeLogTableName); } public void setDelimiter(String delimiter) { dbDeploy.setDelimiter(delimiter); } public void setDelimitertype(DelimiterType delimiterType) { dbDeploy.setDelimiterType(delimiterType); } public void setTemplatedir(File templateDirectory) { dbDeploy.setTemplatedir(templateDirectory); } public void setEncoding(String encoding) { dbDeploy.setEncoding(encoding); } public void setLineEnding(LineEnding lineEnding) { dbDeploy.setLineEnding(lineEnding); } }