Skip to content

Commit

Permalink
Revert "修复jdk9模块化导致的NoClassDefFoundError: java/sql/Timestamp"
Browse files Browse the repository at this point in the history
  • Loading branch information
wenshao committed Aug 29, 2021
1 parent 0b269eb commit 8b02d16
Show file tree
Hide file tree
Showing 8 changed files with 764 additions and 862 deletions.
3 changes: 0 additions & 3 deletions .github/workflows/ci.yaml
Expand Up @@ -32,6 +32,3 @@ jobs:
${{ runner.os }}
- name: Test with Maven
run: mvn test -B --file pom.xml
- uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
10 changes: 10 additions & 0 deletions .travis.yml
@@ -0,0 +1,10 @@
language: java
jdk:
- openjdk8
before_install:
- pip install --user codecov
after_success:
- codecov
branches:
except:
- appveyor
4 changes: 2 additions & 2 deletions src/main/java/com/alibaba/fastjson/JSONArray.java
Expand Up @@ -429,13 +429,13 @@ public java.util.Date getDate(int index) {
return castToDate(value);
}

public Object getSqlDate(int index) {
public java.sql.Date getSqlDate(int index) {
Object value = get(index);

return castToSqlDate(value);
}

public Object getTimestamp(int index) {
public java.sql.Timestamp getTimestamp(int index) {
Object value = get(index);

return castToTimestamp(value);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/alibaba/fastjson/JSONObject.java
Expand Up @@ -337,13 +337,13 @@ public Date getDate(String key) {
return castToDate(value);
}

public Object getSqlDate(String key) {
public java.sql.Date getSqlDate(String key) {
Object value = get(key);

return castToSqlDate(value);
}

public Object getTimestamp(String key) {
public java.sql.Timestamp getTimestamp(String key) {
Object value = get(key);

return castToTimestamp(value);
Expand Down
63 changes: 23 additions & 40 deletions src/main/java/com/alibaba/fastjson/parser/ParserConfig.java
Expand Up @@ -31,7 +31,6 @@
import java.security.AccessControlException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
Expand Down Expand Up @@ -411,18 +410,12 @@ private ParserConfig(ASMDeserializerFactory asmFactory, ClassLoader parentClassL

}

private final Callable<Void> initDeserializersWithJavaSql = new Callable<Void>() {
public Void call() {
deserializers.put(java.sql.Timestamp.class, SqlDateDeserializer.instance_timestamp);
deserializers.put(java.sql.Date.class, SqlDateDeserializer.instance);
deserializers.put(java.sql.Time.class, TimeDeserializer.instance);
deserializers.put(java.util.Date.class, DateCodec.instance);
return null;
}
};

private void initDeserializers() {
deserializers.put(SimpleDateFormat.class, MiscCodec.instance);
deserializers.put(java.sql.Timestamp.class, SqlDateDeserializer.instance_timestamp);
deserializers.put(java.sql.Date.class, SqlDateDeserializer.instance);
deserializers.put(java.sql.Time.class, TimeDeserializer.instance);
deserializers.put(java.util.Date.class, DateCodec.instance);
deserializers.put(Calendar.class, CalendarCodec.instance);
deserializers.put(XMLGregorianCalendar.class, CalendarCodec.instance);

Expand Down Expand Up @@ -498,7 +491,6 @@ private void initDeserializers() {
deserializers.put(Closeable.class, JavaObjectDeserializer.instance);

deserializers.put(JSONPObject.class, new JSONPDeserializer());
ModuleUtil.callWhenHasJavaSql(initDeserializersWithJavaSql);
}

private static String[] splitItemsFormProperty(final String property ){
Expand Down Expand Up @@ -1172,37 +1164,28 @@ public boolean isPrimitive(Class<?> clazz) {
return isPrimitive2(clazz);
}

private static Function<Class<?>, Boolean> isPrimitiveFuncation = new Function<Class<?>, Boolean>() {
public Boolean apply(Class<?> clazz) {
return clazz == java.sql.Date.class //
|| clazz == java.sql.Time.class //
|| clazz == java.sql.Timestamp.class;
}
};

/**
* @deprecated internal method, dont call
*/
public static boolean isPrimitive2(final Class<?> clazz) {
Boolean primitive = clazz.isPrimitive() //
|| clazz == Boolean.class //
|| clazz == Character.class //
|| clazz == Byte.class //
|| clazz == Short.class //
|| clazz == Integer.class //
|| clazz == Long.class //
|| clazz == Float.class //
|| clazz == Double.class //
|| clazz == BigInteger.class //
|| clazz == BigDecimal.class //
|| clazz == String.class //
|| clazz == java.util.Date.class //
|| clazz.isEnum() //
;
if (!primitive) {
primitive = ModuleUtil.callWhenHasJavaSql(isPrimitiveFuncation, clazz);
}
return primitive != null ? primitive : false;
public static boolean isPrimitive2(Class<?> clazz) {
return clazz.isPrimitive() //
|| clazz == Boolean.class //
|| clazz == Character.class //
|| clazz == Byte.class //
|| clazz == Short.class //
|| clazz == Integer.class //
|| clazz == Long.class //
|| clazz == Float.class //
|| clazz == Double.class //
|| clazz == BigInteger.class //
|| clazz == BigDecimal.class //
|| clazz == String.class //
|| clazz == java.util.Date.class //
|| clazz == java.sql.Date.class //
|| clazz == java.sql.Time.class //
|| clazz == java.sql.Timestamp.class //
|| clazz.isEnum() //
;
}

/**
Expand Down
10 changes: 0 additions & 10 deletions src/main/java/com/alibaba/fastjson/util/Function.java

This file was deleted.

34 changes: 0 additions & 34 deletions src/main/java/com/alibaba/fastjson/util/ModuleUtil.java

This file was deleted.

0 comments on commit 8b02d16

Please sign in to comment.