diff --git a/core/src/main/java/org/jclouds/json/config/GsonModule.java b/core/src/main/java/org/jclouds/json/config/GsonModule.java index 0b0bde0364..8b2a89117d 100644 --- a/core/src/main/java/org/jclouds/json/config/GsonModule.java +++ b/core/src/main/java/org/jclouds/json/config/GsonModule.java @@ -38,6 +38,7 @@ import org.jclouds.domain.JsonBall; import org.jclouds.domain.LoginCredentials; import org.jclouds.json.Json; import org.jclouds.json.SerializedNames; +import com.google.gson.ReflectionAccessFilter; import com.google.gson.internal.ConstructorConstructor; import com.google.gson.internal.Excluder; import com.google.gson.internal.JsonReaderInternalAccess; @@ -61,6 +62,7 @@ import org.jclouds.json.internal.NullFilteringTypeAdapterFactories.SetTypeAdapte import org.jclouds.json.internal.NullHackJsonLiteralAdapter; import org.jclouds.json.internal.OptionalTypeAdapterFactory; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import com.google.common.collect.ImmutableSet; @@ -131,7 +133,7 @@ public class GsonModule extends AbstractModule { ImmutableSet.of(new ExtractNamed())); builder.registerTypeAdapterFactory(new DeserializationConstructorAndReflectiveTypeAdapterFactory( - new ConstructorConstructor(ImmutableMap.>of()), serializationPolicy, + new ConstructorConstructor(ImmutableMap.>of(), /*useJdkUnsafe=*/ false, ImmutableList.of()), serializationPolicy, Excluder.DEFAULT, deserializationPolicy)); // complicated (serializers/deserializers as they need context to operate) diff --git a/core/src/main/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactory.java b/core/src/main/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactory.java index 3160e91cb2..db9d2e3e86 100644 --- a/core/src/main/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactory.java +++ b/core/src/main/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactory.java @@ -26,6 +26,7 @@ import java.lang.reflect.Modifier; import java.util.List; import java.util.Map; +import com.google.gson.ReflectionAccessFilter; import com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory; import com.google.gson.internal.ConstructorConstructor; import com.google.gson.internal.Excluder; @@ -35,6 +36,7 @@ import org.jclouds.json.internal.NamingStrategies.AnnotationConstructorNamingStr import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import com.google.common.reflect.Invokable; @@ -117,7 +119,7 @@ public final class DeserializationConstructorAndReflectiveTypeAdapterFactory imp "deserializationFieldNamingPolicy"); this.delegateFactory = new ReflectiveTypeAdapterFactory(constructorConstructor, checkNotNull( serializationFieldNamingPolicy, "fieldNamingPolicy"), checkNotNull(excluder, "excluder"), - new JsonAdapterAnnotationTypeAdapterFactory(constructorConstructor)); + new JsonAdapterAnnotationTypeAdapterFactory(constructorConstructor), ImmutableList.of()); } public TypeAdapter create(Gson gson, TypeToken type) { diff --git a/core/src/test/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactoryTest.java b/core/src/test/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactoryTest.java index ac453ce9c9..bb671c322a 100644 --- a/core/src/test/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactoryTest.java +++ b/core/src/test/java/org/jclouds/json/internal/DeserializationConstructorAndReflectiveTypeAdapterFactoryTest.java @@ -31,6 +31,7 @@ import javax.inject.Inject; import javax.inject.Named; import org.jclouds.json.SerializedNames; +import com.google.gson.ReflectionAccessFilter; import com.google.gson.internal.ConstructorConstructor; import com.google.gson.internal.Excluder; import org.jclouds.json.internal.NamingStrategies.AnnotationConstructorNamingStrategy; @@ -41,6 +42,7 @@ import org.testng.annotations.Test; import com.google.common.base.Objects; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; @@ -67,7 +69,8 @@ public final class DeserializationConstructorAndReflectiveTypeAdapterFactoryTest ImmutableSet.of(ConstructorProperties.class, SerializedNames.class, Inject.class), ImmutableSet.of(new ExtractNamed())); - return new DeserializationConstructorAndReflectiveTypeAdapterFactory(new ConstructorConstructor(ImmutableMap.>of()), + return new DeserializationConstructorAndReflectiveTypeAdapterFactory( + new ConstructorConstructor(ImmutableMap.>of(), /*useJdkUnsafe=*/ false, ImmutableList.of()), serializationPolicy, Excluder.DEFAULT, deserializationPolicy); } diff --git a/project/pom.xml b/project/pom.xml index c8aa63407d..19df75dfc9 100644 --- a/project/pom.xml +++ b/project/pom.xml @@ -221,7 +221,7 @@ 3.1.0 - 2.8.9 + 2.10.1 32.0.0-jre 5.1.0