Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 10306200B51 for ; Mon, 1 Aug 2016 17:38:59 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0EDFC160A6C; Mon, 1 Aug 2016 15:38:59 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2DD80160A66 for ; Mon, 1 Aug 2016 17:38:58 +0200 (CEST) Received: (qmail 48400 invoked by uid 500); 1 Aug 2016 15:38:57 -0000 Mailing-List: contact commits-help@fluo.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@fluo.incubator.apache.org Delivered-To: mailing list commits@fluo.incubator.apache.org Received: (qmail 48391 invoked by uid 99); 1 Aug 2016 15:38:57 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2016 15:38:57 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id DF23FC03CB for ; Mon, 1 Aug 2016 15:38:56 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.646 X-Spam-Level: X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id inLmzJlBOwV3 for ; Mon, 1 Aug 2016 15:38:54 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 9DEFF60D71 for ; Mon, 1 Aug 2016 15:38:53 +0000 (UTC) Received: (qmail 48321 invoked by uid 99); 1 Aug 2016 15:38:52 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2016 15:38:52 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id AFA25E058E; Mon, 1 Aug 2016 15:38:52 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: kturner@apache.org To: commits@fluo.incubator.apache.org Date: Mon, 01 Aug 2016 15:38:52 -0000 Message-Id: <04795bc8fd4043e38cafc4421823aaab@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] incubator-fluo git commit: Fixes #740 - Use Java hashcode helper methods. * Removed hashCode() method from Bytes. * Add hashCode() method to MutableBytes. * Used Java helper methods for hashCode() methods in data classes. * Added test to BytesT archived-at: Mon, 01 Aug 2016 15:38:59 -0000 Repository: incubator-fluo Updated Branches: refs/heads/master 69f8369c7 -> 540097174 Fixes #740 - Use Java hashcode helper methods. * Removed hashCode() method from Bytes. * Add hashCode() method to MutableBytes. * Used Java helper methods for hashCode() methods in data classes. * Added test to BytesTest to check for proper hashing. Project: http://git-wip-us.apache.org/repos/asf/incubator-fluo/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fluo/commit/61a43a7b Tree: http://git-wip-us.apache.org/repos/asf/incubator-fluo/tree/61a43a7b Diff: http://git-wip-us.apache.org/repos/asf/incubator-fluo/diff/61a43a7b Branch: refs/heads/master Commit: 61a43a7b84db631b8bd8a58e0a802c367f5dda7b Parents: 051a33b Author: Christopher McTague Authored: Thu Jul 28 14:35:28 2016 -0400 Committer: Keith Turner Committed: Mon Aug 1 10:46:25 2016 -0400 ---------------------------------------------------------------------- .../api/src/main/java/org/apache/fluo/api/data/Column.java | 2 +- .../src/main/java/org/apache/fluo/api/data/ColumnValue.java | 3 ++- .../src/main/java/org/apache/fluo/api/data/RowColumn.java | 2 +- .../main/java/org/apache/fluo/api/data/RowColumnValue.java | 4 +++- .../src/test/java/org/apache/fluo/core/data/BytesTest.java | 8 ++++++++ .../test/java/org/apache/fluo/core/data/RowColumnTest.java | 2 +- 6 files changed, 16 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java ---------------------------------------------------------------------- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/Column.java b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java index 8d17a93..0c0ed29 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/Column.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/Column.java @@ -172,7 +172,7 @@ public class Column implements Comparable, Serializable { @Override public int hashCode() { - return family.hashCode() + 31 * (31 * qualifier.hashCode() + visibility.hashCode()); + return Objects.hash(family, qualifier, visibility); } @Override http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java ---------------------------------------------------------------------- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java index 4080e8c..92def93 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/ColumnValue.java @@ -16,6 +16,7 @@ package org.apache.fluo.api.data; import java.io.Serializable; +import java.util.Objects; /** * @since 1.0.0 @@ -73,7 +74,7 @@ public class ColumnValue implements Serializable, Comparable { @Override public int hashCode() { - return column.hashCode() + 31 * val.hashCode(); + return Objects.hash(column, val); } @Override http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java ---------------------------------------------------------------------- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java index 1fa43d7..28ead11 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumn.java @@ -122,7 +122,7 @@ public class RowColumn implements Comparable, Serializable { @Override public int hashCode() { - return row.hashCode() + 31 * col.hashCode(); + return Objects.hash(row, col); } /** http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java ---------------------------------------------------------------------- diff --git a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java index de32948..f1a325e 100644 --- a/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java +++ b/modules/api/src/main/java/org/apache/fluo/api/data/RowColumnValue.java @@ -15,6 +15,8 @@ package org.apache.fluo.api.data; +import java.util.Objects; + /** * An immutable object that can hold a row, column, and value. * @@ -49,7 +51,7 @@ public class RowColumnValue extends RowColumn { @Override public int hashCode() { - return super.hashCode() + 31 * val.hashCode(); + return Objects.hash(super.hashCode(), val); } @Override http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/core/src/test/java/org/apache/fluo/core/data/BytesTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/fluo/core/data/BytesTest.java b/modules/core/src/test/java/org/apache/fluo/core/data/BytesTest.java index 00eee55..7512a51 100644 --- a/modules/core/src/test/java/org/apache/fluo/core/data/BytesTest.java +++ b/modules/core/src/test/java/org/apache/fluo/core/data/BytesTest.java @@ -82,6 +82,14 @@ public class BytesTest { } @Test + public void testHashSubsequence() { + Bytes b1 = Bytes.of("abcde"); + Bytes b2 = Bytes.of("cde"); + + Assert.assertEquals(b2.hashCode(), b1.subSequence(2, 5).hashCode()); + } + + @Test public void testCompare() { Bytes b1 = Bytes.of("a"); Bytes b2 = Bytes.of("b"); http://git-wip-us.apache.org/repos/asf/incubator-fluo/blob/61a43a7b/modules/core/src/test/java/org/apache/fluo/core/data/RowColumnTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/fluo/core/data/RowColumnTest.java b/modules/core/src/test/java/org/apache/fluo/core/data/RowColumnTest.java index dfd51e5..e3e3a04 100644 --- a/modules/core/src/test/java/org/apache/fluo/core/data/RowColumnTest.java +++ b/modules/core/src/test/java/org/apache/fluo/core/data/RowColumnTest.java @@ -50,7 +50,7 @@ public class RowColumnTest { Assert.assertEquals(new Column("cf2"), rc.getColumn()); Assert.assertEquals(new RowColumn(Bytes.of("r2"), new Column("cf2")), rc); Assert.assertEquals("r2 cf2 ", rc.toString()); - Assert.assertEquals(4007699, rc.hashCode()); + Assert.assertEquals(123316141, rc.hashCode()); } @Test