You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commonsrdf.apache.org by st...@apache.org on 2015/08/10 12:31:22 UTC
[1/5] incubator-commonsrdf git commit: COMMONSRDF-14 specify hashCode
Repository: incubator-commonsrdf
Updated Branches:
refs/heads/master 3b0028621 -> 9c441e2c2
COMMONSRDF-14 specify hashCode
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/1a1bc326
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/1a1bc326
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/1a1bc326
Branch: refs/heads/master
Commit: 1a1bc326c9232b6d560c14d43c5e05a1e1e640b9
Parents: d44aee6
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed May 6 22:49:29 2015 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue May 12 10:05:09 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/commons/rdf/api/BlankNode.java | 4 ++++
api/src/main/java/org/apache/commons/rdf/api/IRI.java | 7 ++++++-
.../main/java/org/apache/commons/rdf/api/Literal.java | 11 +++++++++--
.../main/java/org/apache/commons/rdf/api/Triple.java | 13 ++++++++++---
4 files changed, 29 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1a1bc326/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java b/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
index 52275ad..80ee79e 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
@@ -101,6 +101,10 @@ public interface BlankNode extends BlankNodeOrIRI {
/**
* Calculate a hash code for this BlankNode.
+ * <p>
+ * The returned hash code MUST be equal to the
+ * {@link String#hashCode()} of the
+ * {@link #uniqueReference()}.
*
* This method MUST be implemented in conjunction with
* {@link #equals(Object)} so that two equal BlankNodes produce the same
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1a1bc326/api/src/main/java/org/apache/commons/rdf/api/IRI.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/IRI.java b/api/src/main/java/org/apache/commons/rdf/api/IRI.java
index 20ed071..117598e 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/IRI.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/IRI.java
@@ -60,8 +60,13 @@ public interface IRI extends BlankNodeOrIRI {
/**
* Calculate a hash code for this IRI.
+ * <p>
+ * The returned hash code MUST be equal to the
+ * {@link String#hashCode()} of the
+ * {@link #getIRIString()}.
*
- * This method MUST be implemented when implementing {@link #equals(Object)}
+ * This method MUST be implemented in conjunction with
+ * {@link #equals(Object)}
* so that two equal IRIs produce the same hash code.
*
* @return a hash code value for this IRI.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1a1bc326/api/src/main/java/org/apache/commons/rdf/api/Literal.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/Literal.java b/api/src/main/java/org/apache/commons/rdf/api/Literal.java
index 8e22acb..970e9de 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/Literal.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/Literal.java
@@ -18,6 +18,7 @@
package org.apache.commons.rdf.api;
import java.io.Serializable;
+import java.util.Objects;
import java.util.Optional;
/**
@@ -106,12 +107,18 @@ public interface Literal extends RDFTerm {
/**
* Calculate a hash code for this Literal.
- *
- * This method MUST be implemented when implementing {@link #equals(Object)}
+ * <p>
+ * The returned hash code MUST be equal to the result
+ * of {@link Objects#hash(Object...)} with
+ * the arguments
+ * {@link #getLexicalForm()}, {@link #getDatatype()}, {@link #getLanguageTag()}.
+ * <p>
+ * This method MUST be implemented in conjunction with {@link #equals(Object)}
* so that two equal Literals produce the same hash code.
*
* @return a hash code value for this Literal.
* @see Object#hashCode()
+ * @see Objects#hash(Object...)
*/
@Override
public int hashCode();
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/1a1bc326/api/src/main/java/org/apache/commons/rdf/api/Triple.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/Triple.java b/api/src/main/java/org/apache/commons/rdf/api/Triple.java
index f7dcd39..34ea7a3 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/Triple.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/Triple.java
@@ -17,6 +17,8 @@
*/
package org.apache.commons.rdf.api;
+import java.util.Objects;
+
/**
* An <a href= "http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple" >RDF-1.1
* Triple</a>, as defined by <a href= "http://www.w3.org/TR/rdf11-concepts/"
@@ -85,12 +87,17 @@ public interface Triple {
/**
* Calculate a hash code for this Triple.
* <p>
- * This method MUST be implemented when implementing {@link #equals(Object)}
- * so that two equal IRIs produce the same hash code.
- * </p>
+ * The returned hash code MUST be equal to the result
+ * of {@link Objects#hash(Object...)} with
+ * the arguments
+ * {@link #getSubject()}, {@link #getPredicate()}, {@link #getObject()}.
+ * <p>
+ * This method MUST be implemented in conjunction with {@link #equals(Object)}
+ * so that two equal {@link Triple}s produce the same hash code.
*
* @return a hash code value for this Triple.
* @see Object#hashCode()
+ * @see Objects#hash(Object...)
*/
@Override
public int hashCode();
[4/5] incubator-commonsrdf git commit: COMMONSRDF-14 Javadoc
formatting
Posted by st...@apache.org.
COMMONSRDF-14 Javadoc formatting
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/e0d8b5c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/e0d8b5c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/e0d8b5c6
Branch: refs/heads/master
Commit: e0d8b5c6187d509004aa3be3865a0a3f2790d0cb
Parents: 24da09e
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue May 12 10:16:42 2015 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue May 12 10:16:42 2015 +0100
----------------------------------------------------------------------
api/src/main/java/org/apache/commons/rdf/api/BlankNode.java | 2 +-
api/src/main/java/org/apache/commons/rdf/api/IRI.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/e0d8b5c6/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java b/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
index 80ee79e..36cdcf1 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
@@ -105,7 +105,7 @@ public interface BlankNode extends BlankNodeOrIRI {
* The returned hash code MUST be equal to the
* {@link String#hashCode()} of the
* {@link #uniqueReference()}.
- *
+ * <p>
* This method MUST be implemented in conjunction with
* {@link #equals(Object)} so that two equal BlankNodes produce the same
* hash code.
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/e0d8b5c6/api/src/main/java/org/apache/commons/rdf/api/IRI.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/IRI.java b/api/src/main/java/org/apache/commons/rdf/api/IRI.java
index 117598e..c64c7b5 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/IRI.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/IRI.java
@@ -64,7 +64,7 @@ public interface IRI extends BlankNodeOrIRI {
* The returned hash code MUST be equal to the
* {@link String#hashCode()} of the
* {@link #getIRIString()}.
- *
+ * <p>
* This method MUST be implemented in conjunction with
* {@link #equals(Object)}
* so that two equal IRIs produce the same hash code.
[3/5] incubator-commonsrdf git commit: COMMONSRDF-14 Update simple
for hashCode definition
Posted by st...@apache.org.
COMMONSRDF-14 Update simple for hashCode definition
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/24da09e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/24da09e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/24da09e9
Branch: refs/heads/master
Commit: 24da09e94a24081478eef19969a4c4be2f7ad66b
Parents: 26da408
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue May 12 10:06:43 2015 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue May 12 10:06:43 2015 +0100
----------------------------------------------------------------------
.../main/java/org/apache/commons/rdf/simple/LiteralImpl.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/24da09e9/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
----------------------------------------------------------------------
diff --git a/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java b/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
index aafc41d..7a7ed96 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/LiteralImpl.java
@@ -17,14 +17,14 @@
*/
package org.apache.commons.rdf.simple;
-import org.apache.commons.rdf.api.IRI;
-import org.apache.commons.rdf.api.Literal;
-
import java.util.IllformedLocaleException;
import java.util.Locale;
import java.util.Objects;
import java.util.Optional;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+
/**
* A simple implementation of Literal.
*/
@@ -117,7 +117,7 @@ final class LiteralImpl implements Literal {
@Override
public int hashCode() {
- return Objects.hash(dataType, lexicalForm, languageTag);
+ return Objects.hash(lexicalForm, dataType, languageTag);
}
@Override
[5/5] incubator-commonsrdf git commit: Merge remote-tracking branch
'remotes/stain/COMMONSRDF-14-hashCode'
Posted by st...@apache.org.
Merge remote-tracking branch 'remotes/stain/COMMONSRDF-14-hashCode'
Define explicit hashCode()
This fixes COMMONSRDF-14
This closes #13
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/9c441e2c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/9c441e2c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/9c441e2c
Branch: refs/heads/master
Commit: 9c441e2c2f06bb8744f05a0ccc305f384f187128
Parents: 3b00286 e0d8b5c
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Aug 10 11:29:59 2015 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Aug 10 11:29:59 2015 +0100
----------------------------------------------------------------------
.../org/apache/commons/rdf/api/BlankNode.java | 6 +-
.../java/org/apache/commons/rdf/api/IRI.java | 9 ++-
.../org/apache/commons/rdf/api/Literal.java | 11 +++-
.../java/org/apache/commons/rdf/api/Triple.java | 13 +++-
.../rdf/api/AbstractRDFTermFactoryTest.java | 67 ++++++++++++++++++++
.../apache/commons/rdf/simple/LiteralImpl.java | 8 +--
6 files changed, 102 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/9c441e2c/api/src/main/java/org/apache/commons/rdf/api/BlankNode.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/9c441e2c/api/src/main/java/org/apache/commons/rdf/api/IRI.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/9c441e2c/api/src/main/java/org/apache/commons/rdf/api/Literal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/9c441e2c/api/src/main/java/org/apache/commons/rdf/api/Triple.java
----------------------------------------------------------------------
[2/5] incubator-commonsrdf git commit: COMMONSRDF-14 Tests for
hashCode requirements
Posted by st...@apache.org.
COMMONSRDF-14 Tests for hashCode requirements
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/26da4085
Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/26da4085
Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/26da4085
Branch: refs/heads/master
Commit: 26da40856a86f6fdb511fdc0290b11c24518b704
Parents: 1a1bc32
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue May 12 10:06:29 2015 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue May 12 10:06:29 2015 +0100
----------------------------------------------------------------------
.../rdf/api/AbstractRDFTermFactoryTest.java | 67 ++++++++++++++++++++
1 file changed, 67 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/26da4085/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTermFactoryTest.java
----------------------------------------------------------------------
diff --git a/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTermFactoryTest.java b/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTermFactoryTest.java
index e4561c4..1c62161 100644
--- a/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTermFactoryTest.java
+++ b/api/src/test/java/org/apache/commons/rdf/api/AbstractRDFTermFactoryTest.java
@@ -22,6 +22,8 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotSame;
+import java.util.Objects;
+
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
@@ -406,4 +408,69 @@ public abstract class AbstractRDFTermFactoryTest {
factory.createTriple(subject, (IRI) predicate, object);
}
+ @Test
+ public void hashCodeBlankNode() throws Exception {
+ BlankNode bnode1;
+ try {
+ bnode1 = factory.createBlankNode();
+ } catch (UnsupportedOperationException ex) {
+ Assume.assumeNoException(
+ "createBlankNode() not supported", ex);
+ return;
+ }
+ assertEquals(bnode1.uniqueReference().hashCode(), bnode1.hashCode());
+ }
+
+ @Test
+ public void hashCodeIRI() throws Exception {
+ IRI iri;
+ try {
+ iri = factory.createIRI("http://example.com/");
+ } catch (UnsupportedOperationException ex) {
+ Assume.assumeNoException(
+ "createIRI(String) not supported", ex);
+ return;
+ }
+ assertEquals(iri.getIRIString().hashCode(), iri.hashCode());
+ }
+
+ @Test
+ public void hashCodeLiteral() throws Exception {
+ Literal literal;
+ try {
+ literal = factory.createLiteral("Hello");
+ } catch (UnsupportedOperationException ex) {
+ Assume.assumeNoException(
+ "createLiteral(String) not supported", ex);
+ return;
+ }
+ assertEquals(Objects.hash(
+ literal.getLexicalForm(),
+ literal.getDatatype(),
+ literal.getLanguageTag()
+ ),
+ literal.hashCode());
+ }
+
+ @Test
+ public void hashCodeTriple() throws Exception {
+ IRI iri;
+ try {
+ iri = factory.createIRI("http://example.com/");
+ } catch (UnsupportedOperationException ex) {
+ Assume.assumeNoException(
+ "createIRI() not supported", ex);
+ return;
+ }
+ Triple triple;
+ try {
+ triple = factory.createTriple(iri, iri, iri);
+ } catch (UnsupportedOperationException ex) {
+ Assume.assumeNoException(
+ "createTriple() not supported", ex);
+ return;
+ }
+ assertEquals(Objects.hash(iri, iri, iri),
+ triple.hashCode());
+ }
}