private void fillRow()

in client-adapter/kudu/src/main/java/com/alibaba/otter/canal/client/adapter/kudu/support/KuduTemplate.java [325:398]


    private void fillRow(PartialRow row, String colName, Object rawVal, Type type) {
        String rowValue = "0";
        if (!(rawVal == null || "".equals(rawVal))) {
            rowValue = rawVal + "";
        } else {
            return;
        }
        if (type == null) {
            logger.warn("got unknown type {} for column '{}'-- ignoring this column", type, colName);
            return;
        }
        try {
            switch (type) {
                case INT8:
                    row.addByte(colName, Byte.parseByte(rowValue));
                    break;
                case INT16:
                    row.addShort(colName, Short.parseShort(rowValue));
                    break;
                case INT32:
                    row.addInt(colName, Integer.parseInt(rowValue));
                    break;
                case INT64:
                    row.addLong(colName, Long.parseLong(rowValue));
                    break;
                case BINARY:
                    row.addBinary(colName, rowValue.getBytes());
                    break;
                case STRING:
                    row.addString(colName, rowValue);
                    break;
                case BOOL:
                    if (!("true".equalsIgnoreCase(rowValue) || "false".equalsIgnoreCase(rowValue))) {
                        return;
                    }
                    row.addBoolean(colName, Boolean.parseBoolean(rowValue));
                    break;
                case FLOAT:
                    row.addFloat(colName, Float.parseFloat(rowValue));
                    break;
                case DOUBLE:
                    row.addDouble(colName, Double.parseDouble(rowValue));
                    break;
                case UNIXTIME_MICROS:
                    if ("0".equals(rowValue)) {
                        try {
                            Date parse = sdf.parse("2099-11-11 11:11:11");
                            row.addLong(colName, parse.getTime());
                        } catch (ParseException e) {
                            logger.warn("date column is null");
                        }
                    } else {
                        try {
                            Date parse = rowValue.length() > 19 ? sdf.parse(rowValue.substring(0, 19)) : sdf.parse(rowValue);
                            row.addLong(colName, parse.getTime());
                        } catch (ParseException e) {
                            logger.warn("date format error, error data is :{}", rowValue);
                            try {
                                Date parse = sdf.parse("2099-11-11 11:11:11");
                                row.addLong(colName, parse.getTime());
                            } catch (ParseException ie) {
                                logger.warn("date column is null");
                            }
                        }
                    }
                    break;
                default:
                    logger.warn("got unknown type {} for column '{}'-- ignoring this column", type, colName);
            }
        } catch (NumberFormatException e) {
            logger.error(e.getMessage());
            logger.error("column parse fail==> column name=>{},column type=>{},column value=>{}", colName, type, rawVal);
        }
    }