package com.tyndalehouse.step.dataloader.beans; import java.text.SimpleDateFormat; import java.util.Calendar; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; public class DbBean { public void appendString(StringBuffer sb, String value) { if(StringUtils.isEmpty(value)) { sb.append("null"); } else { sb.append(getDbString(value)); } } public void appendString(StringBuffer sb, char value) { sb.append(getDbString(value)); } //TODO: so much string manipulation here, need to rewrite properly at some point! protected void appendString(StringBuffer event, Calendar date) { if(date == null) { event.append("null"); } else { event.append(getDbDate(date)); } } //TODO: shocking, this could be done much much better... protected String getDbDate(Calendar date) { StringBuffer sb = new StringBuffer(); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); sb.append('\'') .append(StringEscapeUtils.escapeSql(sdf.format(date.getTime()))) .append('\''); return sb.toString(); } public static String getDbString(Object value) { StringBuffer sb = new StringBuffer(); sb.append('\'') .append(StringEscapeUtils.escapeSql(value.toString())) .append('\''); return sb.toString(); } public void appendComma(StringBuffer event) { event.append(", "); } }