#27 - Added support for Jackson 2.
Added Jackson 2 dependencies. Doubly annotated representation model classes with both Jackson 1 and Jackson 2 annotations. Added Integration tests for Jackson 2 marshaling provided by Jon. Polished template.mf.
This commit is contained in:
@@ -22,9 +22,6 @@ import java.util.Collection;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonAutoDetect;
|
||||
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
@@ -33,10 +30,12 @@ import org.springframework.util.Assert;
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
@XmlRootElement(name = "entities")
|
||||
@JsonAutoDetect(fieldVisibility = Visibility.ANY)
|
||||
@org.codehaus.jackson.annotate.JsonAutoDetect(fieldVisibility = org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.ANY)
|
||||
@com.fasterxml.jackson.annotation.JsonAutoDetect(fieldVisibility = com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY)
|
||||
public class PagedResources<T> extends Resources<T> {
|
||||
|
||||
@JsonProperty("page")
|
||||
@org.codehaus.jackson.annotate.JsonProperty("page")
|
||||
@com.fasterxml.jackson.annotation.JsonProperty("page")
|
||||
private PageMetadata metadata;
|
||||
|
||||
/**
|
||||
@@ -145,23 +144,28 @@ public class PagedResources<T> extends Resources<T> {
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
@JsonAutoDetect(fieldVisibility = Visibility.ANY)
|
||||
@org.codehaus.jackson.annotate.JsonAutoDetect(fieldVisibility = org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.ANY)
|
||||
@com.fasterxml.jackson.annotation.JsonAutoDetect(fieldVisibility = com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY)
|
||||
public static class PageMetadata {
|
||||
|
||||
@XmlAttribute
|
||||
@JsonProperty
|
||||
@org.codehaus.jackson.annotate.JsonProperty
|
||||
@com.fasterxml.jackson.annotation.JsonProperty
|
||||
private long size;
|
||||
|
||||
@XmlAttribute
|
||||
@JsonProperty
|
||||
@org.codehaus.jackson.annotate.JsonProperty
|
||||
@com.fasterxml.jackson.annotation.JsonProperty
|
||||
private long totalElements;
|
||||
|
||||
@XmlAttribute
|
||||
@JsonProperty
|
||||
@org.codehaus.jackson.annotate.JsonProperty
|
||||
@com.fasterxml.jackson.annotation.JsonProperty
|
||||
private long totalPages;
|
||||
|
||||
@XmlAttribute
|
||||
@JsonProperty
|
||||
@org.codehaus.jackson.annotate.JsonProperty
|
||||
@com.fasterxml.jackson.annotation.JsonProperty
|
||||
private long number;
|
||||
|
||||
protected PageMetadata() {
|
||||
|
||||
@@ -19,7 +19,6 @@ import java.util.Arrays;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonUnwrapped;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
@@ -30,7 +29,8 @@ import org.springframework.util.Assert;
|
||||
@XmlRootElement
|
||||
public class Resource<T> extends ResourceSupport {
|
||||
|
||||
@JsonUnwrapped
|
||||
@org.codehaus.jackson.annotate.JsonUnwrapped
|
||||
@com.fasterxml.jackson.annotation.JsonUnwrapped
|
||||
private final T content;
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,8 +21,6 @@ import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonIgnore;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
@@ -33,7 +31,8 @@ import org.springframework.util.Assert;
|
||||
public class ResourceSupport implements Identifiable<Link> {
|
||||
|
||||
@XmlElement(name = "link", namespace = Link.ATOM_NAMESPACE)
|
||||
@JsonProperty("links")
|
||||
@org.codehaus.jackson.annotate.JsonProperty("links")
|
||||
@com.fasterxml.jackson.annotation.JsonProperty("links")
|
||||
private final List<Link> links;
|
||||
|
||||
public ResourceSupport() {
|
||||
@@ -43,7 +42,8 @@ public class ResourceSupport implements Identifiable<Link> {
|
||||
/**
|
||||
* Returns the {@link Link} with a rel of {@link Link#REL_SELF}.
|
||||
*/
|
||||
@JsonIgnore
|
||||
@org.codehaus.jackson.annotate.JsonIgnore
|
||||
@com.fasterxml.jackson.annotation.JsonIgnore
|
||||
public Link getId() {
|
||||
return getLink(Link.REL_SELF);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import javax.xml.bind.annotation.XmlAnyElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
@@ -38,7 +37,8 @@ public class Resources<T> extends ResourceSupport implements Iterable<T> {
|
||||
|
||||
@XmlAnyElement
|
||||
@XmlElementWrapper
|
||||
@JsonProperty("content")
|
||||
@org.codehaus.jackson.annotate.JsonProperty("content")
|
||||
@com.fasterxml.jackson.annotation.JsonProperty("content")
|
||||
private final Collection<T> content;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user