in contribs/ThomasFenner/JDBCAppender.java [216:340]
public void setOption(String _option, String _value)
{
_option = _option.trim();
_value = _value.trim();
if(_option == null || _value == null) return;
if(_option.length() == 0 || _value.length() == 0) return;
_value = _value.trim();
if(_option.equals(CONNECTOR_OPTION))
{
if(!connected) connection_class = _value;
}
else if(_option.equals(URL_OPTION))
{
if(!connected) url = _value;
}
else if(_option.equals(USERNAME_OPTION))
{
if(!connected) username = _value;
}
else if(_option.equals(PASSWORD_OPTION))
{
if(!connected) password = _value;
}
else if(_option.equals(SQL_OPTION))
{
sql = _value;
}
else if(_option.equals(TABLE_OPTION))
{
if(sql != null) return;
table = _value;
}
else if(_option.equals(COLUMNS_OPTION))
{
if(sql != null) return;
String name = null;
int logtype = -1;
String value = null;
String column = null;
String arg = null;
int num_args = 0;
int num_columns = 0;
StringTokenizer st_col;
StringTokenizer st_arg;
//Columns are TAB-separated
st_col = new StringTokenizer(_value, " ");
num_columns = st_col.countTokens();
if(num_columns < 1)
{
errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION value : " + _value + " !");
return;
}
for(int i=1; i<=num_columns; i++)
{
column = st_col.nextToken();
//Arguments are ~-separated
st_arg = new StringTokenizer(column, "~");
num_args = st_arg.countTokens();
if(num_args < 2)
{
errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION value : " + _value + " !");
return;
}
for(int j=1; j<=num_args; j++)
{
arg = st_arg.nextToken();
if(j == 1) name = arg;
else if(j == 2)
{
try
{
logtype = Integer.parseInt(arg);
}
catch(Exception e)
{
logtype = LogType.parseLogType(arg);
}
if(!LogType.isLogType(logtype))
{
errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION LogType : " + arg + " !");
return;
}
}
else if(j == 3) value = arg;
}
if(!setLogType(name, logtype, value)) return;
}
}
else if(_option.equals(BUFFER_OPTION))
{
try
{
buffer_size = Integer.parseInt(_value);
}
catch(Exception e)
{
errorHandler.error("JDBCAppender::setOption(), Invalid BUFFER_OPTION value : " + _value + " !");
return;
}
}
else if(_option.equals(COMMIT_OPTION))
{
docommit = _value.equals("Y");
}
if(_option.equals(SQL_OPTION) || _option.equals(TABLE_OPTION))
{
if(!configured) configure();
}
}