#368 - Assert Jackson 2.6.0 compatibility.

Switched from overrides of the deprecated (and removed in 2.6) isEmpty(T) to isEmpty(SerializerProvider, T). Switched from deprecated @JsonSerialize(include = …) to the dedicated @JsonInclude annotation.
This commit is contained in:
Oliver Gierke
2015-07-21 10:57:33 +02:00
parent 7c9d6bb655
commit 07a5620d9f
3 changed files with 14 additions and 12 deletions

View File

@@ -127,8 +127,8 @@ public class Jackson2HalModule extends SimpleModule {
* @see com.fasterxml.jackson.databind.ser.std.StdSerializer#serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)
*/
@Override
public void serialize(List<Link> value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
JsonGenerationException {
public void serialize(List<Link> value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException {
// sort links according to their relation
Map<String, List<Object>> sortedLinks = new LinkedHashMap<String, List<Object>>();
@@ -200,12 +200,12 @@ public class Jackson2HalModule extends SimpleModule {
return null;
}
/*
/*
* (non-Javadoc)
* @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object)
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object)
*/
@Override
public boolean isEmpty(List<Link> value) {
public boolean isEmpty(SerializerProvider provider, List<Link> value) {
return value.isEmpty();
}
@@ -293,7 +293,7 @@ public class Jackson2HalModule extends SimpleModule {
}
@Override
public boolean isEmpty(Collection<?> value) {
public boolean isEmpty(SerializerProvider provider, Collection<?> value) {
return value.isEmpty();
}
@@ -424,13 +424,12 @@ public class Jackson2HalModule extends SimpleModule {
return false;
}
/*
/*
* (non-Javadoc)
*
* @see com.fasterxml.jackson.databind.ser.ContainerSerializer#isEmpty(java.lang.Object)
* @see com.fasterxml.jackson.databind.JsonSerializer#isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.lang.Object)
*/
@Override
public boolean isEmpty(Object arg0) {
public boolean isEmpty(SerializerProvider provider, Object value) {
return false;
}

View File

@@ -22,6 +22,8 @@ import javax.xml.bind.annotation.XmlElement;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.ResourceSupport;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -31,7 +33,8 @@ abstract class ResourceSupportMixin extends ResourceSupport {
@Override
@XmlElement(name = "link")
@JsonProperty("_links")
@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY, using = Jackson2HalModule.HalLinkListSerializer.class)
@JsonInclude(Include.NON_EMPTY)
@JsonSerialize(using = Jackson2HalModule.HalLinkListSerializer.class)
@JsonDeserialize(using = Jackson2HalModule.HalLinkListDeserializer.class)
public abstract List<Link> getLinks();
}