You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by hs...@apache.org on 2014/07/30 02:22:43 UTC
git commit: GORA-361 AvroUtils.deepClonePersistent needs to flush
BinaryEncoder | patch by Gerhard Gossen
Repository: gora
Updated Branches:
refs/heads/master d1a921204 -> 86d8f8f13
GORA-361 AvroUtils.deepClonePersistent needs to flush BinaryEncoder | patch by Gerhard Gossen
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/86d8f8f1
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/86d8f8f1
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/86d8f8f1
Branch: refs/heads/master
Commit: 86d8f8f13afd91536e8063badf3cf61281ae1354
Parents: d1a9212
Author: Henry Saputra <he...@gmail.com>
Authored: Tue Jul 29 17:22:37 2014 -0700
Committer: Henry Saputra <he...@gmail.com>
Committed: Tue Jul 29 17:22:37 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../java/org/apache/gora/util/AvroUtils.java | 1 +
.../org/apache/gora/util/TestAvroUtils.java | 29 ++++++++++++++++++++
3 files changed, 32 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/gora/blob/86d8f8f1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index c8bce24..d790e32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -4,6 +4,8 @@
Current Development 0.5-SNAPSHOT
+* GORA-361 AvroUtils.deepClonePersistent needs to flush BinaryEncoder (Gerhard Gossen via hsaputra)
+
* GORA-351 Multiple Slf4j logging implementations in parent pom.xml (lewismc)
* GORA-234 Javadoc and java annotations in gora-core base (abstract) classes needs to be corrected (tpalsulich via lewismc)
http://git-wip-us.apache.org/repos/asf/gora/blob/86d8f8f1/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java
----------------------------------------------------------------------
diff --git a/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java b/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java
index cb13f57..1fd9a3d 100644
--- a/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java
+++ b/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java
@@ -107,6 +107,7 @@ public class AvroUtils {
persistent.getSchema());
try {
writer.write(persistent, enc);
+ enc.flush();
} catch (IOException e) {
throw new RuntimeException(
"Unable to serialize avro object to byte buffer - "
http://git-wip-us.apache.org/repos/asf/gora/blob/86d8f8f1/gora-core/src/test/java/org/apache/gora/util/TestAvroUtils.java
----------------------------------------------------------------------
diff --git a/gora-core/src/test/java/org/apache/gora/util/TestAvroUtils.java b/gora-core/src/test/java/org/apache/gora/util/TestAvroUtils.java
new file mode 100644
index 0000000..dea24d2
--- /dev/null
+++ b/gora-core/src/test/java/org/apache/gora/util/TestAvroUtils.java
@@ -0,0 +1,29 @@
+package org.apache.gora.util;
+
+import java.nio.ByteBuffer;
+
+import org.apache.avro.util.Utf8;
+import org.apache.gora.examples.generated.WebPage;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+public class TestAvroUtils {
+
+ @Test
+ public void testDeepClonePersistent() throws Exception {
+ CharSequence url = new Utf8("http://gora.apache.org/");
+ WebPage.Builder builder = WebPage.newBuilder()
+ .setUrl(url)
+ .setContent(ByteBuffer.wrap("Gora".getBytes("UTF-8")));
+ WebPage webPage = builder.build();
+ WebPage clonedWebPage = AvroUtils.deepClonePersistent(webPage);
+ assertThat(clonedWebPage, is(notNullValue()));
+ assertThat(clonedWebPage.getUrl(), is(equalTo(url)));
+ assertThat(clonedWebPage.getContent(), is(notNullValue()));
+ String clonedWebPageContent = new String(clonedWebPage.getContent().array(), "UTF-8");
+ assertThat(clonedWebPageContent, is(equalTo("Gora")));
+ }
+
+}