/* * Copyright (c) 2004, 2005, 2006 TADA AB - Taby Sweden * Distributed under the terms shown in the file COPYRIGHT * found in the root directory of this distribution or at * http://eng.tada.se/osprojects/COPYRIGHT.html */ package org.postgresql.pljava.tasks; import java.sql.Connection; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.taskdefs.JDBCTask; public abstract class PLJavaTask extends JDBCTask { private String m_hostName; private String m_database; private int m_portNumber = -1; public PLJavaTask() { this.setDriver("org.postgresql.Driver"); } public final String getDatabase() { return m_database == null ? this.getUserId() : m_database; } public final void setDatabase(String database) { m_database = database; } public final String getHostName() { return m_hostName == null ? "localhost" : m_hostName; } public final void setHostName(String hostName) { m_hostName = hostName; } public final int getPortNumber() { return m_portNumber; } public final void setPortNumber(int portNumber) { m_portNumber = portNumber; } protected Connection getConnection() throws BuildException { String url = this.getUrl(); if(url == null) { StringBuffer cc = new StringBuffer(); cc.append("jdbc:postgresql://"); cc.append(this.getHostName()); int port = this.getPortNumber(); if(port != -1) { cc.append(':'); cc.append(port); } cc.append('/'); cc.append(this.getDatabase()); this.setUrl(cc.toString()); } return super.getConnection(); } }