[Mulgara-svn] r280 - in trunk/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

pag at mulgara.org pag at mulgara.org
Fri Jun 15 05:22:56 UTC 2007


Author: pag
Date: 2007-06-15 00:22:55 -0500 (Fri, 15 Jun 2007)
New Revision: 280

Modified:
   trunk/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java
   trunk/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java
   trunk/src/jar/content-n3/java/org/mulgara/content/n3/N3Statements.java
   trunk/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java
   trunk/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java
   trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java
   trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java
   trunk/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java
   trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java
   trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java
   trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java
   trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java
   trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/JRDFResolverSession.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java
Log:
added a newBlankNode method to resolver sessions, and made use of this in the N3 parser

Modified: trunk/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-mbox/java/org/mulgara/content/mbox/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -132,6 +132,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-mp3/java/org/mulgara/content/mp3/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -132,6 +132,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/content-n3/java/org/mulgara/content/n3/N3Statements.java
===================================================================
--- trunk/src/jar/content-n3/java/org/mulgara/content/n3/N3Statements.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-n3/java/org/mulgara/content/n3/N3Statements.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -202,9 +202,8 @@
 
     // Create the parser and start the parsing thread
     try {
-      parser = new Parser(content);
-    }
-    catch (NotModifiedException e) {
+      parser = new Parser(content, resolverSession);
+    } catch (NotModifiedException e) {
       throw new NotModifiedTuplesException(e);
     }
     parser.start();
@@ -287,9 +286,8 @@
       } else {
         // Create a new parser.
         try {
-          p = new Parser(content);
-        }
-        catch (NotModifiedException e) {
+          p = new Parser(content, resolverSession);
+        } catch (NotModifiedException e) {
           throw new NotModifiedTuplesException(e);
         }
         newParser = true;
@@ -340,9 +338,8 @@
         // Create a new parser.
         Parser p;
         try {
-          p = new Parser(content);
-        }
-        catch (NotModifiedException e) {
+          p = new Parser(content, resolverSession);
+        } catch (NotModifiedException e) {
           throw new NotModifiedTuplesException(e);
         }
 

Modified: trunk/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java
===================================================================
--- trunk/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -58,6 +58,8 @@
 import org.mulgara.resolver.spi.ResolverSession;
 import org.mulgara.resolver.spi.Statements;
 import org.mulgara.resolver.spi.StatementsWrapperResolution;
+import org.mulgara.store.nodepool.NodePool;
+import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.tuples.AbstractTuples;
 import org.mulgara.store.tuples.Tuples;
 import org.mulgara.util.IntFile;
@@ -99,6 +101,10 @@
 
   /** Mapping between blank node rdf:nodeIDs and local node numbers. */
   private StringToLongMap blankNodeNameMap;
+  
+  /** The resolverSession to create new internal identifiers for blank nodes. */
+  private ResolverSession resolverSession;
+  
 
   private InputStream inputStream;
 
@@ -160,26 +166,23 @@
   /**
    * Sole constructor.
    */
-  Parser(Content content) throws NotModifiedException, TuplesException
-  {
-    // Validate "content" parameter
-    if (content == null) {
-      throw new IllegalArgumentException("Null \"content\" parameter");
-    }
+  Parser(Content content, ResolverSession resolverSession) throws NotModifiedException, TuplesException {
+    // Validate parameters
+    if (content == null) throw new IllegalArgumentException("Null \"content\" parameter");
+    if (resolverSession == null) throw new IllegalArgumentException("Null \"resolverSession\" parameter");
 
     // Initialize fields
-    this.baseURI          = content.getURI();
+    this.resolverSession = resolverSession;
+    this.baseURI = content.getURI();
     try {
-      this.blankNodeIdMap   = IntFile.open(
+      this.blankNodeIdMap = IntFile.open(
         TempDir.createTempFile("n3idmap", null), true
       );
       this.blankNodeNameMap = new StringToLongMap();
-      this.inputStream  = content.newInputStream();
+      this.inputStream = content.newInputStream();
+    } catch (IOException e) {
+      throw new TuplesException("Unable to obtain input stream from " + baseURI, e);
     }
-    catch (IOException e) {
-      throw new TuplesException("Unable to obtain input stream from " + baseURI,
-                                e);
-    }
   }
 
   /**
@@ -413,8 +416,7 @@
         String s = ast.toString();
         if (isAnonymous(ast)) {
           return getBlankNode(ast);
-        }
-        else {
+        } else {
           int colonIndex = s.indexOf(':');
           assert colonIndex != -1;
           String qnamePrefix = s.substring(0, colonIndex + 1);
@@ -479,8 +481,9 @@
       BlankNodeImpl blankNode;
       if (resourceNodeId == 0) {
         // need a new anonymous node for this ID
-        blankNode = //BlankNodeFactory.createBlankNode(nodePool);
-                    new BlankNodeImpl();
+        blankNode = createBlankNode();
+        // this was using a new BlankNodeImpl, but we need new internal IDs for every new node
+        
         // need to put this node into a map
         if (anonId >= 0) {
           blankNodeIdMap.putLong(anonId, blankNode.getNodeId());
@@ -490,8 +493,7 @@
         }
       } else {
         // Found the ID, so need to recreate the anonymous resource for it
-        blankNode = //BlankNodeFactory.createBlankNode(resourceNodeId);
-                    new BlankNodeImpl(resourceNodeId);
+        blankNode = new BlankNodeImpl(resourceNodeId);
       }
 
       return blankNode;
@@ -506,6 +508,18 @@
     }
     */
   }
+  
+  /**
+   * Creates an entirely new blank node.
+   * @return A new blank node with a new internal identifier.
+   */
+  private BlankNodeImpl createBlankNode() {
+    try {
+      return new BlankNodeImpl(resolverSession.newBlankNode());
+    } catch (NodePoolException npe) {
+      throw new RuntimeException("Unable to create blank node", npe);
+    }
+  }
 
   /**
    * Parse out the node ID used by a blank node.
@@ -514,6 +528,7 @@
    * @return The number part of the node.
    */
   private long parseAnonId(AST node) {
+    // TODO: This is wrong.  There may be more text after the _:
     try {
       return Long.parseLong(node.toString().substring(ANON_TAG.length()));
     } catch (NumberFormatException nfe) {

Modified: trunk/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-n3/java/org/mulgara/content/n3/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -116,6 +116,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -116,6 +116,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-rdfxml/java/org/mulgara/content/rdfxml/writer/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -144,6 +144,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java
===================================================================
--- trunk/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/content-rio/java/org/mulgara/content/rio/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -116,6 +116,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/JRDFResolverSession.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/JRDFResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/JRDFResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -156,7 +156,7 @@
       if (node == null) {
 
         //create a new mapping
-        node = newBlankNode();
+        node = newJrdfBlankNode();
         blankNodeMap.put( (BlankNodeImpl) node, localNode);
       }
     } catch (GraphException graphException) {
@@ -249,7 +249,7 @@
    * @throws GraphException
    * @return BlankNodeImpl
    */
-  private BlankNodeImpl newBlankNode() throws GraphException {
+  private BlankNodeImpl newJrdfBlankNode() throws GraphException {
 
     String uid = null;
 

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/PersistentResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -36,6 +36,7 @@
 import org.mulgara.resolver.spi.GlobalizeException;
 import org.mulgara.resolver.spi.LocalizeException;
 import org.mulgara.resolver.spi.ResolverSession;
+import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.stringpool.SPObject;
 import org.mulgara.store.stringpool.SPObjectFactory;
 import org.mulgara.store.stringpool.StringPoolException;
@@ -103,6 +104,13 @@
     return resolverSession.localizePersistent(node);
   }
 
+  /*
+   * @see org.mulgara.resolver.spi.ResolverSession#newBlankNode()
+   */
+  public long newBlankNode() throws NodePoolException {
+    return resolverSession.newBlankNode();
+  }
+
   /**
    * @see org.mulgara.resolver.spi.ResolverSession#findStringPoolRange(SPObject,boolean,SPObject,boolean)
    */

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -220,6 +220,10 @@
     return localize(node, WRITE | PERSIST);
   }
 
+  public long newBlankNode() throws NodePoolException {
+    return persistentNodePool.newNode();
+  }
+
   public void refresh(SimpleXAResource[] resources) throws SimpleXAResourceException {
     if (logger.isDebugEnabled()) {
       logger.debug("Obtaining phase on StringPoolSession " + System.identityHashCode(this));

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -139,6 +139,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java
===================================================================
--- trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -137,6 +137,10 @@
     throw new LocalizeException(node, "Not implemented");
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java
===================================================================
--- trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolver.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -42,6 +42,7 @@
 import org.mulgara.query.*;
 import org.mulgara.resolver.spi.*;
 import org.mulgara.store.nodepool.NodePool;
+import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.statement.StatementStoreException;
 import org.mulgara.store.stringpool.SPObject;
 import org.mulgara.store.stringpool.SPObjectFactory;
@@ -63,8 +64,8 @@
  *      Software Pty Ltd</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-public class MemoryResolver implements SystemResolver
-{
+public class MemoryResolver implements SystemResolver {
+
   /**
    * Logger.
    */
@@ -112,8 +113,8 @@
                  long            systemModel,
                  URI             modelTypeURI,
                  Set             statingSet)
-    throws ResolverFactoryException
-  {
+      throws ResolverFactoryException {
+
     // Validate "modelType" parameter
     if (modelTypeURI == null) {
       throw new IllegalArgumentException("Model type can't be null");
@@ -133,8 +134,8 @@
                  URI               modelTypeURI,
                  Set               statingSet,
                  XAResolverSession resolverSession)
-    throws ResolverFactoryException
-  {
+      throws ResolverFactoryException {
+    
     // Validate "modelType" parameter
     if (modelTypeURI == null) {
       throw new IllegalArgumentException("Model type can't be null");
@@ -153,8 +154,7 @@
   // Methods implementing Resolver
   //
 
-  public XAResource getXAResource()
-  {
+  public XAResource getXAResource() {
     if (xaResolverSession != null) {
       return new MemoryXAResource(10, xaResolverSession);
     } else {
@@ -172,8 +172,7 @@
    * @param modelTypeURI  {@inheritDoc}.  The type must match the value of
    *   {@link #memoryModelTypeURI}.
    */
-  public void createModel(long model, URI modelTypeURI) throws ResolverException, LocalizeException
-  {
+  public void createModel(long model, URI modelTypeURI) throws ResolverException, LocalizeException {
     if (logger.isDebugEnabled()) {
       logger.debug("Create memory model " + model + " of type " + modelTypeURI);
     }
@@ -188,8 +187,7 @@
   }
 
   public void createSystemModel(long model, long modelType)
-      throws ResolverException, LocalizeException
-  {
+      throws ResolverException, LocalizeException {
     modifyModel(model,
         new SingletonStatements(model, rdfType, modelType),
         true);
@@ -202,16 +200,14 @@
   /**
    * @throws ResolverException always -- not yet implemented
    */
-  public void writeStringPool(Writer w) throws IOException, ResolverException
-  {
+  public void writeStringPool(Writer w) throws IOException, ResolverException {
     throw new ResolverException("Backup of string pool not implemented");
   }
 
   /**
    * Remove the cached model containing the contents of a URL.
    */
-  public void removeModel(long model) throws ResolverException
-  {
+  public void removeModel(long model) throws ResolverException {
     if (logger.isDebugEnabled()) {
       logger.debug("Remove memory model " + model);
     }
@@ -228,9 +224,7 @@
   /**
    * Insert or delete RDF statements in a model at a URL.
    */
-  public void modifyModel(long model, Statements statements, boolean occurs)
-    throws ResolverException
-  {
+  public void modifyModel(long model, Statements statements, boolean occurs) throws ResolverException {
     if (logger.isDebugEnabled()) {
       if (occurs) {
         logger.debug("Asserting " + statements + " in " + model);
@@ -283,8 +277,7 @@
   /**
    * Resolve a constraint against a model on the Java heap.
    */
-  public Resolution resolve(Constraint constraint) throws QueryException
-  {
+  public Resolution resolve(Constraint constraint) throws QueryException {
     if (logger.isDebugEnabled()) {
       logger.debug("Resolve " + constraint + " against " + statingSet);
     }
@@ -298,32 +291,32 @@
   //
 
 
-  public Node globalize(long node) throws GlobalizeException
-  {
+  public Node globalize(long node) throws GlobalizeException {
     return resolverSession.globalize(node);
   }
 
 
-  public long lookup(Node node) throws LocalizeException
-  {
+  public long lookup(Node node) throws LocalizeException {
     return resolverSession.lookup(node);
   }
 
-  public long lookupPersistent(Node node) throws LocalizeException
-  {
+  public long lookupPersistent(Node node) throws LocalizeException {
     return resolverSession.lookupPersistent(node);
   }
 
-  public long localize(Node node) throws LocalizeException
-  {
+  public long localize(Node node) throws LocalizeException {
     return resolverSession.localize(node);
   }
 
-  public long localizePersistent(Node node) throws LocalizeException
-  {
+  public long localizePersistent(Node node) throws LocalizeException {
     return resolverSession.localizePersistent(node);
   }
+  
+  public long newBlankNode() throws NodePoolException {
+    return resolverSession.newBlankNode();
+  }
 
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue

Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -36,6 +36,7 @@
 // Local packages
 import org.mulgara.store.StoreException;
 import org.mulgara.store.nodepool.NodePool;
+import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.statement.StatementStore;
 import org.mulgara.store.stringpool.SPObject;
 import org.mulgara.store.stringpool.SPObjectFactory;
@@ -133,6 +134,15 @@
   public long localizePersistent(Node node) throws LocalizeException;
 
   /**
+   * Allocates a new blank node in a session.  Unlike localization, blank nodes
+   * do not need to be inserted into the string pool.
+   * 
+   * @return A new local node number for this session.
+   * @throws NodePoolException 
+   */
+  public long newBlankNode() throws NodePoolException;
+  
+  /**
    * Get a range of nodes from the string pools used in the current session.
    *
    * @param lowValue The low end of the range to select. Pass <code>null</code>

Modified: trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java
===================================================================
--- trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolver.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -48,6 +48,7 @@
 import org.mulgara.query.rdf.URIReferenceImpl;
 import org.mulgara.resolver.spi.*;
 import org.mulgara.store.nodepool.NodePool;
+import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.statement.StatementStore;
 import org.mulgara.store.statement.StatementStoreException;
 import org.mulgara.store.stringpool.SPObject;
@@ -459,6 +460,9 @@
     return resolverSession.localizePersistent(node);
   }
 
+  public long newBlankNode() throws NodePoolException {
+    return resolverSession.newBlankNode();
+  }
 
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,

Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java	2007-05-16 17:12:00 UTC (rev 279)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/TestResolverSession.java	2007-06-15 05:22:55 UTC (rev 280)
@@ -153,6 +153,10 @@
     return localize(node);
   }
 
+  public long newBlankNode() {
+    throw new UnsupportedOperationException("Not implemented");
+  }
+
   public Tuples findStringPoolRange(
       SPObject lowValue, boolean inclLowValue,
       SPObject highValue, boolean inclHighValue




More information about the Mulgara-svn mailing list