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