[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