...
|
...
|
@@ -38,6 +38,7 @@ public class CassandraToSqlColumn { |
38
|
38
|
private int sqlType;
|
39
|
39
|
private int size;
|
40
|
40
|
private Class<? extends Enum> enumClass;
|
|
41
|
+ private boolean allowNullBoolean = false;
|
41
|
42
|
|
42
|
43
|
public static CassandraToSqlColumn idColumn(String name) {
|
43
|
44
|
return new CassandraToSqlColumn(name, CassandraToSqlColumnType.ID);
|
...
|
...
|
@@ -60,7 +61,11 @@ public class CassandraToSqlColumn { |
60
|
61
|
}
|
61
|
62
|
|
62
|
63
|
public static CassandraToSqlColumn booleanColumn(String name) {
|
63
|
|
- return new CassandraToSqlColumn(name, CassandraToSqlColumnType.BOOLEAN);
|
|
64
|
+ return booleanColumn(name, false);
|
|
65
|
+ }
|
|
66
|
+
|
|
67
|
+ public static CassandraToSqlColumn booleanColumn(String name, boolean allowNullBoolean) {
|
|
68
|
+ return new CassandraToSqlColumn(name, name, CassandraToSqlColumnType.BOOLEAN, null, allowNullBoolean);
|
64
|
69
|
}
|
65
|
70
|
|
66
|
71
|
public static CassandraToSqlColumn jsonColumn(String name) {
|
...
|
...
|
@@ -72,32 +77,33 @@ public class CassandraToSqlColumn { |
72
|
77
|
}
|
73
|
78
|
|
74
|
79
|
public CassandraToSqlColumn(String columnName) {
|
75
|
|
- this(columnName, columnName, CassandraToSqlColumnType.STRING, null);
|
|
80
|
+ this(columnName, columnName, CassandraToSqlColumnType.STRING, null, false);
|
76
|
81
|
}
|
77
|
82
|
|
78
|
83
|
public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type) {
|
79
|
|
- this(columnName, columnName, type, null);
|
|
84
|
+ this(columnName, columnName, type, null, false);
|
80
|
85
|
}
|
81
|
86
|
|
82
|
87
|
public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type, Class<? extends Enum> enumClass) {
|
83
|
|
- this(columnName, columnName, type, enumClass);
|
|
88
|
+ this(columnName, columnName, type, enumClass, false);
|
84
|
89
|
}
|
85
|
90
|
|
86
|
91
|
public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName) {
|
87
|
|
- this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null);
|
|
92
|
+ this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null, false);
|
88
|
93
|
}
|
89
|
94
|
|
90
|
95
|
public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName, CassandraToSqlColumnType type,
|
91
|
|
- Class<? extends Enum> enumClass) {
|
|
96
|
+ Class<? extends Enum> enumClass, boolean allowNullBoolean) {
|
92
|
97
|
this.cassandraColumnName = cassandraColumnName;
|
93
|
98
|
this.sqlColumnName = sqlColumnName;
|
94
|
99
|
this.type = type;
|
95
|
100
|
this.enumClass = enumClass;
|
|
101
|
+ this.allowNullBoolean = allowNullBoolean;
|
96
|
102
|
}
|
97
|
103
|
|
98
|
104
|
public String getColumnValue(Row row) {
|
99
|
105
|
if (row.isNull(index)) {
|
100
|
|
- if (this.type == CassandraToSqlColumnType.BOOLEAN) {
|
|
106
|
+ if (this.type == CassandraToSqlColumnType.BOOLEAN && !this.allowNullBoolean) {
|
101
|
107
|
return Boolean.toString(false);
|
102
|
108
|
} else {
|
103
|
109
|
return null;
|
...
|
...
|
|