From 9cf9cf937f95e97e801cf96630af33f7da3b2936 Mon Sep 17 00:00:00 2001 From: Constantin Miroslav Date: Fri, 23 Mar 2012 17:33:01 +0800 Subject: [PATCH 1/2] added UserInfoBlogMixin - unrecognized field "ask_anon" UserInfoBlog --- .../social/tumblr/api/UserInfoBlog.java | 9 +++++++++ .../social/tumblr/api/impl/json/TumblrModule.java | 1 + .../tumblr/api/impl/json/UserInfoBlogMixin.java | 11 +++++++++++ 3 files changed, 21 insertions(+) create mode 100644 src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java diff --git a/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java b/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java index 92915e4..64e7eb3 100644 --- a/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java +++ b/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java @@ -10,6 +10,7 @@ public class UserInfoBlog { private String url; private String title; private boolean ask; + private boolean askAnon; private int followers; private boolean primary; private boolean admin; @@ -87,4 +88,12 @@ public String getTweet() { public void setTweet(String tweet) { this.tweet = tweet; } + + public boolean isAskAnon() { + return askAnon; + } + + public void setAskAnon(boolean askAnon) { + this.ask = askAnon; + } } diff --git a/src/main/java/org/springframework/social/tumblr/api/impl/json/TumblrModule.java b/src/main/java/org/springframework/social/tumblr/api/impl/json/TumblrModule.java index 2de4bdb..d6f95ca 100644 --- a/src/main/java/org/springframework/social/tumblr/api/impl/json/TumblrModule.java +++ b/src/main/java/org/springframework/social/tumblr/api/impl/json/TumblrModule.java @@ -17,6 +17,7 @@ public TumblrModule() { public void setupModule(SetupContext context) { context.setMixInAnnotations(TumblrResponse.class, TumblrResponseMixin.class); context.setMixInAnnotations(UserInfo.class, UserInfoMixin.class); + context.setMixInAnnotations(UserInfoBlog.class, UserInfoBlogMixin.class); context.setMixInAnnotations(BlogInfo.class, BlogInfoMixin.class); context.setMixInAnnotations(Followers.class, FollowersMixin.class); context.setMixInAnnotations(Following.class, FollowingMixin.class); diff --git a/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java b/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java new file mode 100644 index 0000000..4e49e72 --- /dev/null +++ b/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java @@ -0,0 +1,11 @@ +package org.springframework.social.tumblr.api.impl.json; + +import org.codehaus.jackson.annotate.JsonProperty; + +@SuppressWarnings("unused") +public class UserInfoBlogMixin { + + @JsonProperty("ask_anon") + private boolean askAnon; + +} From d5863330acefd3764bcbc2a230f6086492a58c1b Mon Sep 17 00:00:00 2001 From: Constantin Miroslav Date: Thu, 29 Mar 2012 16:59:02 +0800 Subject: [PATCH 2/2] unrecognized field "facebook_opengraph_enabled" UserInfoBlog --- .../social/tumblr/api/UserInfoBlog.java | 17 ++++++++--- .../api/impl/json/BooleanYNDeserializer.java | 30 +++++++++++++++++++ .../api/impl/json/UserInfoBlogMixin.java | 7 +++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/springframework/social/tumblr/api/impl/json/BooleanYNDeserializer.java diff --git a/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java b/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java index 64e7eb3..92ffd54 100644 --- a/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java +++ b/src/main/java/org/springframework/social/tumblr/api/UserInfoBlog.java @@ -11,7 +11,8 @@ public class UserInfoBlog { private String title; private boolean ask; private boolean askAnon; - private int followers; + private boolean facebookOpengraphEnabled; + private int followers; private boolean primary; private boolean admin; private int queue; @@ -91,9 +92,17 @@ public void setTweet(String tweet) { public boolean isAskAnon() { return askAnon; - } + } - public void setAskAnon(boolean askAnon) { + public void setAskAnon(boolean askAnon) { this.ask = askAnon; - } + } + + public boolean isFacebookOpengraphEnabled() { + return facebookOpengraphEnabled; + } + + public void setFacebookOpengraphEnabled(boolean facebookOpengraphEnabled) { + this.facebookOpengraphEnabled = facebookOpengraphEnabled; + } } diff --git a/src/main/java/org/springframework/social/tumblr/api/impl/json/BooleanYNDeserializer.java b/src/main/java/org/springframework/social/tumblr/api/impl/json/BooleanYNDeserializer.java new file mode 100644 index 0000000..a983488 --- /dev/null +++ b/src/main/java/org/springframework/social/tumblr/api/impl/json/BooleanYNDeserializer.java @@ -0,0 +1,30 @@ +package org.springframework.social.tumblr.api.impl.json; + +import java.io.IOException; + +import org.codehaus.jackson.JsonParseException; +import org.codehaus.jackson.JsonParser; +import org.codehaus.jackson.JsonProcessingException; +import org.codehaus.jackson.map.DeserializationContext; +import org.codehaus.jackson.map.JsonDeserializer; + +public class BooleanYNDeserializer extends JsonDeserializer { + + private static final String YES = "Y"; + private static final String NO = "N"; + + @Override + public Boolean deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + try { + return ctxt.getParser().getBooleanValue(); + } catch (JsonParseException jpe) { + if (NO.equalsIgnoreCase(jp.getText())) { + return false; + } else if (YES.equalsIgnoreCase(jp.getText())) { + return true; + } + throw jpe; + } + } + +} diff --git a/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java b/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java index 4e49e72..9b98b5c 100644 --- a/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java +++ b/src/main/java/org/springframework/social/tumblr/api/impl/json/UserInfoBlogMixin.java @@ -1,11 +1,18 @@ package org.springframework.social.tumblr.api.impl.json; import org.codehaus.jackson.annotate.JsonProperty; +import org.codehaus.jackson.map.annotate.JsonDeserialize; @SuppressWarnings("unused") public class UserInfoBlogMixin { @JsonProperty("ask_anon") private boolean askAnon; + + @JsonProperty("facebook_opengraph_enabled") + @JsonDeserialize(using = BooleanYNDeserializer.class) + private boolean facebookOpengraphEnabled; + + }