[FEAT] normalize Mongo and SQL

This commit is contained in:
Edouard DUPIN 2025-03-29 20:19:55 +01:00
parent 5b88401d48
commit 7208db5bdf

View File

@ -278,8 +278,81 @@ public class DBAccessSQL extends DBAccess {
final CountInOut iii, final CountInOut iii,
final Field field, final Field field,
final PreparedStatement ps) throws Exception { final PreparedStatement ps) throws Exception {
if (type == ObjectId.class) { if (type == long.class) {
ps.setLong(iii.value, field.getLong(data));
iii.inc();
return;
}
if (type == int.class) {
ps.setInt(iii.value, field.getInt(data));
iii.inc();
return;
}
if (type == float.class) {
ps.setFloat(iii.value, field.getFloat(data));
iii.inc();
return;
}
if (type == double.class) {
ps.setDouble(iii.value, field.getDouble(data));
iii.inc();
return;
}
if (type == boolean.class) {
ps.setBoolean(iii.value, field.getBoolean(data));
iii.inc();
return;
}
final Object tmp = field.get(data); final Object tmp = field.get(data);
if (type.isEnum()) {
if (tmp == null) {
ps.setNull(iii.value, Types.VARCHAR);
} else {
ps.setString(iii.value, tmp.toString());
}
} else if (type == Long.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.BIGINT);
} else {
ps.setLong(iii.value, (Long) tmp);
}
} else if (type == Integer.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setInt(iii.value, (Integer) tmp);
}
} else if (type == Float.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.FLOAT);
} else {
ps.setFloat(iii.value, (Float) tmp);
}
} else if (type == Double.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.DOUBLE);
} else {
ps.setDouble(iii.value, (Double) tmp);
}
} else if (type == Boolean.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setBoolean(iii.value, (Boolean) tmp);
}
} else if (type == String.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.VARCHAR);
} else {
ps.setString(iii.value, (String) tmp);
}
} else if (type == Timestamp.class) {
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setTimestamp(iii.value, (Timestamp) tmp);
}
} else if (type == ObjectId.class) {
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.BINARY); ps.setNull(iii.value, Types.BINARY);
} else { } else {
@ -287,67 +360,13 @@ public class DBAccessSQL extends DBAccess {
ps.setBytes(iii.value, dataByte); ps.setBytes(iii.value, dataByte);
} }
} else if (type == UUID.class) { } else if (type == UUID.class) {
final Object tmp = field.get(data);
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.BINARY); ps.setNull(iii.value, Types.BINARY);
} else { } else {
final byte[] dataByte = UuidUtils.asBytes((UUID) tmp); final byte[] dataByte = UuidUtils.asBytes((UUID) tmp);
ps.setBytes(iii.value, dataByte); ps.setBytes(iii.value, dataByte);
} }
} else if (type == Long.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.BIGINT);
} else {
ps.setLong(iii.value, (Long) tmp);
}
} else if (type == long.class) {
ps.setLong(iii.value, field.getLong(data));
} else if (type == Integer.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setInt(iii.value, (Integer) tmp);
}
} else if (type == int.class) {
ps.setInt(iii.value, field.getInt(data));
} else if (type == Float.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.FLOAT);
} else {
ps.setFloat(iii.value, (Float) tmp);
}
} else if (type == float.class) {
ps.setFloat(iii.value, field.getFloat(data));
} else if (type == Double.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.DOUBLE);
} else {
ps.setDouble(iii.value, (Double) tmp);
}
} else if (type == Double.class) {
ps.setDouble(iii.value, field.getDouble(data));
} else if (type == Boolean.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setBoolean(iii.value, (Boolean) tmp);
}
} else if (type == boolean.class) {
ps.setBoolean(iii.value, field.getBoolean(data));
} else if (type == Timestamp.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER);
} else {
ps.setTimestamp(iii.value, (Timestamp) tmp);
}
} else if (type == Date.class) { } else if (type == Date.class) {
final Object tmp = field.get(data);
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER); ps.setNull(iii.value, Types.INTEGER);
} else { } else {
@ -355,7 +374,6 @@ public class DBAccessSQL extends DBAccess {
ps.setTimestamp(iii.value, sqlDate); ps.setTimestamp(iii.value, sqlDate);
} }
} else if (type == Instant.class) { } else if (type == Instant.class) {
final Object tmp = field.get(data);
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER); ps.setNull(iii.value, Types.INTEGER);
} else { } else {
@ -363,7 +381,6 @@ public class DBAccessSQL extends DBAccess {
ps.setString(iii.value, sqlDate); ps.setString(iii.value, sqlDate);
} }
} else if (type == LocalDate.class) { } else if (type == LocalDate.class) {
final Object tmp = field.get(data);
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER); ps.setNull(iii.value, Types.INTEGER);
} else { } else {
@ -371,27 +388,12 @@ public class DBAccessSQL extends DBAccess {
ps.setDate(iii.value, sqlDate); ps.setDate(iii.value, sqlDate);
} }
} else if (type == LocalTime.class) { } else if (type == LocalTime.class) {
final Object tmp = field.get(data);
if (tmp == null) { if (tmp == null) {
ps.setNull(iii.value, Types.INTEGER); ps.setNull(iii.value, Types.INTEGER);
} else { } else {
final java.sql.Time sqlDate = java.sql.Time.valueOf((LocalTime) tmp); final java.sql.Time sqlDate = java.sql.Time.valueOf((LocalTime) tmp);
ps.setTime(iii.value, sqlDate); ps.setTime(iii.value, sqlDate);
} }
} else if (type == String.class) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.VARCHAR);
} else {
ps.setString(iii.value, (String) tmp);
}
} else if (type.isEnum()) {
final Object tmp = field.get(data);
if (tmp == null) {
ps.setNull(iii.value, Types.VARCHAR);
} else {
ps.setString(iii.value, tmp.toString());
}
} else { } else {
throw new DataAccessException("Unknown Field Type: " + type.getCanonicalName()); throw new DataAccessException("Unknown Field Type: " + type.getCanonicalName());
} }