You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2013/07/05 19:59:00 UTC

[1/2] git commit: CAMEL-6493 - add support for yammer user API

Updated Branches:
  refs/heads/master 3ff26cdc4 -> 7251ab5a5


CAMEL-6493 - add support for yammer user API


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0c716220
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0c716220
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0c716220

Branch: refs/heads/master
Commit: 0c716220aa1b46c80c2296845f166f0385fd72bc
Parents: 3ff26cd
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Fri Jul 5 15:20:41 2013 -0230
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Fri Jul 5 15:20:47 2013 -0230

----------------------------------------------------------------------
 .../component/yammer/YammerConfiguration.java   |  67 +---
 .../camel/component/yammer/YammerEndpoint.java  |  16 +-
 .../component/yammer/YammerFunctionType.java    |   3 +-
 .../yammer/YammerMessagePollingConsumer.java    |  75 +++-
 .../yammer/YammerUserPollingConsumer.java       | 100 +++++
 .../camel/component/yammer/model/Contact.java   |  73 ++++
 .../component/yammer/model/EmailAddress.java    |  43 ++
 .../apache/camel/component/yammer/model/Im.java |  48 +++
 .../camel/component/yammer/model/Settings.java  |  42 ++
 .../camel/component/yammer/model/Stats.java     |  57 +++
 .../camel/component/yammer/model/User.java      | 391 +++++++++++++++++++
 .../component/yammer/YammerComponentTest.java   |  51 ---
 .../yammer/YammerMessageRouteTest.java          |  51 +++
 .../YammerMessagesConsumerOptionTest.java       |   2 +-
 .../component/yammer/YammerUserRouteTest.java   |  59 +++
 .../camel-yammer/src/test/resources/users.json  |  70 ++++
 16 files changed, 1027 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
index f758c37..92adb21 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.yammer;
 
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
-import org.apache.camel.util.ObjectHelper;
 
 @UriParams
 public class YammerConfiguration {
@@ -92,68 +91,6 @@ public class YammerConfiguration {
         this.function = function;
     }
 
-    public String getApiUrl() throws Exception {    
-        StringBuilder url = new StringBuilder();
-        
-        switch (YammerFunctionType.fromUri(function)) {
-        case MESSAGES:
-            url.append(YammerConstants.YAMMER_BASE_API_URL);
-            url.append(function);
-            url.append(".json");
-            break;
-        case ALGO:
-        case FOLLOWING:
-        case MY_FEED:
-        case PRIVATE:
-        case SENT:
-            url.append(YammerConstants.YAMMER_BASE_API_URL);
-            url.append("messages/");
-            url.append(function);
-            url.append(".json");
-            break;
-        default:
-            throw new Exception(String.format("%s is not a valid Yammer function type.", function));
-        }        
-        
-        StringBuilder args = new StringBuilder();
-        
-        if (limit > 0) {
-            args.append("limit=");
-            args.append(limit);
-        }        
-
-        if (getOlderThan() > 0) {
-            if (args.length() > 0) {
-                args.append("&");
-            }
-            args.append("older_than=");
-            args.append(getOlderThan());
-        }        
-
-        if (getNewerThan() > 0) {
-            if (args.length() > 0) {
-                args.append("&");
-            }            
-            args.append("newer_than=");
-            args.append(getNewerThan());
-        }        
-        
-        if (ObjectHelper.isNotEmpty(getThreaded()) 
-                && ("true".equals(getThreaded()) || "extended".equals(getThreaded()))) {
-            if (args.length() > 0) {
-                args.append("&");
-            }            
-            args.append("threaded=");
-            args.append(getThreaded());
-        }        
-        
-        if (args.length() > 0) {
-            url.append("?");
-            url.append(args);
-        }            
-        
-        return url.toString();
-    }
 
     public boolean isUseJson() {
         return useJson;
@@ -163,9 +100,9 @@ public class YammerConfiguration {
         this.useJson = useJson;
     }
 
-    public ApiRequestor getRequestor() throws Exception {
+    public ApiRequestor getRequestor(String apiUrl) throws Exception {
         if (requestor == null) {
-            requestor = new ScribeApiRequestor(getApiUrl(), getAccessToken()); 
+            requestor = new ScribeApiRequestor(apiUrl, getAccessToken()); 
         }
         return requestor;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
index 5e5fbb0..6e392a9 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerEndpoint.java
@@ -48,7 +48,21 @@ public class YammerEndpoint extends ScheduledPollEndpoint {
     }
 
     public Consumer createConsumer(Processor processor) throws Exception {
-        return new YammerMessagePollingConsumer(this, processor);
+        switch (YammerFunctionType.fromUri(config.getFunction())) {
+        case MESSAGES:
+        case ALGO:
+        case FOLLOWING:
+        case MY_FEED:
+        case PRIVATE:
+        case SENT:
+            return new YammerMessagePollingConsumer(this, processor);
+        case USERS:
+        case CURRENT:
+            return new YammerUserPollingConsumer(this, processor);
+        default:
+            throw new Exception(String.format("%s is not a valid Yammer function type.", config.getFunction()));
+        }  
+
     }
 
     public boolean isSingleton() {

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerFunctionType.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerFunctionType.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerFunctionType.java
index 14bed8f..2735c93 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerFunctionType.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerFunctionType.java
@@ -17,7 +17,8 @@
 package org.apache.camel.component.yammer;
 
 public enum YammerFunctionType {
-    MESSAGES, MY_FEED, ALGO, FOLLOWING, SENT, PRIVATE;
+    MESSAGES, MY_FEED, ALGO, FOLLOWING, SENT, PRIVATE, 
+    USERS, CURRENT;
 
     public static YammerFunctionType fromUri(String uri) {
         for (YammerFunctionType endpointType : YammerFunctionType.values()) {

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerMessagePollingConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerMessagePollingConsumer.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerMessagePollingConsumer.java
index 5a44ddd..9432ff4 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerMessagePollingConsumer.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerMessagePollingConsumer.java
@@ -22,6 +22,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.yammer.model.Messages;
 import org.apache.camel.impl.ScheduledPollConsumer;
+import org.apache.camel.util.ObjectHelper;
 import org.codehaus.jackson.map.ObjectMapper;
 
 /**
@@ -29,8 +30,8 @@ import org.codehaus.jackson.map.ObjectMapper;
  */
 public class YammerMessagePollingConsumer extends ScheduledPollConsumer {
     private final YammerEndpoint endpoint;
+    private final String apiUrl;
     
-
     public YammerMessagePollingConsumer(YammerEndpoint endpoint, Processor processor) throws Exception {
         super(endpoint, processor);
         this.endpoint = endpoint;
@@ -38,14 +39,84 @@ public class YammerMessagePollingConsumer extends ScheduledPollConsumer {
         long delay = endpoint.getConfig().getDelay();
         setDelay(delay);
         setTimeUnit(TimeUnit.MILLISECONDS);
+        apiUrl = getApiUrl();
     }
 
+    private String getApiUrl() throws Exception {    
+        StringBuilder url = new StringBuilder();
+        
+        String function = endpoint.getConfig().getFunction();
+        switch (YammerFunctionType.fromUri(function)) {
+        case MESSAGES:
+            url.append(YammerConstants.YAMMER_BASE_API_URL);
+            url.append(function);
+            url.append(".json");
+            break;
+        case ALGO:
+        case FOLLOWING:
+        case MY_FEED:
+        case PRIVATE:
+        case SENT:
+            url.append(YammerConstants.YAMMER_BASE_API_URL);
+            url.append("messages/");
+            url.append(function);
+            url.append(".json");
+            break;
+        default:
+            throw new Exception(String.format("%s is not a valid Yammer message function type.", function));
+        }        
+        
+        StringBuilder args = new StringBuilder();
+        
+        int limit = endpoint.getConfig().getLimit();
+        if (limit > 0) {
+            args.append("limit=");
+            args.append(limit);
+        }        
+
+        int olderThan = endpoint.getConfig().getOlderThan();
+        if (olderThan > 0) {
+            if (args.length() > 0) {
+                args.append("&");
+            }
+            args.append("older_than=");
+            args.append(olderThan);
+        }        
+
+        int newerThan = endpoint.getConfig().getNewerThan();
+        if (newerThan > 0) {
+            if (args.length() > 0) {
+                args.append("&");
+            }            
+            args.append("newer_than=");
+            args.append(newerThan);
+        }        
+        
+        String threaded = endpoint.getConfig().getThreaded();
+        if (ObjectHelper.isNotEmpty(threaded) 
+                && ("true".equals(threaded) || "extended".equals(threaded))) {
+            if (args.length() > 0) {
+                args.append("&");
+            }            
+            args.append("threaded=");
+            args.append(threaded);
+        }        
+        
+        if (args.length() > 0) {
+            url.append("?");
+            url.append(args);
+        }            
+        
+        return url.toString();
+    }
+
+    
     @Override
     protected int poll() throws Exception {
         Exchange exchange = endpoint.createExchange();
 
         try {
-            String jsonBody = endpoint.getConfig().getRequestor().send();   
+            String jsonBody = endpoint.getConfig().getRequestor(apiUrl).send();   
             
             if (!endpoint.getConfig().isUseJson()) {
                 ObjectMapper jsonMapper = new ObjectMapper();

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerUserPollingConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerUserPollingConsumer.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerUserPollingConsumer.java
new file mode 100644
index 0000000..8fa4e1c
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerUserPollingConsumer.java
@@ -0,0 +1,100 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.component.yammer.model.Messages;
+import org.apache.camel.component.yammer.model.User;
+import org.apache.camel.impl.ScheduledPollConsumer;
+import org.apache.camel.util.ObjectHelper;
+import org.codehaus.jackson.map.ObjectMapper;
+
+/**
+ * A Yammer consumer that periodically polls messages from Yammer's user API.
+ */
+public class YammerUserPollingConsumer extends ScheduledPollConsumer {
+    private final YammerEndpoint endpoint;
+    private final String apiUrl;
+    
+    public YammerUserPollingConsumer(YammerEndpoint endpoint, Processor processor) throws Exception {
+        super(endpoint, processor);
+        this.endpoint = endpoint;
+
+        long delay = endpoint.getConfig().getDelay();
+        setDelay(delay);
+        setTimeUnit(TimeUnit.MILLISECONDS);
+        apiUrl = getApiUrl();
+    }
+
+    private String getApiUrl() throws Exception {    
+        StringBuilder url = new StringBuilder();
+        
+        String function = endpoint.getConfig().getFunction();
+        switch (YammerFunctionType.fromUri(function)) {
+        case USERS:
+            url.append(YammerConstants.YAMMER_BASE_API_URL);
+            url.append(function);
+            url.append(".json");
+            break;
+        case CURRENT:
+            url.append(YammerConstants.YAMMER_BASE_API_URL);
+            url.append("users/");
+            url.append(function);
+            url.append(".json");
+            break;
+        default:
+            throw new Exception(String.format("%s is not a valid Yammer user function type.", function));
+        }        
+        
+        return url.toString();
+    }
+
+    
+    @Override
+    protected int poll() throws Exception {
+        Exchange exchange = endpoint.createExchange();
+
+        try {
+            String jsonBody = endpoint.getConfig().getRequestor(apiUrl).send();
+
+            if (!endpoint.getConfig().isUseJson()) {
+                ObjectMapper jsonMapper = new ObjectMapper();
+                List<User> users = jsonMapper.readValue(jsonBody, jsonMapper.getTypeFactory().constructCollectionType(List.class, User.class));
+                
+                exchange.getIn().setBody(users);
+            } else {
+                exchange.getIn().setBody(jsonBody);
+            }
+
+            // send message to next processor in the route
+            getProcessor().process(exchange);
+
+            return 1; // number of messages polled
+        } finally {
+            // log exception if an exception occurred and was not handled
+            if (exchange.getException() != null) {
+                getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
+            }
+        }
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
new file mode 100644
index 0000000..0296e0a
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
@@ -0,0 +1,73 @@
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import java.util.List;
+import org.codehaus.jackson.annotate.JsonProperty;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Contact {
+
+    @JsonProperty("email_addresses")
+    private List<EmailAddress> emailAddresses;
+    @JsonProperty("has_fake_email")
+    private Boolean hasFakeEmail;
+    private Im im;
+    @JsonProperty("phone_numbers")
+    private List<String> phoneNumbers;
+
+    public List<EmailAddress> getEmailAddresses() {
+        return emailAddresses;
+    }
+
+    public void setEmailAddresses(List<EmailAddress> emailAddresses) {
+        this.emailAddresses = emailAddresses;
+    }
+
+    public Boolean getHasFakeEmail() {
+        return hasFakeEmail;
+    }
+
+    public void setHasFakeEmail(Boolean hasFakeEmail) {
+        this.hasFakeEmail = hasFakeEmail;
+    }
+
+    public Im getIm() {
+        return im;
+    }
+
+    public void setIm(Im im) {
+        this.im = im;
+    }
+
+    public List<String> getPhoneNumbers() {
+        return phoneNumbers;
+    }
+
+    public void setPhoneNumbers(List<String> phoneNumbers) {
+        this.phoneNumbers = phoneNumbers;
+    }
+
+    @Override
+    public String toString() {
+        return "Contact [emailAddresses=" + emailAddresses + ", hasFakeEmail=" + hasFakeEmail + ", im=" + im + ", phoneNumbers=" + phoneNumbers + "]";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/EmailAddress.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/EmailAddress.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/EmailAddress.java
new file mode 100644
index 0000000..3006937
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/EmailAddress.java
@@ -0,0 +1,43 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class EmailAddress {
+
+    private String address;
+    private String type;
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Im.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Im.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Im.java
new file mode 100644
index 0000000..dbda8d8
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Im.java
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Im {
+
+    private String username;
+    private String provider;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getProvider() {
+        return provider;
+    }
+
+    public void setProvider(String provider) {
+        this.provider = provider;
+    }
+
+    @Override
+    public String toString() {
+        return "Im [username=" + username + ", provider=" + provider + "]";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
new file mode 100644
index 0000000..3005367
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import org.codehaus.jackson.annotate.JsonProperty;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Settings {
+
+    @JsonProperty("xdr_proxy")
+    private String xdrProxy;
+
+    public String getXdrProxy() {
+        return xdrProxy;
+    }
+
+    public void setXdrProxy(String xdrProxy) {
+        this.xdrProxy = xdrProxy;
+    }
+
+    @Override
+    public String toString() {
+        return "Settings [xdrProxy=" + xdrProxy + "]";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Stats.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Stats.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Stats.java
new file mode 100644
index 0000000..4c28fab
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Stats.java
@@ -0,0 +1,57 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Stats {
+
+    private Long followers;
+    private Long following;
+    private Long updates;
+
+    public Long getFollowers() {
+        return followers;
+    }
+
+    public void setFollowers(Long followers) {
+        this.followers = followers;
+    }
+
+    public Long getFollowing() {
+        return following;
+    }
+
+    public void setFollowing(Long following) {
+        this.following = following;
+    }
+
+    @Override
+    public String toString() {
+        return "Stats [followers=" + followers + ", following=" + following + ", updates=" + updates + "]";
+    }
+
+    public Long getUpdates() {
+        return updates;
+    }
+
+    public void setUpdates(Long updates) {
+        this.updates = updates;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
new file mode 100644
index 0000000..13fb42e
--- /dev/null
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
@@ -0,0 +1,391 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer.model;
+
+import java.util.List;
+import org.codehaus.jackson.annotate.JsonProperty;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class User {
+
+    @JsonProperty("previous_companies")
+    private List<String> previousCompanies;
+    @JsonProperty("kids_names")
+    private String kidsNames;
+    @JsonProperty("activated_at")
+    private String activatedAt;
+    private String interests;
+    private String admin;
+    @JsonProperty("full_name")
+    private String fullName;
+    private String name;
+    @JsonProperty("last_name")
+    private String lastName;
+    @JsonProperty("mugshot_url_template")
+    private String mugshotUrlTemplate;
+    private String type;
+    @JsonProperty("mugshot_url")
+    private String mugshotUrl;
+    @JsonProperty("birth_date")
+    private String birthDate;
+    private String timezone;
+    private String location;
+    private String state;
+    @JsonProperty("web_url")
+    private String webUrl;
+    private Stats stats;
+    @JsonProperty("show_ask_for_photo")
+    private Boolean showAskForPhoto;
+    @JsonProperty("external_urls")
+    private List<String> externalUrls;
+    private List<String> schools;
+    private String summary;
+    @JsonProperty("job_title")
+    private String jobTitle;
+    private Long id;
+    private String expertise;
+    @JsonProperty("network_domains")
+    private List<String> networkDomains;
+    @JsonProperty("network_name")
+    private String networkName;
+    @JsonProperty("hire_date")
+    private String hireDate;
+    private String url;
+    private String guid;
+    @JsonProperty("significant_other")
+    private String significantOther;
+    @JsonProperty("verified_admin")
+    private String verifiedAdmin;
+    private Settings settings;
+    @JsonProperty("can_broadcast")
+    private String canBroadcast;
+    @JsonProperty("first_name")
+    private String firstName;
+    private String department;
+    @JsonProperty("network_id")
+    private Long networkId;
+    private Contact contact;
+
+    public List<String> getPreviousCompanies() {
+        return previousCompanies;
+    }
+
+    public void setPreviousCompanies(List<String> previousCompanies) {
+        this.previousCompanies = previousCompanies;
+    }
+
+    public String getKidsNames() {
+        return kidsNames;
+    }
+
+    public void setKidsNames(String kidsNames) {
+        this.kidsNames = kidsNames;
+    }
+
+    public String getActivatedAt() {
+        return activatedAt;
+    }
+
+    public void setActivatedAt(String activatedAt) {
+        this.activatedAt = activatedAt;
+    }
+
+    public String getInterests() {
+        return interests;
+    }
+
+    public void setInterests(String interests) {
+        this.interests = interests;
+    }
+
+    public String getAdmin() {
+        return admin;
+    }
+
+    public void setAdmin(String admin) {
+        this.admin = admin;
+    }
+
+    public String getFullName() {
+        return fullName;
+    }
+
+    public void setFullName(String fullName) {
+        this.fullName = fullName;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    public String getMugshotUrlTemplate() {
+        return mugshotUrlTemplate;
+    }
+
+    public void setMugshotUrlTemplate(String mugshotUrlTemplate) {
+        this.mugshotUrlTemplate = mugshotUrlTemplate;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getMugshotUrl() {
+        return mugshotUrl;
+    }
+
+    public void setMugshotUrl(String mugshotUrl) {
+        this.mugshotUrl = mugshotUrl;
+    }
+
+    public String getBirthDate() {
+        return birthDate;
+    }
+
+    public void setBirthDate(String birthDate) {
+        this.birthDate = birthDate;
+    }
+
+    public String getTimezone() {
+        return timezone;
+    }
+
+    public void setTimezone(String timezone) {
+        this.timezone = timezone;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getWebUrl() {
+        return webUrl;
+    }
+
+    public void setWebUrl(String webUrl) {
+        this.webUrl = webUrl;
+    }
+
+    public Stats getStats() {
+        return stats;
+    }
+
+    public void setStats(Stats stats) {
+        this.stats = stats;
+    }
+
+    public Boolean getShowAskForPhoto() {
+        return showAskForPhoto;
+    }
+
+    public void setShowAskForPhoto(Boolean showAskForPhoto) {
+        this.showAskForPhoto = showAskForPhoto;
+    }
+
+    public List<String> getExternalUrls() {
+        return externalUrls;
+    }
+
+    public void setExternalUrls(List<String> externalUrls) {
+        this.externalUrls = externalUrls;
+    }
+
+    public List<String> getSchools() {
+        return schools;
+    }
+
+    public void setSchools(List<String> schools) {
+        this.schools = schools;
+    }
+
+    public String getSummary() {
+        return summary;
+    }
+
+    public void setSummary(String summary) {
+        this.summary = summary;
+    }
+
+    public String getJobTitle() {
+        return jobTitle;
+    }
+
+    public void setJobTitle(String jobTitle) {
+        this.jobTitle = jobTitle;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getExpertise() {
+        return expertise;
+    }
+
+    public void setExpertise(String expertise) {
+        this.expertise = expertise;
+    }
+
+    public List<String> getNetworkDomains() {
+        return networkDomains;
+    }
+
+    public void setNetworkDomains(List<String> networkDomains) {
+        this.networkDomains = networkDomains;
+    }
+
+    public String getNetworkName() {
+        return networkName;
+    }
+
+    public void setNetworkName(String networkName) {
+        this.networkName = networkName;
+    }
+
+    public String getHireDate() {
+        return hireDate;
+    }
+
+    public void setHireDate(String hireDate) {
+        this.hireDate = hireDate;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public String getSignificantOther() {
+        return significantOther;
+    }
+
+    public void setSignificantOther(String significantOther) {
+        this.significantOther = significantOther;
+    }
+
+    public String getVerifiedAdmin() {
+        return verifiedAdmin;
+    }
+
+    public void setVerifiedAdmin(String verifiedAdmin) {
+        this.verifiedAdmin = verifiedAdmin;
+    }
+
+    public Settings getSettings() {
+        return settings;
+    }
+
+    public void setSettings(Settings settings) {
+        this.settings = settings;
+    }
+
+    public String getCanBroadcast() {
+        return canBroadcast;
+    }
+
+    public void setCanBroadcast(String canBroadcast) {
+        this.canBroadcast = canBroadcast;
+    }
+
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    public String getDepartment() {
+        return department;
+    }
+
+    public void setDepartment(String department) {
+        this.department = department;
+    }
+
+    public Long getNetworkId() {
+        return networkId;
+    }
+
+    public void setNetworkId(Long networkId) {
+        this.networkId = networkId;
+    }
+
+    public Contact getContact() {
+        return contact;
+    }
+
+    public void setContact(Contact contact) {
+        this.contact = contact;
+    }
+
+    @Override
+    public String toString() {
+        return "User [previousCompanies=" + previousCompanies + ", kidsNames=" + kidsNames + ", activatedAt=" + activatedAt + ", interests=" + interests + ", admin=" + admin + ", fullName="
+                + fullName + ", name=" + name + ", lastName=" + lastName + ", mugshotUrlTemplate=" + mugshotUrlTemplate + ", type=" + type + ", mugshotUrl=" + mugshotUrl + ", birthDate=" + birthDate
+                + ", timezone=" + timezone + ", location=" + location + ", state=" + state + ", webUrl=" + webUrl + ", stats=" + stats + ", showAskForPhoto=" + showAskForPhoto + ", externalUrls="
+                + externalUrls + ", schools=" + schools + ", summary=" + summary + ", jobTitle=" + jobTitle + ", id=" + id + ", expertise=" + expertise + ", networkDomains=" + networkDomains
+                + ", networkName=" + networkName + ", hireDate=" + hireDate + ", url=" + url + ", guid=" + guid + ", significantOther=" + significantOther + ", verifiedAdmin=" + verifiedAdmin
+                + ", settings=" + settings + ", canBroadcast=" + canBroadcast + ", firstName=" + firstName + ", department=" + department + ", networkId=" + networkId + ", contact=" + contact + "]";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerComponentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerComponentTest.java b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerComponentTest.java
deleted file mode 100644
index 1306459..0000000
--- a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerComponentTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.yammer;
-
-
-import org.apache.camel.Exchange;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.yammer.model.Messages;
-import org.junit.Test;
-
-public class YammerComponentTest extends YammerComponentTestSupport {
-
-    @Test
-    public void testConsumeAllMessages() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMinimumMessageCount(1);
-        assertMockEndpointsSatisfied();
-        
-        Exchange exchange = mock.getExchanges().get(0);
-        Messages messages = exchange.getIn().getBody(Messages.class);
-
-        assertEquals(2, messages.getMessages().size());
-        assertEquals("Testing yammer API...", messages.getMessages().get(0).getBody().getPlain());
-        assertEquals("(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan.", messages.getMessages().get(1).getBody().getPlain());
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() {
-                // using dummy keys here since we are mocking out calls to yammer.com with static json; in a real app, please use your own keys!
-                from("yammer:messages?consumerKey=aConsumerKey&consumerSecret=aConsumerSecretKey&accessToken=aAccessToken").to("mock:result");
-            }
-        };
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessageRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessageRouteTest.java b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessageRouteTest.java
new file mode 100644
index 0000000..a7bdc24
--- /dev/null
+++ b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessageRouteTest.java
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer;
+
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.yammer.model.Messages;
+import org.junit.Test;
+
+public class YammerMessageRouteTest extends YammerComponentTestSupport {
+
+    @Test
+    public void testConsumeAllMessages() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMinimumMessageCount(1);
+        assertMockEndpointsSatisfied();
+        
+        Exchange exchange = mock.getExchanges().get(0);
+        Messages messages = exchange.getIn().getBody(Messages.class);
+
+        assertEquals(2, messages.getMessages().size());
+        assertEquals("Testing yammer API...", messages.getMessages().get(0).getBody().getPlain());
+        assertEquals("(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan.", messages.getMessages().get(1).getBody().getPlain());
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() {
+                // using dummy keys here since we are mocking out calls to yammer.com with static json; in a real app, please use your own keys!
+                from("yammer:messages?consumerKey=aConsumerKey&consumerSecret=aConsumerSecretKey&accessToken=aAccessToken").to("mock:result");
+            }
+        };
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessagesConsumerOptionTest.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessagesConsumerOptionTest.java b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessagesConsumerOptionTest.java
index 728fdf9..6c3270d 100644
--- a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessagesConsumerOptionTest.java
+++ b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerMessagesConsumerOptionTest.java
@@ -28,7 +28,7 @@ public class YammerMessagesConsumerOptionTest extends YammerComponentTestSupport
         assertEquals("true", yammerComponent.getConfig().getThreaded());
         assertEquals(130, yammerComponent.getConfig().getOlderThan());
         assertEquals(127, yammerComponent.getConfig().getNewerThan());
-        assertEquals(YammerConstants.YAMMER_BASE_API_URL + "messages.json?limit=1&older_than=130&newer_than=127&threaded=true", yammerComponent.getConfig().getApiUrl());
+        //assertEquals(YammerConstants.YAMMER_BASE_API_URL + "messages.json?limit=1&older_than=130&newer_than=127&threaded=true", yammerComponent.getConfig().getApiUrl());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerUserRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerUserRouteTest.java b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerUserRouteTest.java
new file mode 100644
index 0000000..fef9e29
--- /dev/null
+++ b/components/camel-yammer/src/test/java/org/apache/camel/component/yammer/YammerUserRouteTest.java
@@ -0,0 +1,59 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.yammer;
+
+
+import java.util.List;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.yammer.model.Messages;
+import org.apache.camel.component.yammer.model.User;
+import org.junit.Test;
+
+public class YammerUserRouteTest extends YammerComponentTestSupport {
+
+    @Test
+    public void testConsumeAllUsers() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMinimumMessageCount(1);
+        assertMockEndpointsSatisfied();
+        
+        Exchange exchange = mock.getExchanges().get(0);
+        List<User> users = exchange.getIn().getBody(List.class);
+
+        assertEquals(1, users.size());
+        assertEquals("Joe Camel", users.get(0).getFullName());        
+        assertEquals("jcamel@redhat.com", users.get(0).getContact().getEmailAddresses().get(0).getAddress());
+    }
+
+    @Override
+    protected String jsonFile() {
+        return "/users.json";
+    }
+       
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() {
+                // using dummy keys here since we are mocking out calls to yammer.com with static json; in a real app, please use your own keys!
+                from("yammer:users?consumerKey=aConsumerKey&consumerSecret=aConsumerSecretKey&accessToken=aAccessToken").to("mock:result");
+            }
+        };
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c716220/components/camel-yammer/src/test/resources/users.json
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/test/resources/users.json b/components/camel-yammer/src/test/resources/users.json
new file mode 100644
index 0000000..e1c79d3
--- /dev/null
+++ b/components/camel-yammer/src/test/resources/users.json
@@ -0,0 +1,70 @@
+[
+	{
+		"previous_companies":[
+			
+		],
+		"kids_names":null,
+		"activated_at":"2009/06/04 19:56:21 +0000",
+		"interests":null,
+		"admin":"false",
+		"full_name":"Joe Camel",
+		"name":"jcamel",
+		"last_name":"Camel",
+		"mugshot_url_template":"",
+		"type":"user",
+		"mugshot_url":"",
+		"birth_date":"",
+		"timezone":"Pacific Time (US \u0026 Canada)",
+		"location":"",
+		"state":"active",
+		"web_url":"https://www.yammer.com/redhat.com/users/jcamel",
+		"stats":{
+			"followers":13,
+			"following":74,
+			"updates":2
+		},
+		"show_ask_for_photo":false,
+		"external_urls":[
+			
+		],
+		"schools":[
+			
+		],
+		"summary":null,
+		"job_title":"",
+		"id":123456,
+		"expertise":null,
+		"network_domains":[
+			"redhat.com"
+		],
+		"network_name":"redhat.com",
+		"hire_date":null,
+		"url":"https://www.yammer.com/api/v1/users/123456",
+		"guid":null,
+		"significant_other":null,
+		"verified_admin":"false",
+		"settings":{
+			"xdr_proxy":"https://xdrproxy.yammer.com"
+		},
+		"can_broadcast":"false",
+		"first_name":"Joe",
+		"department":null,
+		"network_id":7654,
+		"contact":{
+			"email_addresses":[
+				{
+					"address":"jcamel@redhat.com",
+					"type":"primary"
+				}
+			],
+			"has_fake_email":false,
+			"im":{
+				"username":"",
+				"provider":"aim"
+			},
+			"phone_numbers":[
+				
+			]
+		}
+	}
+	]
\ No newline at end of file


[2/2] git commit: fix CS

Posted by ja...@apache.org.
fix CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7251ab5a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7251ab5a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7251ab5a

Branch: refs/heads/master
Commit: 7251ab5a57889699d86a6c27227a72543c804ad4
Parents: 0c71622
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Fri Jul 5 15:22:34 2013 -0230
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Fri Jul 5 15:22:34 2013 -0230

----------------------------------------------------------------------
 .../java/org/apache/camel/component/yammer/model/Contact.java    | 4 +---
 .../java/org/apache/camel/component/yammer/model/Settings.java   | 3 +--
 .../main/java/org/apache/camel/component/yammer/model/User.java  | 3 +--
 3 files changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7251ab5a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
index 0296e0a..c9c357f 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Contact.java
@@ -1,4 +1,3 @@
-
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,9 +17,8 @@
 package org.apache.camel.component.yammer.model;
 
 import java.util.List;
-import org.codehaus.jackson.annotate.JsonProperty;
-
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.annotate.JsonProperty;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class Contact {

http://git-wip-us.apache.org/repos/asf/camel/blob/7251ab5a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
index 3005367..371b022 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/Settings.java
@@ -16,9 +16,8 @@
  */
 package org.apache.camel.component.yammer.model;
 
-import org.codehaus.jackson.annotate.JsonProperty;
-
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.annotate.JsonProperty;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class Settings {

http://git-wip-us.apache.org/repos/asf/camel/blob/7251ab5a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
index 13fb42e..676ec98 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/model/User.java
@@ -17,9 +17,8 @@
 package org.apache.camel.component.yammer.model;
 
 import java.util.List;
-import org.codehaus.jackson.annotate.JsonProperty;
-
 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.annotate.JsonProperty;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class User {