some more fixes

This commit is contained in:
Sander Hautvast 2020-12-04 17:30:46 +01:00
parent 19c48f9d3a
commit 4a9f17b940
2 changed files with 16 additions and 18 deletions

14
pom.xml
View file

@ -29,7 +29,7 @@
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>4.12</version> <version>4.13.1</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 --> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
@ -55,12 +55,22 @@
<properties> <properties>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<encoding>UTF-8</encoding>
</properties> </properties>
<build> <build>
<testSourceDirectory>src/testapp/java</testSourceDirectory> <testSourceDirectory>src/testapp/java</testSourceDirectory>
<plugins> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<compilerArgs>
<arg>-Xlint</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin> <plugin>
<artifactId>maven-jar-plugin</artifactId> <artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version> <version>3.1.0</version>

View file

@ -29,7 +29,6 @@ public class SynthSerializerFactory implements SerializerFactory {
private static final String ROOT_PACKAGE = "serializer."; private static final String ROOT_PACKAGE = "serializer.";
private final ClassPool pool = ClassPool.getDefault(); private final ClassPool pool = ClassPool.getDefault();
private final Map<String, CtClass> primitiveWrappers = new HashMap<String, CtClass>();
private CtClass serializerBase; private CtClass serializerBase;
SynthSerializerFactory() { SynthSerializerFactory() {
@ -43,15 +42,6 @@ public class SynthSerializerFactory implements SerializerFactory {
void init() { void init() {
try { try {
serializerBase = pool.get(JSONSerializer.class.getName()); serializerBase = pool.get(JSONSerializer.class.getName());
primitiveWrappers.put("int", pool.get(INTEGER));
primitiveWrappers.put("short", pool.get(SHORT));
primitiveWrappers.put("byte", pool.get(BYTE));
primitiveWrappers.put("long", pool.get(LONG));
primitiveWrappers.put("float", pool.get(FLOAT));
primitiveWrappers.put("double", pool.get(DOUBLE));
primitiveWrappers.put("boolean", pool.get(BOOLEAN));
primitiveWrappers.put("char", pool.get(CHARACTER));
} catch (NotFoundException e) { } catch (NotFoundException e) {
throw new SerializerCreationException(e); throw new SerializerCreationException(e);
} }
@ -74,13 +64,12 @@ public class SynthSerializerFactory implements SerializerFactory {
} }
try { try {
return tryCreateSerializer(beanClass); return tryCreateSerializer(beanClass);
} catch (NotFoundException | CannotCompileException | InstantiationException | IllegalAccessException e) { } catch (NotFoundException | CannotCompileException | ReflectiveOperationException e) {
throw new SerializerCreationException(e); throw new SerializerCreationException(e);
} }
} }
private <T> JSONSerializer<T> tryCreateSerializer(CtClass beanClass) throws NotFoundException, CannotCompileException, InstantiationException, private <T> JSONSerializer<T> tryCreateSerializer(CtClass beanClass) throws NotFoundException, CannotCompileException, ReflectiveOperationException {
IllegalAccessException {
CtClass serializerClass = pool.makeClass(createSerializerName(beanClass), serializerBase); CtClass serializerClass = pool.makeClass(createSerializerName(beanClass), serializerBase);
addToJsonStringMethod(beanClass, serializerClass); addToJsonStringMethod(beanClass, serializerClass);
@ -172,9 +161,8 @@ public class SynthSerializerFactory implements SerializerFactory {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private <T> JSONSerializer<T> createSerializerInstance(CtClass serializerClass) throws InstantiationException, IllegalAccessException, private <T> JSONSerializer<T> createSerializerInstance(CtClass serializerClass) throws CannotCompileException, ReflectiveOperationException {
CannotCompileException { return (JSONSerializer<T>) serializerClass.toClass().getConstructor().newInstance();
return (JSONSerializer<T>) serializerClass.toClass().newInstance();
} }
/* /*