#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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user