[Mulgara-svn] r2025 - in trunk/src/jar: server-rmi/java/org/mulgara/server/rmi tuples/java/org/mulgara/store/tuples

pag at mulgara.org pag at mulgara.org
Wed Sep 14 17:52:19 UTC 2011


Author: pag
Date: 2011-09-14 17:52:18 +0000 (Wed, 14 Sep 2011)
New Revision: 2025

Modified:
   trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/AnswerWrapperRemoteAnswerSerialised.java
   trunk/src/jar/tuples/java/org/mulgara/store/tuples/OrderedAppend.java
Log:
Wound back to use a copy constructor in clone(), allowing fields to be final

Modified: trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/AnswerWrapperRemoteAnswerSerialised.java
===================================================================
--- trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/AnswerWrapperRemoteAnswerSerialised.java	2011-09-12 18:23:58 UTC (rev 2024)
+++ trunk/src/jar/server-rmi/java/org/mulgara/server/rmi/AnswerWrapperRemoteAnswerSerialised.java	2011-09-14 17:52:18 UTC (rev 2025)
@@ -75,7 +75,7 @@
   /**
    * The wrapped serializable instance.
    */
-  protected Answer answer;
+  protected final Answer answer;
 
   /**
    * Flag to determine availability of a next line, used to paging.
@@ -335,12 +335,10 @@
     //reset the original Answer
     try {
       answerClone.beforeFirst();
-      AnswerWrapperRemoteAnswerSerialised c = (AnswerWrapperRemoteAnswerSerialised)super.clone();
-      c.answer = answerClone;
-      return c;
+      return new AnswerWrapperRemoteAnswerSerialised(answerClone);
     } catch (TuplesException tuplesException) {
       throw new RuntimeException(tuplesException);
-    } catch (CloneNotSupportedException e) {
+    } catch (RemoteException e) {
       throw new RuntimeException(e);
     }
   }

Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/OrderedAppend.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/OrderedAppend.java	2011-09-12 18:23:58 UTC (rev 2024)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/OrderedAppend.java	2011-09-14 17:52:18 UTC (rev 2025)
@@ -75,7 +75,7 @@
   /**
    * The propositions to conjoin.
    */
-  protected Tuples[] operands;
+  protected final Tuples[] operands;
 
   /**
    * The return value of the {@link #beforeFirst} method.
@@ -138,6 +138,16 @@
   }
 
   /**
+   * Copy constructor. Used for cloning.
+   * @param orderedAppend Original object to clone.
+   */
+  private OrderedAppend(OrderedAppend orderedAppend) {
+    operands = clone(orderedAppend.operands);
+    setVariables(orderedAppend.getVariables());
+    prefix = orderedAppend.prefix;
+  }
+
+  /**
    * Gets the ColumnValue attribute of the OrderedAppend object
    *
    * @param column PARAMETER TO DO
@@ -410,12 +420,7 @@
    * @return RETURNED VALUE TO DO
    */
   public Object clone() {
-    OrderedAppend oa = (OrderedAppend)super.clone();
-    oa.operands = clone(operands);
-    oa.setVariables(getVariables());
-    oa.prefix = prefix;
-
-    return oa;
+    return new OrderedAppend(this);
   }
 
   /**



More information about the Mulgara-svn mailing list