private String getColumns()

in src/main/java/com/datacompare/service/FetchMetadata.java [277:308]


	private String getColumns(Map<String, TableColumnMetadata> sourceTableMetadataMap,
			Map<String, TableColumnMetadata> targetTableMetadataMap, boolean isTarget, boolean isSortColumn) {
		
		StringBuilder cols = new StringBuilder();
		List<String> colNames = new ArrayList<String>(sourceTableMetadataMap.keySet());
		
		for (String colName : colNames) {
		
			colName = isTarget ? colName.toLowerCase() : colName.toUpperCase();
			
			String colAs = targetTableMetadataMap.get(colName) !=null ? targetTableMetadataMap.get(colName).getColumnAs():"";
			String columnType = targetTableMetadataMap.get(colName)!=null ?targetTableMetadataMap.get(colName).getColumnType():"";
			int colSize = targetTableMetadataMap.get(colName)!=null ? targetTableMetadataMap.get(colName).getColSize():0;
             /** seperating the sorting columns from select column to avoid sql issues for CLOB/BLOB
             * 1. Created two set of columns
			  * 2. Excluing from the columns for sorting
             * */
			if(isSortColumn && (binaryColumnType(columnType) || varcharLargeSize(columnType, colSize))) {
				columns.add(colName);
			}else {
				sortColumns.add(colName);
				columns.add(colName);
				cols.append(colAs + ",");
			}
		}
		if (!cols.toString().isEmpty()) {

			cols.deleteCharAt(cols.length() - 1);
		}
		
		return cols.toString();
	}