[Mulgara-svn] r709 - in branches/mgr-89-backup/src/jar: content-mbox/java/org/mulgara/content/mbox content-mp3/java/org/mulgara/content/mp3 content-n3/java/org/mulgara/content/n3 content-rdfxml/java/org/mulgara/content/rdfxml content-rdfxml/java/org/mulgara/content/rdfxml/writer content-rio/java/org/mulgara/content/rio resolver/java/org/mulgara/resolver resolver-filesystem/java/org/mulgara/resolver/filesystem resolver-memory/java/org/mulgara/resolver/memory resolver-spi/java/org/mulgara/resolver/spi resolver-store/java/org/mulgara/resolver/store resolver-xsd/java/org/mulgara/resolver/xsd

andrae at mulgara.org andrae at mulgara.org
Tue Mar 25 08:47:55 UTC 2008


Author: andrae
Date: 2008-03-25 01:47:54 -0700 (Tue, 25 Mar 2008)
New Revision: 709

Added:
   branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/BackupRestoreSession.java
Modified:
   branches/mgr-89-backup/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java
   branches/mgr-89-backup/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java
   branches/mgr-89-backup/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java
   branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java
   branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java
   branches/mgr-89-backup/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java
   branches/mgr-89-backup/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java
   branches/mgr-89-backup/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java
   branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java
   branches/mgr-89-backup/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java
   branches/mgr-89-backup/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java
   branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/BackupOperation.java
   branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java
   branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
   branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java
Log:
refs #89

This patch does pass 100% of the tests, and remains faithful to the original
backup formats.  There are additional cleanup tasks I would like to see done
before this makes its way into trunk - but anyone who needs an urgent patch to
the backup operation can use this.



Modified: branches/mgr-89-backup/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -160,8 +160,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
-
 }

Modified: branches/mgr-89-backup/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -160,7 +160,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -144,7 +144,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -144,7 +144,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -172,7 +172,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -144,7 +144,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/BackupOperation.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/BackupOperation.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/BackupOperation.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -184,7 +184,7 @@
         writer.write(Long.toString(localNode));
         writer.write(' ');
 
-        SPObject spObject = systemResolver.findStringPoolObject(localNode);
+        SPObject spObject = systemResolver.findSPObject(localNode);
         writer.write(spObject.getEncodedString());
         writer.write('\n');
       }

Modified: branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -144,7 +144,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
-
     return resolverSession.getSPObjectFactory();
   }
+
+  public SPObject findSPObject(long gNode) {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 }

Modified: branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -67,7 +67,7 @@
  *   Technology, Inc</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-public class StringPoolSession implements XAResolverSession
+public class StringPoolSession implements XAResolverSession, BackupRestoreSession
 {
   /** Logger.  */
   private static final Logger logger =
@@ -707,4 +707,17 @@
     return result;
   }
 
+  /**
+   * {@inheritDoc}
+   *
+   * NB: This method does not perform any absolute/relative URI mapping.
+   */
+  public SPObject findSPObject(long gNode) throws StringPoolException {
+    if (gNode < NodePool.MIN_NODE) {
+      throw new IllegalArgumentException("Attempt to resolve temporary gNode in BackupRestoreSession");
+    }
+
+    return persistentStringPool.findSPObject(gNode);
+  }
+
 }

Modified: branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -167,8 +167,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
-
 }

Modified: branches/mgr-89-backup/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -165,7 +165,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 
+  public SPObject findSPObject(long gNode) {
     throw new UnsupportedOperationException("Not Implemented on test class");
   }
 }

Modified: branches/mgr-89-backup/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -330,10 +330,13 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
-
     return resolverSession.getSPObjectFactory();
   }
 
+  public SPObject findSPObject(long gNode) throws StringPoolException {
+    return resolverSession.findSPObject(gNode);
+  }
+
   //
   // Internal methods
   //

Added: branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/BackupRestoreSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/BackupRestoreSession.java	                        (rev 0)
+++ branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/BackupRestoreSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -0,0 +1,49 @@
+
+/*
+ * The contents of this file are subject to the Open Software License
+ * Version 3.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.rosenlaw.com/OSL3.0.htm
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * This file is an original work developed by Andrae Muys
+ * Copyright (c) 2008 Andrae Muys <andrae at muys.id.au>
+ * All Rights Reserved.
+ */
+package org.mulgara.resolver.spi;
+
+// Third party packages
+
+// Local packages
+import org.mulgara.store.stringpool.SPObject;
+import org.mulgara.store.stringpool.StringPoolException;
+
+/**
+ * An interface to the string-pool required by the Backup and Restore
+ * Operations.
+ *
+ *  Note: This interface is a temporary fix until the model-name deconflation
+ *  work is put in place - at which point this we will hopefully be able to
+ *  rely on the string-pool primitives in ResolverSession.
+ *
+ * @created 2008-03-25
+ * @copyright &copy;2008 <a href="mailto:andrae at muys.id.au">Andrae Muys</a>
+ * @licence Open Software Licence v3.0
+ */
+
+public interface BackupRestoreSession
+{
+  /**
+   * Find a single object in the persistent string pool.
+   *
+   * @param gNode The graph node to find.
+   * @return the SPObject corresponding to <var>gNode</var>, or
+   * <code>null</code> if the node is not in the pool.
+   * @throws StringPoolException if an internal error occurs.
+   */
+  public SPObject findSPObject(long gNode) throws StringPoolException;
+}

Modified: branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -61,7 +61,7 @@
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
 
-public interface ResolverSession
+public interface ResolverSession extends BackupRestoreSession
 {
   /**
    * Convert session-local node numbers to globally valid RDF nodes.

Modified: branches/mgr-89-backup/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -484,7 +484,7 @@
    * @throws StringPoolException
    */
   public SPObject findStringPoolObject(long gNode) throws StringPoolException {
-    return xaResolverSession.findStringPoolObject(gNode);
+    return resolverSession.findStringPoolObject(gNode);
   }
 
   /**
@@ -494,10 +494,13 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
-
     return resolverSession.getSPObjectFactory();
   }
 
+  public SPObject findSPObject(long gNode) throws StringPoolException {
+    return resolverSession.findSPObject(gNode);
+  }
+
   //
   // Internal methods
   //

Modified: branches/mgr-89-backup/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java
===================================================================
--- branches/mgr-89-backup/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java	2008-03-25 05:14:34 UTC (rev 708)
+++ branches/mgr-89-backup/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java	2008-03-25 08:47:54 UTC (rev 709)
@@ -183,7 +183,10 @@
    * @return The factory to allow for creation of SPObjects
    */
   public SPObjectFactory getSPObjectFactory() {
-
     return spObjectFactory;
   }
+
+  public SPObject findSPObject(long gNode) {
+    throw new UnsupportedOperationException("Not Implemented on test class");
+  }
 }




More information about the Mulgara-svn mailing list