/*
* Copyright 2015 the original author or authors.
*
* 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.
*/
package org.springframework.xd.greenplum.config;
import org.springframework.xd.module.options.spi.ModuleOption;
/**
* Config options for gpfdist sink.
*
* @author Janne Valkealahti
*
*/
public class GPFDistSinkOptionsMetadata {
private int port = 0;
private int flushCount = 100;
private int flushTime = 2;
private int batchTimeout = 4;
private int batchCount = 100;
private int batchPeriod = 10;
private String dbName = "gpadmin";
private String dbUser = "gpadmin";
private String dbPassword = "gpadmin";
private String dbHost = "localhost";
private int dbPort = 5432;
private String controlFile;
private String delimiter = "\n";
private Character columnDelimiter;
private String mode;
private String matchColumns;
private String updateColumns;
private String table;
private int rateInterval = 0;
private String sqlBefore;
private String sqlAfter;
public int getPort() {
return port;
}
@ModuleOption("gpfdist listen port")
public void setPort(int port) {
this.port = port;
}
public int getFlushCount() {
return flushCount;
}
@ModuleOption("flush item count")
public void setFlushCount(int flushCount) {
this.flushCount = flushCount;
}
public int getFlushTime() {
return flushTime;
}
@ModuleOption("flush item time")
public void setFlushTime(int flushTime) {
this.flushTime = flushTime;
}
public int getBatchTimeout() {
return batchTimeout;
}
@ModuleOption("batch timeout")
public void setBatchTimeout(int batchTimeout) {
this.batchTimeout = batchTimeout;
}
public int getBatchPeriod() {
return batchPeriod;
}
@ModuleOption("batch period")
public void setBatchPeriod(int batchPeriod) {
this.batchPeriod = batchPeriod;
}
public int getBatchCount() {
return batchCount;
}
@ModuleOption("batch count")
public void setBatchCount(int batchCount) {
this.batchCount = batchCount;
}
public String getDbName() {
return dbName;
}
@ModuleOption("database name")
public void setDbName(String dbName) {
this.dbName = dbName;
}
public String getDbUser() {
return dbUser;
}
@ModuleOption("database user")
public void setDbUser(String dbUser) {
this.dbUser = dbUser;
}
public String getDbPassword() {
return dbPassword;
}
@ModuleOption("database password")
public void setDbPassword(String dbPassword) {
this.dbPassword = dbPassword;
}
public String getDbHost() {
return dbHost;
}
@ModuleOption("database host")
public void setDbHost(String dbHost) {
this.dbHost = dbHost;
}
public int getDbPort() {
return dbPort;
}
@ModuleOption("database port")
public void setDbPort(int dbPort) {
this.dbPort = dbPort;
}
public String getControlFile() {
return controlFile;
}
@ModuleOption("path to yaml control file")
public void setControlFile(String controlFile) {
this.controlFile = controlFile;
}
public String getDelimiter() {
return delimiter;
}
@ModuleOption("data line delimiter")
public void setDelimiter(String delimiter) {
this.delimiter = delimiter;
}
public Character getColumnDelimiter() {
return columnDelimiter;
}
@ModuleOption("column delimiter")
public void setColumnDelimiter(Character columnDelimiter) {
this.columnDelimiter = columnDelimiter;
}
public String getMode() {
return mode;
}
@ModuleOption("mode, either insert or update")
public void setMode(String mode) {
this.mode = mode;
}
public String getUpdateColumns() {
return updateColumns;
}
@ModuleOption("update columns with update")
public void setUpdateColumns(String updateColumns) {
this.updateColumns = updateColumns;
}
public String getMatchColumns() {
return matchColumns;
}
@ModuleOption("match columns with update")
public void setMatchColumns(String matchColumns) {
this.matchColumns = matchColumns;
}
public String getTable() {
return table;
}
@ModuleOption("target database table")
public void setTable(String table) {
this.table = table;
}
public int getRateInterval() {
return rateInterval;
}
@ModuleOption("enable transfer rate interval")
public void setRateInterval(int rateInterval) {
this.rateInterval = rateInterval;
}
public String getSqlBefore() {
return sqlBefore;
}
@ModuleOption("sql to run before load")
public void setSqlBefore(String sqlBefore) {
this.sqlBefore = sqlBefore;
}
public String getSqlAfter() {
return sqlAfter;
}
@ModuleOption("sql to run after load")
public void setSqlAfter(String sqlAfter) {
this.sqlAfter = sqlAfter;
}
}