You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/10/12 06:25:08 UTC

[1/2] git commit: CAMEL-6847 Fixed the FacebookConsumer since time issue with thanks to Dhiraj

Updated Branches:
  refs/heads/master 924ebada9 -> 6f36a097d


CAMEL-6847 Fixed the FacebookConsumer since time issue with thanks to Dhiraj


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

Branch: refs/heads/master
Commit: b4e75ee971f982c4f30176d4266dc4023b6f525e
Parents: 924ebad
Author: Willem Jiang <ni...@apache.org>
Authored: Sat Oct 12 12:14:39 2013 +0800
Committer: Willem Jiang <ni...@apache.org>
Committed: Sat Oct 12 12:14:39 2013 +0800

----------------------------------------------------------------------
 .../component/facebook/FacebookConsumer.java     | 14 +++++++++-----
 .../component/facebook/data/ReadingBuilder.java  | 19 ++++---------------
 .../facebook/FacebookComponentConsumerTest.java  | 13 +++++++++++++
 .../facebook/data/ReadingBuilderTest.java        |  3 +--
 4 files changed, 27 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b4e75ee9/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConsumer.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConsumer.java
index 3f438fe..bbe121b 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConsumer.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConsumer.java
@@ -82,12 +82,13 @@ public class FacebookConsumer extends ScheduledPollConsumer {
         final Reading reading = (Reading) properties.get(READING_PPROPERTY);
         if (reading != null) {
             final String queryString = reading.toString();
-            if (queryString.contains("since=")) {
+            if (queryString.contains(SINCE_PREFIX)) {
                 // use the user supplied value to start with
                 final int startIndex = queryString.indexOf(SINCE_PREFIX) + SINCE_PREFIX.length();
                 int endIndex = queryString.indexOf('&', startIndex);
                 if (endIndex == -1) {
-                    endIndex = queryString.length();
+                    // ignore the closing square bracket
+                    endIndex = queryString.length() - 1;
                 }
                 final String strSince = queryString.substring(startIndex, endIndex);
                 try {
@@ -105,6 +106,12 @@ public class FacebookConsumer extends ScheduledPollConsumer {
         this.endpointProperties = Collections.unmodifiableMap(properties);
     }
 
+    @Override
+    public boolean isGreedy() {
+        // make this consumer not greedy to avoid making too many Facebook calls
+        return false;
+    }
+
     private FacebookMethodsType findMethod() {
 
         FacebookMethodsType result;
@@ -136,9 +143,6 @@ public class FacebookConsumer extends ScheduledPollConsumer {
 
     @Override
     protected int poll() throws Exception {
-        // Note mark this consumer as not greedy to avoid making too many Facebook calls
-        setGreedy(false);
-
         // invoke the consumer method
         final Map<String, Object> args = getMethodArguments();
         try {

http://git-wip-us.apache.org/repos/asf/camel/blob/b4e75ee9/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/ReadingBuilder.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/ReadingBuilder.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/ReadingBuilder.java
index 40c4b2f..30854e1 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/ReadingBuilder.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/ReadingBuilder.java
@@ -17,16 +17,12 @@
 package org.apache.camel.component.facebook.data;
 
 import java.lang.reflect.Field;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.LinkedHashMap;
 import java.util.Locale;
 import java.util.Map;
 
 import facebook4j.Reading;
 
-import org.apache.camel.component.facebook.FacebookConstants;
-
 /**
  * Builds {@link facebook4j.Reading} instances.
  */
@@ -74,22 +70,15 @@ public final class ReadingBuilder {
         if (offset != null) {
             reading.offset(Integer.parseInt(offset.toString()));
         }
-        final SimpleDateFormat dateFormat = new SimpleDateFormat(FacebookConstants.FACEBOOK_DATE_FORMAT);
         final Object until = readingProperties.remove("until");
         if (until != null) {
-            try {
-                reading.until(dateFormat.parse(until.toString()));
-            } catch (ParseException e) {
-                throw new RuntimeException("Error parsing property 'until' :" + e.getMessage(), e);
-            }
+            // take the string form as is to support PHP strtotime, no validation until API call!
+            reading.until(until.toString());
         }
         final Object since = readingProperties.remove("since");
         if (since != null) {
-            try {
-                reading.since(dateFormat.parse(since.toString()));
-            } catch (ParseException e) {
-                throw new RuntimeException("Error parsing property 'since' :" + e.getMessage(), e);
-            }
+            // take the string form as is to support PHP strtotime, no validation until API call!
+            reading.since(since.toString());
         }
         final Object metadata = readingProperties.remove("metadata");
         if (metadata != null && Boolean.parseBoolean(metadata.toString())) {

http://git-wip-us.apache.org/repos/asf/camel/blob/b4e75ee9/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentConsumerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentConsumerTest.java b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentConsumerTest.java
index 51ca80e..2bb84db 100644
--- a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentConsumerTest.java
+++ b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentConsumerTest.java
@@ -74,6 +74,13 @@ public class FacebookComponentConsumerTest extends CamelFacebookTestSupport {
         assertFalse("Empty rawJSON", rawJSON.isEmpty());
     }
 
+    @Test
+    public void testGetPosts() throws Exception {
+        final MockEndpoint mock = getMockEndpoint("mock:testGetPosts");
+        mock.expectedMinimumMessageCount(1);
+        mock.assertIsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
@@ -100,6 +107,12 @@ public class FacebookComponentConsumerTest extends CamelFacebookTestSupport {
                 from("facebook://me?jsonStoreEnabled=true&" + getOauthParams())
                     .to("mock:testJsonStoreEnabled");
 
+                // test unix timestamp support
+                long unixSince =  TimeUnit.SECONDS.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
+                    - TimeUnit.SECONDS.convert(30, TimeUnit.DAYS);
+                from("facebook://posts?reading.limit=10&reading.since=" + unixSince + "&" + getOauthParams())
+                        .to("mock:testGetPosts");
+
                 // TODO add tests for the rest of the supported methods
             }
         };

http://git-wip-us.apache.org/repos/asf/camel/blob/b4e75ee9/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/data/ReadingBuilderTest.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/data/ReadingBuilderTest.java b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/data/ReadingBuilderTest.java
index 1856228..7329ca7 100644
--- a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/data/ReadingBuilderTest.java
+++ b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/data/ReadingBuilderTest.java
@@ -23,7 +23,6 @@ import java.util.Locale;
 import java.util.Map;
 
 import facebook4j.Reading;
-
 import org.apache.camel.component.facebook.FacebookConstants;
 import org.junit.Test;
 
@@ -73,7 +72,7 @@ public class ReadingBuilderTest {
         properties.put("offset", "1000");
         final String facebookDate = new SimpleDateFormat(FacebookConstants.FACEBOOK_DATE_FORMAT).format(new Date());
         properties.put("since", facebookDate);
-        properties.put("until", facebookDate);
+        properties.put("until", "arbitrary date, to be validated by Facebook call");
         properties.put("withLocation", "");
 
         // set properties on Reading


[2/2] git commit: Fixed the CS error of camel-jpa

Posted by ni...@apache.org.
Fixed the CS error of camel-jpa


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

Branch: refs/heads/master
Commit: 6f36a097debf9ee8ea23b80dbc08695b74a7c893
Parents: b4e75ee
Author: Willem Jiang <ni...@apache.org>
Authored: Sat Oct 12 12:19:28 2013 +0800
Committer: Willem Jiang <ni...@apache.org>
Committed: Sat Oct 12 12:19:28 2013 +0800

----------------------------------------------------------------------
 .../apache/camel/processor/jpa/JpaProducerConcurrentTest.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/6f36a097/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
index ac278be..b6c16e0 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
@@ -69,9 +69,9 @@ public class JpaProducerConcurrentTest extends AbstractJpaTest {
 
         // get them so they are complete
         for (Future<SendEmail> future : responses.values()) {
-        	SendEmail sendMail = future.get();
-        	assertNotNull(sendMail);
-        	log.info("Got the managed entity {}", sendMail);
+            SendEmail sendMail = future.get();
+            assertNotNull(sendMail);
+            log.info("Got the managed entity {}", sendMail);
         }
 
         // assert in the database