[Mulgara-svn] r2038 - in trunk/src/jar: content-rlog/java/org/mulgara/krule/rlog/ast query/java/org/jrdf/graph/mem query/java/org/mulgara/query query/java/org/mulgara/query/filter/value query/java/org/mulgara/query/rdf querylang/java/org/mulgara/sparql/parser/cst resolver-xsd/java/org/mulgara/resolver/xsd server/java/org/mulgara/server tuples/java/org/mulgara/store/tuples util-xa/java/org/mulgara/store/xa
pag at mulgara.org
pag at mulgara.org
Fri Sep 23 17:21:07 UTC 2011
Author: pag
Date: 2011-09-23 17:21:07 +0000 (Fri, 23 Sep 2011)
New Revision: 2038
Modified:
trunk/src/jar/content-rlog/java/org/mulgara/krule/rlog/ast/StringLiteral.java
trunk/src/jar/query/java/org/jrdf/graph/mem/BlankNodeImpl.java
trunk/src/jar/query/java/org/mulgara/query/AbstractConstraintExpression.java
trunk/src/jar/query/java/org/mulgara/query/GraphLiteral.java
trunk/src/jar/query/java/org/mulgara/query/UnconstrainedAnswer.java
trunk/src/jar/query/java/org/mulgara/query/filter/value/IRI.java
trunk/src/jar/query/java/org/mulgara/query/rdf/BlankNodeImpl.java
trunk/src/jar/query/java/org/mulgara/query/rdf/VariableNodeImpl.java
trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/BlankNode.java
trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraint.java
trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/EmptyTuples.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java
trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
Log:
Fortify updates for empty catch blocks, clones, and obsolete methods
Modified: trunk/src/jar/content-rlog/java/org/mulgara/krule/rlog/ast/StringLiteral.java
===================================================================
--- trunk/src/jar/content-rlog/java/org/mulgara/krule/rlog/ast/StringLiteral.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/content-rlog/java/org/mulgara/krule/rlog/ast/StringLiteral.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -109,14 +109,5 @@
return STRING_LITERAL_ID;
}
- /**
- * Convenience method for equality testing on objects that might be null.
- * @param a The first object to compare.
- * @param b The second object to compare.
- * @return <code>true</code> if both objects are null, or equal by value.
- */
- static final boolean nullEq(Object a, Object b) {
- return (a == null) ? b == null : a.equals(b);
- }
}
Modified: trunk/src/jar/query/java/org/jrdf/graph/mem/BlankNodeImpl.java
===================================================================
--- trunk/src/jar/query/java/org/jrdf/graph/mem/BlankNodeImpl.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/jrdf/graph/mem/BlankNodeImpl.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -151,6 +151,11 @@
}
}
+ /** @see org.jrdf.graph.AbstractBlankNode#hashCode() */
+ public int hashCode() {
+ return id.hashCode() ^ uid.hashCode();
+ }
+
/**
* Returns the String value of this BlankNode as:
* uid#id (eg. 29fbf7ba364f1425dda058737d764603#69)
Modified: trunk/src/jar/query/java/org/mulgara/query/AbstractConstraintExpression.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/AbstractConstraintExpression.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/AbstractConstraintExpression.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -80,6 +80,11 @@
}
}
+ /** @see java.lang.Object#hashCode() */
+ public int hashCode() {
+ return getVariables().hashCode();
+ }
+
/**
* Indicates if this operation is associative.
* @return <code>true</code> iff this operation is associative.
Modified: trunk/src/jar/query/java/org/mulgara/query/GraphLiteral.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/GraphLiteral.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/GraphLiteral.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -170,21 +170,12 @@
public boolean equals(Object object) {
// Check trivial cases
- if (object == null) {
+ if (object == null) return false;
- return false;
- }
+ if (object == this) return true;
- if (object == this) {
+ if (!(object instanceof GraphLiteral)) return false;
- return true;
- }
-
- if (! (object instanceof GraphLiteral)) {
-
- return false;
- }
-
// Give up
throw new Error("RDF literal equality not implemented");
}
Modified: trunk/src/jar/query/java/org/mulgara/query/UnconstrainedAnswer.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/UnconstrainedAnswer.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/UnconstrainedAnswer.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -235,8 +235,7 @@
if ((object != null) && (object instanceof Answer)) {
try {
return AnswerOperations.equal(this, (Answer) object);
- }
- catch (TuplesException e) {
+ } catch (TuplesException e) {
logger.fatal("Couldn't test equality of answers", e);
}
}
Modified: trunk/src/jar/query/java/org/mulgara/query/filter/value/IRI.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/filter/value/IRI.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/filter/value/IRI.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -91,6 +91,11 @@
}
}
+ /** @see java.lang.Object#hashCode() */
+ public int hashCode() {
+ return value.hashCode();
+ }
+
/** {@inheritDoc} */
public boolean equals(RDFTerm v) throws QueryException {
return v.isIRI() && value.equals(v.getValue());
Modified: trunk/src/jar/query/java/org/mulgara/query/rdf/BlankNodeImpl.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/rdf/BlankNodeImpl.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/rdf/BlankNodeImpl.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -160,6 +160,11 @@
}
}
+ /** @see org.jrdf.graph.AbstractBlankNode#hashCode() */
+ public int hashCode() {
+ return ((int)(nodeId >> 32) * 23) ^ ((int)(0xFFFF & nodeId));
+ }
+
/**
* Provide a legible representation of the blank node. Returns "node" and
* the node id.
Modified: trunk/src/jar/query/java/org/mulgara/query/rdf/VariableNodeImpl.java
===================================================================
--- trunk/src/jar/query/java/org/mulgara/query/rdf/VariableNodeImpl.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/query/java/org/mulgara/query/rdf/VariableNodeImpl.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -119,18 +119,10 @@
if (obj != null) {
try {
-
VariableNodeImpl tmpNode = (VariableNodeImpl) obj;
- // Ensure that both data type URIs are null or are equal by their
- // string values.
- if (getVariableName().equals(tmpNode.getVariableName())) {
-
- return true;
- }
- }
- catch (ClassCastException cce) {
-
+ if (getVariableName().equals(tmpNode.getVariableName())) return true;
+ } catch (ClassCastException cce) {
// Leave return value to be false.
}
}
Modified: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/BlankNode.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/BlankNode.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/BlankNode.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -61,4 +61,10 @@
public boolean equals(Object o) {
return (o instanceof BlankNode && ((BlankNode)o).label.equals(label));
}
+
+ /** @see java.lang.Object#hashCode() */
+ public int hashCode() {
+ return label.hashCode();
+ }
+
}
Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraint.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraint.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraint.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -319,6 +319,12 @@
Bound.equals(upperBound, intervalConstraint.upperBound);
}
+ /** @see java.lang.Object#hashCode() */
+ public int hashCode() {
+ return (lowerBound == null ? 1 : lowerBound.hashCode()) +
+ (upperBound == null ? 7 : upperBound.hashCode());
+ }
+
/**
* @return a legible representation of the constraint, for instance
* <code>[1.5 < $x <= 2.5]</code>
Modified: trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java
===================================================================
--- trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -915,7 +915,7 @@
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// check if the require request is correct
- String message = input.readLine();
+ String message = org.mulgara.util.io.IOUtil.readLine(input, EmbeddedMulgaraServer.SHUTDOWN_MSG.length() + 2);
if ((message != null) && message.equals(EmbeddedMulgaraServer.SHUTDOWN_MSG)) {
socket.close();
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/EmptyTuples.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/EmptyTuples.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/EmptyTuples.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -209,6 +209,10 @@
}
}
+ public int hashCode() {
+ return columnOrder.hashCode();
+ }
+
/**
* Returns itself.
*
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/LeftJoin.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -613,7 +613,13 @@
/** @see org.mulgara.store.tuples.Tuples#clone() */
public Object clone() {
- return new ReducedTuples(wrapped, offset, nrVars);
+ ReducedTuples result;
+ try {
+ result = (ReducedTuples)super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new AssertionError("Unable to clone ReducedTuples");
+ }
+ return result;
}
/**
Modified: trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
===================================================================
--- trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java 2011-09-23 15:04:20 UTC (rev 2037)
+++ trunk/src/jar/util-xa/java/org/mulgara/store/xa/Block.java 2011-09-23 17:21:07 UTC (rev 2038)
@@ -551,6 +551,13 @@
return bb1.equals(bb2);
}
+ /** @see java.lang.Object#hashCode() */
+ public int hashCode() {
+ return blockSize * 13 +
+ ((int)(blockId >> 32) ^ (int)(blockId & 0xFFFF)) * 17 +
+ bb.hashCode() * 19;
+ }
+
/**
* Sets the file this block is a part of.
* Used by {@link ManagedBlockFile} to redirect calls to itself.
More information about the Mulgara-svn
mailing list