in neo4jwriter/src/main/java/com/alibaba/datax/plugin/writer/neo4jwriter/adapter/ValueAdapter.java [24:78]
public static Value column2Value(final Column column, final Neo4jProperty neo4JProperty) {
String typeStr = neo4JProperty.getType();
PropertyType type = PropertyType.fromStrIgnoreCase(typeStr);
if (column.asString() == null) {
return NullValue.NULL;
}
switch (type) {
case NULL:
return NullValue.NULL;
case MAP:
return Values.value(JSON.parseObject(column.asString(), Map.class));
case BOOLEAN:
return Values.value(column.asBoolean());
case STRING:
return Values.value(column.asString());
case INTEGER:
case LONG:
return Values.value(column.asLong());
case SHORT:
return Values.value(Short.valueOf(column.asString()));
case FLOAT:
case DOUBLE:
return Values.value(column.asDouble());
case BYTE_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Byte::valueOf));
case CHAR_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), (s) -> s.charAt(0)));
case BOOLEAN_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Boolean::valueOf));
case STRING_ARRAY:
case Object_ARRAY:
case LIST:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Function.identity()));
case LONG_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Long::valueOf));
case INT_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Integer::valueOf));
case SHORT_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Short::valueOf));
case DOUBLE_ARRAY:
case FLOAT_ARRAY:
return Values.value(parseArrayType(neo4JProperty, column.asString(), Double::valueOf));
case LOCAL_DATE:
return Values.value(DateAdapter.localDate(column.asString(), neo4JProperty));
case LOCAL_TIME:
return Values.value(DateAdapter.localTime(column.asString(), neo4JProperty));
case LOCAL_DATE_TIME:
return Values.value(DateAdapter.localDateTime(column.asString(), neo4JProperty));
default:
return Values.value(column.getRawData());
}
}