* @param extraCols
* @param rowStarted
* @return
*/
private static StringBuffer appendObsToRow(ObsSubmissionElement ose, StringBuffer sb, List<String> extraCols, Locale locale){
Obs o = ose.getExistingObs();
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
if (ose.getConcept() != null)
sb.append((o != null) ? getObsValueAsString(Context.getLocale(), o):EMPTY);
else
sb.append((o != null) ? o.getConcept().getBestName(locale):EMPTY);
sb.append(DEFAULT_QUOTE);
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
sb.append((o!=null)? Context.getDateFormat().format(o.getObsDatetime()):EMPTY);
sb.append(DEFAULT_QUOTE);
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
sb.append(getObsGroupPath(o));
sb.append(DEFAULT_QUOTE);
if (extraCols != null){
for (String st : extraCols){
if (st.equals("valueModifier")){
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
sb.append((o != null && o.getValueModifier() != null) ? o.getValueModifier():EMPTY);
sb.append(DEFAULT_QUOTE);
} else if (st.equals("accessionNumber")){
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
sb.append((o != null && o.getAccessionNumber() != null) ? o.getAccessionNumber():EMPTY);
sb.append(DEFAULT_QUOTE);
} else if (st.equals("comment")){
sb.append(DEFAULT_COLUMN_SEPARATOR);
sb.append(DEFAULT_QUOTE);
sb.append((o != null && o.getComment() != null) ? o.getComment():EMPTY);
sb.append(DEFAULT_QUOTE);
}
}
}
return sb;