mirror of
https://github.com/dalbodeule/snap-admin.git
synced 2025-06-08 21:38:21 +00:00
Support for BigInteger, Date and Short field types
This commit is contained in:
parent
5047b8e6ef
commit
3c46805c9a
@ -21,10 +21,15 @@ package tech.ailef.dbadmin.external.dbmapping;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.sql.Date;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
@ -39,6 +44,49 @@ import tech.ailef.dbadmin.external.exceptions.DbAdminException;
|
|||||||
* The enum for supported database field types.
|
* The enum for supported database field types.
|
||||||
*/
|
*/
|
||||||
public enum DbFieldType {
|
public enum DbFieldType {
|
||||||
|
SHORT {
|
||||||
|
@Override
|
||||||
|
public String getFragmentName(FragmentContext c) {
|
||||||
|
return "number";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object parseValue(Object value) {
|
||||||
|
return Short.parseShort(value.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getJavaClass() {
|
||||||
|
return Short.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CompareOperator> getCompareOperators() {
|
||||||
|
return List.of(CompareOperator.GT, CompareOperator.EQ, CompareOperator.LT);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
BIG_INTEGER {
|
||||||
|
@Override
|
||||||
|
public String getFragmentName(FragmentContext c) {
|
||||||
|
return "number";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object parseValue(Object value) {
|
||||||
|
if (value == null) return null;
|
||||||
|
return new BigInteger(value.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getJavaClass() {
|
||||||
|
return BigInteger.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CompareOperator> getCompareOperators() {
|
||||||
|
return List.of(CompareOperator.GT, CompareOperator.EQ, CompareOperator.LT);
|
||||||
|
}
|
||||||
|
},
|
||||||
INTEGER {
|
INTEGER {
|
||||||
@Override
|
@Override
|
||||||
public String getFragmentName(FragmentContext c) {
|
public String getFragmentName(FragmentContext c) {
|
||||||
@ -146,6 +194,33 @@ public enum DbFieldType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
DATE {
|
||||||
|
@Override
|
||||||
|
public String getFragmentName(FragmentContext c) {
|
||||||
|
return "date";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object parseValue(Object value) {
|
||||||
|
if (value == null) return null;
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
|
||||||
|
try {
|
||||||
|
return format.parse(value.toString());
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getJavaClass() {
|
||||||
|
return Date.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CompareOperator> getCompareOperators() {
|
||||||
|
return List.of(CompareOperator.AFTER, CompareOperator.STRING_EQ, CompareOperator.BEFORE);
|
||||||
|
}
|
||||||
|
},
|
||||||
LOCAL_DATE {
|
LOCAL_DATE {
|
||||||
@Override
|
@Override
|
||||||
public String getFragmentName(FragmentContext c) {
|
public String getFragmentName(FragmentContext c) {
|
||||||
@ -276,7 +351,7 @@ public enum DbFieldType {
|
|||||||
public List<CompareOperator> getCompareOperators() {
|
public List<CompareOperator> getCompareOperators() {
|
||||||
return List.of(CompareOperator.GT, CompareOperator.EQ, CompareOperator.LT);
|
return List.of(CompareOperator.GT, CompareOperator.EQ, CompareOperator.LT);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
BYTE_ARRAY {
|
BYTE_ARRAY {
|
||||||
@Override
|
@Override
|
||||||
public String getFragmentName(FragmentContext c) {
|
public String getFragmentName(FragmentContext c) {
|
||||||
@ -436,10 +511,16 @@ public enum DbFieldType {
|
|||||||
return LONG;
|
return LONG;
|
||||||
} else if (klass == Integer.class || klass == int.class) {
|
} else if (klass == Integer.class || klass == int.class) {
|
||||||
return INTEGER;
|
return INTEGER;
|
||||||
|
} else if (klass == BigInteger.class) {
|
||||||
|
return BIG_INTEGER;
|
||||||
|
} else if (klass == Short.class || klass == short.class) {
|
||||||
|
return SHORT;
|
||||||
} else if (klass == String.class) {
|
} else if (klass == String.class) {
|
||||||
return STRING;
|
return STRING;
|
||||||
} else if (klass == LocalDate.class) {
|
} else if (klass == LocalDate.class) {
|
||||||
return LOCAL_DATE;
|
return LOCAL_DATE;
|
||||||
|
} else if (klass == Date.class) {
|
||||||
|
return DATE;
|
||||||
} else if (klass == LocalDateTime.class) {
|
} else if (klass == LocalDateTime.class) {
|
||||||
return LOCAL_DATE_TIME;
|
return LOCAL_DATE_TIME;
|
||||||
} else if (klass == Float.class || klass == float.class) {
|
} else if (klass == Float.class || klass == float.class) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user