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

[1/2] git commit: CAMEL-6804: camel-facebook - Problem with jsonStoreEnabled option

Updated Branches:
  refs/heads/master c38e1dc0f -> 7f1c961a2


CAMEL-6804: camel-facebook - Problem with jsonStoreEnabled option


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

Branch: refs/heads/master
Commit: 539dd95c2e28fca6c6ea59741b2eaa7be67a153f
Parents: c38e1dc
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Oct 1 08:49:33 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Oct 1 08:49:33 2013 +0200

----------------------------------------------------------------------
 .../component/facebook/FacebookComponent.java   |  5 ++-
 .../component/facebook/FacebookConstants.java   |  1 +
 .../component/facebook/FacebookConsumer.java    | 41 ++++++++++++--------
 .../component/facebook/FacebookEndpoint.java    | 11 +++++-
 .../component/facebook/FacebookProducer.java    | 29 +++++++++++---
 .../facebook/FacebookComponentConsumerTest.java | 23 ++++++++---
 .../facebook/FacebookComponentProducerTest.java | 16 ++++++--
 7 files changed, 94 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
index 4ae234f..fb45b71 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
@@ -54,7 +54,10 @@ public class FacebookComponent extends UriEndpointComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         FacebookEndpointConfiguration config = copyComponentProperties();
-        return new FacebookEndpoint(uri, this, remaining, config);
+        final FacebookEndpoint endpoint = new FacebookEndpoint(uri, this, remaining, config);
+        // set endpoint property inBody so that it's available in initState()
+        setProperties(endpoint, parameters);
+        return endpoint;
     }
 
     private FacebookEndpointConfiguration copyComponentProperties() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConstants.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConstants.java
index e7f9f3d..7893396 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConstants.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookConstants.java
@@ -33,4 +33,5 @@ public interface FacebookConstants {
     // date format used by Facebook Reading since and until fields
     String FACEBOOK_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ";
 
+    String RAW_JSON_HEADER = FACEBOOK_PROPERTY_PREFIX + "rawJSON";
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/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 459768e..0448a0e 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
@@ -18,18 +18,8 @@ package org.apache.camel.component.facebook;
 
 import java.lang.reflect.Array;
 import java.text.SimpleDateFormat;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
-
-import facebook4j.Reading;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.facebook.data.FacebookMethodsType;
@@ -41,6 +31,10 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import facebook4j.Facebook;
+import facebook4j.Reading;
+import facebook4j.json.DataObjectFactory;
+
 import static org.apache.camel.component.facebook.FacebookConstants.FACEBOOK_DATE_FORMAT;
 import static org.apache.camel.component.facebook.FacebookConstants.READING_PPROPERTY;
 import static org.apache.camel.component.facebook.FacebookConstants.READING_PREFIX;
@@ -133,8 +127,20 @@ public class FacebookConsumer extends ScheduledPollConsumer {
         // invoke the consumer method
         final Map<String, Object> args = getMethodArguments();
         try {
-            Object result = invokeMethod(endpoint.getConfiguration().getFacebook(),
-                method, args);
+            // also check whether we need to get raw JSON
+            String rawJSON = null;
+            Object result;
+            if (endpoint.getConfiguration().getJsonStoreEnabled() == null
+                || !endpoint.getConfiguration().getJsonStoreEnabled()) {
+                result = invokeMethod(endpoint.getConfiguration().getFacebook(),
+                    method, args);
+            } else {
+                final Facebook facebook = endpoint.getConfiguration().getFacebook();
+                synchronized (facebook) {
+                    result = invokeMethod(facebook, method, args);
+                    rawJSON = DataObjectFactory.getRawJSON(result);
+                }
+            }
 
             // process result according to type
             if (result != null && (result instanceof Collection || result.getClass().isArray())) {
@@ -142,11 +148,11 @@ public class FacebookConsumer extends ScheduledPollConsumer {
                 final Object array = getResultAsArray(result);
                 final int length = Array.getLength(array);
                 for (int i = 0; i < length; i++) {
-                    processResult(Array.get(array, i));
+                    processResult(Array.get(array, i), rawJSON);
                 }
                 return length;
             } else {
-                processResult(result);
+                processResult(result, rawJSON);
                 return 1; // number of messages polled
             }
         } catch (Throwable t) {
@@ -154,9 +160,12 @@ public class FacebookConsumer extends ScheduledPollConsumer {
         }
     }
 
-    private void processResult(Object result) throws Exception {
+    private void processResult(Object result, String rawJSON) throws Exception {
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setBody(result);
+        if (rawJSON != null) {
+            exchange.getIn().setHeader(FacebookConstants.RAW_JSON_HEADER, rawJSON);
+        }
         try {
             // send message to next processor in the route
             getProcessor().process(exchange);

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
index 51eb324..02e9245 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
@@ -72,6 +72,10 @@ public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstan
     }
 
     public Consumer createConsumer(Processor processor) throws Exception {
+        // make sure inBody is not set for consumers
+        if (inBody != null) {
+            throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
+        }
         final FacebookConsumer consumer = new FacebookConsumer(this, processor);
         // also set consumer.* properties
         configureConsumer(consumer);
@@ -108,7 +112,12 @@ public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstan
 
     private void initState() {
         // get endpoint property names
-        final Set<String> arguments = getEndpointPropertyNames(configuration);
+        final Set<String> arguments = new HashSet<String>();
+        arguments.addAll(getEndpointPropertyNames(configuration));
+        // add inBody argument for producers
+        if (inBody != null) {
+            arguments.add(inBody);
+        }
         final String[] argNames = arguments.toArray(new String[arguments.size()]);
 
         candidates = new ArrayList<FacebookMethodsType>();

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
index 15f1035..6a5d695 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
@@ -35,9 +35,11 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import facebook4j.Facebook;
+import facebook4j.json.DataObjectFactory;
+
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.MatchType;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.filterMethods;
-import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.getCandidateMethods;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.getMissingProperties;
 import static org.apache.camel.component.facebook.data.FacebookPropertiesHelper.getEndpointProperties;
 import static org.apache.camel.component.facebook.data.FacebookPropertiesHelper.getExchangeProperties;
@@ -56,9 +58,6 @@ public class FacebookProducer extends DefaultAsyncProducer {
     public FacebookProducer(FacebookEndpoint endpoint) {
         super(endpoint);
         this.endpoint = endpoint;
-
-        // get candidate methods using endpoint configuration
-        getCandidateMethods(endpoint.getEndpointUri());
     }
 
     @Override
@@ -86,13 +85,31 @@ public class FacebookProducer extends DefaultAsyncProducer {
                         LOG.debug("Invoking method {} with {}", method.getName(), properties.keySet());
                     }
 
-                    Object result = FacebookMethodsTypeHelper.invokeMethod(
-                        endpoint.getConfiguration().getFacebook(), method, properties);
+                    // also check whether we need to get Raw JSON
+                    Object result;
+                    String rawJSON = null;
+                    if (endpoint.getConfiguration().getJsonStoreEnabled() == null
+                        || !endpoint.getConfiguration().getJsonStoreEnabled()) {
+                        result = FacebookMethodsTypeHelper.invokeMethod(
+                            endpoint.getConfiguration().getFacebook(), method, properties);
+                    } else {
+                        final Facebook facebook = endpoint.getConfiguration().getFacebook();
+                        // lock out the underlying Facebook object from other threads
+                        synchronized (facebook) {
+                            result = FacebookMethodsTypeHelper.invokeMethod(
+                                facebook, method, properties);
+                            rawJSON = DataObjectFactory.getRawJSON(result);
+                        }
+                    }
 
                     // producer returns a single response, even for methods with List return types
                     exchange.getOut().setBody(result);
                     // copy headers
                     exchange.getOut().setHeaders(exchange.getIn().getHeaders());
+                    if (rawJSON != null) {
+                        exchange.getOut().setHeader(FacebookConstants.FACEBOOK_PROPERTY_PREFIX + "rawJSON",
+                            rawJSON);
+                    }
 
                 } catch (Throwable t) {
                     exchange.setException(ObjectHelper.wrapRuntimeCamelException(t));

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/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 b64832b..51ca80e 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
@@ -26,7 +26,6 @@ import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 import facebook4j.api.SearchMethods;
-
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Test;
@@ -64,14 +63,25 @@ public class FacebookComponentConsumerTest extends CamelFacebookTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testJsonStoreEnabled() throws Exception {
+        final MockEndpoint mock = getMockEndpoint("mock:testJsonStoreEnabled");
+        mock.expectedMinimumMessageCount(1);
+        mock.assertIsSatisfied();
+
+        final String rawJSON = mock.getExchanges().get(0).getIn().getHeader(FacebookConstants.RAW_JSON_HEADER, String.class);
+        assertNotNull("Null rawJSON", rawJSON);
+        assertFalse("Empty rawJSON", rawJSON.isEmpty());
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
-            public void configure() {
+            public void configure() throws Exception {
 
-                // start with a 7 day window for the first delayed poll
-                String since = new SimpleDateFormat(FacebookConstants.FACEBOOK_DATE_FORMAT).format(
-                    new Date(System.currentTimeMillis() - TimeUnit.MILLISECONDS.convert(7, TimeUnit.DAYS)));
+                // start with a 30 day window for the first delayed poll
+                String since = "RAW(" + new SimpleDateFormat(FacebookConstants.FACEBOOK_DATE_FORMAT).format(
+                    new Date(System.currentTimeMillis() - TimeUnit.MILLISECONDS.convert(30, TimeUnit.DAYS))) + ")";
 
                 for (String name : searchNames) {
                     if (!excludedNames.contains(name)) {
@@ -87,6 +97,9 @@ public class FacebookComponentConsumerTest extends CamelFacebookTestSupport {
                         .to("mock:consumeQueryResult" + name);
                 }
 
+                from("facebook://me?jsonStoreEnabled=true&" + getOauthParams())
+                    .to("mock:testJsonStoreEnabled");
+
                 // TODO add tests for the rest of the supported methods
             }
         };

http://git-wip-us.apache.org/repos/asf/camel/blob/539dd95c/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
index 21e4709..c9d9015 100644
--- a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
+++ b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
@@ -21,13 +21,12 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-
-import facebook4j.Facebook;
-
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Test;
 
+import facebook4j.Facebook;
+
 public class FacebookComponentProducerTest extends CamelFacebookTestSupport {
 
     private final Set<String> noArgNames = new HashSet<String>();
@@ -84,6 +83,13 @@ public class FacebookComponentProducerTest extends CamelFacebookTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testJsonStoreEnabled() throws Exception {
+        final String rawJSON = template().requestBody("direct://testJsonStoreEnabled", new String[] { "me" }, String.class);
+        assertNotNull("NULL rawJSON", rawJSON);
+        assertFalse("Empty rawJSON", rawJSON.isEmpty());
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
@@ -120,6 +126,10 @@ public class FacebookComponentProducerTest extends CamelFacebookTestSupport {
                     }
                 }
 
+                from("direct://testJsonStoreEnabled")
+                    .to("facebook://users?inBody=ids&jsonStoreEnabled=true&" + getOauthParams())
+                    .setBody(simple("header." + FacebookConstants.RAW_JSON_HEADER));
+
                 // TODO add tests for the rest of the supported methods
             }
         };


[2/2] git commit: CAMEL-6804: camel-facebook - Problem with jsonStoreEnabled option

Posted by da...@apache.org.
CAMEL-6804: camel-facebook - Problem with jsonStoreEnabled option


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

Branch: refs/heads/master
Commit: 7f1c961a23e27fbd652ed133815253db55865926
Parents: 539dd95
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Oct 1 08:52:08 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Oct 1 08:52:08 2013 +0200

----------------------------------------------------------------------
 .../camel/component/facebook/FacebookConsumer.java | 17 ++++++++++++-----
 .../camel/component/facebook/FacebookProducer.java |  6 +++---
 .../facebook/FacebookComponentProducerTest.java    |  6 +++---
 3 files changed, 18 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7f1c961a/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 0448a0e..78c4764 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
@@ -18,8 +18,19 @@ package org.apache.camel.component.facebook;
 
 import java.lang.reflect.Array;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
+
+import facebook4j.Facebook;
+import facebook4j.Reading;
+import facebook4j.json.DataObjectFactory;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.facebook.data.FacebookMethodsType;
@@ -31,10 +42,6 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import facebook4j.Facebook;
-import facebook4j.Reading;
-import facebook4j.json.DataObjectFactory;
-
 import static org.apache.camel.component.facebook.FacebookConstants.FACEBOOK_DATE_FORMAT;
 import static org.apache.camel.component.facebook.FacebookConstants.READING_PPROPERTY;
 import static org.apache.camel.component.facebook.FacebookConstants.READING_PREFIX;

http://git-wip-us.apache.org/repos/asf/camel/blob/7f1c961a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
index 6a5d695..5819402 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookProducer.java
@@ -21,6 +21,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
+
+import facebook4j.Facebook;
+import facebook4j.json.DataObjectFactory;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
@@ -35,9 +38,6 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import facebook4j.Facebook;
-import facebook4j.json.DataObjectFactory;
-
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.MatchType;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.filterMethods;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.getMissingProperties;

http://git-wip-us.apache.org/repos/asf/camel/blob/7f1c961a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
index c9d9015..613d814 100644
--- a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
+++ b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookComponentProducerTest.java
@@ -21,12 +21,12 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import facebook4j.Facebook;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.Test;
 
-import facebook4j.Facebook;
-
 public class FacebookComponentProducerTest extends CamelFacebookTestSupport {
 
     private final Set<String> noArgNames = new HashSet<String>();
@@ -85,7 +85,7 @@ public class FacebookComponentProducerTest extends CamelFacebookTestSupport {
 
     @Test
     public void testJsonStoreEnabled() throws Exception {
-        final String rawJSON = template().requestBody("direct://testJsonStoreEnabled", new String[] { "me" }, String.class);
+        final String rawJSON = template().requestBody("direct://testJsonStoreEnabled", new String[]{"me"}, String.class);
         assertNotNull("NULL rawJSON", rawJSON);
         assertFalse("Empty rawJSON", rawJSON.isEmpty());
     }