[Mulgara-svn] r398 - branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver

andrae at mulgara.org andrae at mulgara.org
Fri Aug 31 08:23:14 UTC 2007


Author: andrae
Date: 2007-08-31 03:23:13 -0500 (Fri, 31 Aug 2007)
New Revision: 398

Modified:
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/BootstrapOperation.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseMetadataImpl.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseSession.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/OperationContext.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/PreallocateOperation.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/RemoveModelOperation.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SetModelOperation.java
   branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SubqueryAnswerUnitTest.java
Log:
This resolves most of the silly compile errors and typos.

Still need to review and revise the CreateModelOperation::execute and
QueryOperation::execute code to ensure it reflects the new semantics.



Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/BootstrapOperation.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/BootstrapOperation.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/BootstrapOperation.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -35,18 +35,30 @@
 package org.mulgara.resolver;
 
 // Java 2 standard packages
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.UUID;
 
-// Java 2 enterprise packages
-
 // Third party packages
 import org.apache.log4j.Logger;
+import org.jrdf.graph.Node;
+import org.jrdf.graph.URIReference;
 
 // Local packages
+import org.mulgara.query.ConstraintImpl;
+import org.mulgara.query.LocalNode;
+import org.mulgara.query.QueryException;
+import org.mulgara.query.TuplesException;
+import org.mulgara.query.Variable;
 import org.mulgara.query.rdf.URIReferenceImpl;
 import org.mulgara.resolver.spi.DatabaseMetadata;
+import org.mulgara.resolver.spi.GlobalizeException;
+import org.mulgara.resolver.spi.LocalizeException;
+import org.mulgara.resolver.spi.ResolverException;
 import org.mulgara.resolver.spi.ResolverSessionFactory;
 import org.mulgara.resolver.spi.SingletonStatements;
 import org.mulgara.resolver.spi.SystemResolver;
+import org.mulgara.store.tuples.Tuples;
 
 class BootstrapOperation implements Operation
 {
@@ -143,7 +155,8 @@
   }
 
   private URI retrieveOrCreateServerURI(SystemResolver systemResolver, long bootstrapModel,
-      long rdfType, long serverURIType, DatabaseMetadata metadata) throws TuplesException {
+      long rdfType, long serverURIType, DatabaseMetadata metadata) throws
+      TuplesException, QueryException, GlobalizeException, LocalizeException, ResolverException {
     Tuples serverURIs = systemResolver.resolve(new ConstraintImpl(new Variable("ServerURI"),
                                                                   new LocalNode(rdfType),
                                                                   new LocalNode(serverURIType),
@@ -156,10 +169,12 @@
       } else {
         URI serverURI = ((URIReference)node).getURI();
         if (serverURIs.next()) {
-          logger.error("Multiple ServerURIs found in Bootstrap Model
+          logger.error("Multiple ServerURIs found in Bootstrap Model");
           do {
             logger.error("Extra ServerURI found: " + serverURIs.getColumnValue(0));
-            logger.error("Extra ServerURI globalized: " + systemResolver.globalize(serverURIs.getColumnValue(0)));
+            try {
+              logger.error("Extra ServerURI globalized: " + systemResolver.globalize(serverURIs.getColumnValue(0)));
+            } catch (GlobalizeException eg) { } // Ignore globalize exception when logging error.
           } while (serverURIs.next());
         }
 
@@ -177,11 +192,16 @@
     // between serverURI's from different servers.
     // This may be a mistake - if so it can be removed without harm as this is
     // purely informative.
-    URI serverURI = new URI("rdfdb", uuid.toString(), "/_" + metadata.getServerName(), null);
-    long serverNode = resolver.localizePersistent(new URIReferenceImpl(serverURI));
-    systemResolver.modifyModel(bootstrapModel,
-        new SingletonStatements(serverNode, rdfType, serverURIType), true);
+    try {
+      URI serverURI = new URI("rdfdb", uuid.toString(), "/_" + metadata.getServerName(), null);
+      long serverNode = systemResolver.localizePersistent(new URIReferenceImpl(serverURI));
+      systemResolver.modifyModel(bootstrapModel,
+          new SingletonStatements(serverNode, rdfType, serverURIType), true);
 
-    return serverURI;
+      return serverURI;
+    } catch (URISyntaxException eu) {
+      throw new QueryException("Failed to construct serverURI from uuid: " +
+          uuid + " serverName: " + metadata.getServerName(), eu);
+    }
   }
 }

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -114,17 +114,13 @@
    */
   CreateModelOperation(URI modelURL, URI modelTypeURI) throws QueryException
   {
-    // Validate "modelURI" parameter
-    if (modelURI == null) {
-      throw new IllegalArgumentException("Null \"modelURI\" parameter");
+    if (modelURL == null) {
+      throw new IllegalArgumentException("Null 'modelURL' parameter");
     }
-    if (modelURI.getFragment() == null) {
-      throw new QueryException(
-          "Model URI does not have a fragment (modelURI:\"" + modelURI + "\")"
-      );
+    if (modelURL.getFragment() == null) {
+      throw new QueryException("Model URL does not have a fragment (modelURL:'" + modelURL + "')");
     }
 
-    // Initialize fields
     this.modelURL     = modelURL;
     this.modelTypeURI = modelTypeURI;
   }
@@ -144,13 +140,13 @@
     }
 
     long model;
-    URI modelURI = convertModelURLtoURI(modelURL);
+    URI modelURI = operationContext.convertModelURLtoURI(modelURL);
     if (modelURI != null) {
       // internal, so use model-name.
-      model = systemResolver.localize(modelURI);
+      model = systemResolver.localize(new URIReferenceImpl(modelURI));
     } else {
       // could be external, so attempt to use model-url directly.
-      model = systemResolver.localize(modelURL);
+      model = systemResolver.localize(new URIReferenceImpl(modelURL));
     }
 
     // Look up the resolver factory for the model type

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseMetadataImpl.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseMetadataImpl.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseMetadataImpl.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -34,6 +34,9 @@
 import java.net.URISyntaxException;
 import java.util.Set;
 
+// Third-party packages
+import org.jrdf.vocabulary.RDF;
+
 // Local packages
 import org.mulgara.query.rdf.Mulgara;
 import org.mulgara.resolver.spi.DatabaseMetadata;
@@ -79,6 +82,7 @@
   private URI securityDomainURI;
   private URI systemModelURI;
   private URI systemModelTypeURI;
+  private URI serverURI;
 
   /** The set of alternative hostnames for the current host. */
   private final Set hostnameAliases;
@@ -293,7 +297,7 @@
   }
 
 
-  protected void setServerURI(URI serverURI) {
+  protected void setServerURI(URI serverURI) throws URISyntaxException {
     if (serverURI == null) {
       throw new IllegalArgumentException("Setting null serverURI in Database Metadata");
     } else if (this.serverURI != null) {

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -279,24 +279,16 @@
     }
   }
 
-  public ResolverFactory findModelTypeResolverFactory(URI modelTypeURI)
-    throws QueryException
-  {
-    try {
-      return (InternalResolverFactory) internalResolverFactoryMap.get(modelTypeURI);
-    } catch (LocalizeException el) {
-      throw new
-    }
+  public ResolverFactory findModelTypeResolverFactory(URI modelTypeURI) {
+    return (InternalResolverFactory) internalResolverFactoryMap.get(modelTypeURI);
   }
 
-  public List getSecurityAdapterList()
-  {
+  public List getSecurityAdapterList() {
     return securityAdapterList;
   }
 
   public Resolver obtainResolver(ResolverFactory resolverFactory)
-    throws QueryException
-  {
+      throws QueryException {
     ResolverSession session;
 
     // Obtain a resolver
@@ -814,16 +806,21 @@
   }
 
 
-  private URI convertModelURLtoURI(URI modelURL) throws QueryException {
-    if (!isLocalModel(modelURL)) {
+  public URI convertModelURLtoURI(URI modelURL) throws QueryException {
+    if (!isLocalModelURL(modelURL)) {
       return null;
     } else {
       URI serverURI = metadata.getServerURI();
-      return new URI(serverURI.getScheme(),
-          serverURI.getAuthority(),
-          serverURI.getPath(),
-          modelURL.getQuery(),
-          modelURL.getFragment());
+      try {
+        return new URI(serverURI.getScheme(),
+            serverURI.getAuthority(),
+            serverURI.getPath(),
+            modelURL.getQuery(),
+            modelURL.getFragment());
+      } catch (URISyntaxException eu) {
+        throw new QueryException("Invalid model URI generated from serverURI: " +
+            serverURI + " and modelURL: " + modelURL, eu);
+      }
     }
   }
 
@@ -835,10 +832,10 @@
       return false;
     }
     if (modelURL.getScheme().equals("rdfdb")) {
-      return modelURL.getAuthority().equals(metadata.getServerURI.getAuthority());
+      return modelURL.getAuthority().equals(metadata.getServerURI().getAuthority());
     }
 
-    String host = modelURI.getHost();
+    String host = modelURL.getHost();
     if (host == null) {
       return false;
     }
@@ -849,11 +846,9 @@
     // Check with a DNS server to see if this host is recognised
     try {
       InetAddress addr = InetAddress.getByName(host);
-      if (metadata.getHostnameAliases().contains(addr.getHostName()) ||
-          metadata.getHostnameAliases().contains(addr.getCanonicalHostName()) ||
-          metadata.getHostnameAliases().contains(addr.getHostAddress())) {
-        return true;
-      }
+      return metadata.getHostnameAliases().contains(addr.getHostName())
+          || metadata.getHostnameAliases().contains(addr.getCanonicalHostName())
+          || metadata.getHostnameAliases().contains(addr.getHostAddress());
     } catch (UnknownHostException uhe) {
       return false;
     }

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseSession.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseSession.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/DatabaseSession.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -628,7 +628,7 @@
     try {
       MulgaraTransaction transaction =
           transactionManager.getTransaction(this, operation.isWriteOperation());
-      transaction.execute(operation, resolverSessionFactory, metadata);
+      transaction.execute(operation, metadata);
     } catch (MulgaraTransactionException em) {
       logger.info("Error executing operation: " + errorString, em);
       throw new QueryException(errorString, em);

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/OperationContext.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/OperationContext.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/OperationContext.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -123,4 +123,9 @@
   public Answer doQuery(Query query) throws Exception;
 
   public SystemResolver getSystemResolver(); // FIXME: Scaffolding for transactions.
+
+  /**
+   * Converts a given model-URL into a model-URI for this server.
+   */
+  public URI convertModelURLtoURI(URI modelURL) throws QueryException;
 }

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/PreallocateOperation.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/PreallocateOperation.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/PreallocateOperation.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -87,7 +87,6 @@
 
   public void execute(OperationContext       operationContext,
                       SystemResolver         systemResolver,
-                      ResolverSessionFactory resolverSessionFactory,
                       DatabaseMetadata       metadata) throws Exception {
 
     this.localNode = systemResolver.localizePersistent(node);

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/RemoveModelOperation.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/RemoveModelOperation.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/RemoveModelOperation.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -121,7 +121,6 @@
 
   public void execute(OperationContext       operationContext,
                       SystemResolver         systemResolver,
-                      ResolverSessionFactory resolverSessionFactory,
                       DatabaseMetadata       metadata) throws Exception
   {
     long model = systemResolver.localize(new URIReferenceImpl(modelURI));

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SetModelOperation.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SetModelOperation.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SetModelOperation.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -133,7 +133,6 @@
 
   public void execute(OperationContext       operationContext,
                       SystemResolver         systemResolver,
-                      ResolverSessionFactory resolverSessionFactory,
                       DatabaseMetadata       metadata) throws Exception
   {
     // A prior call to execute will have set statementCount >= 0.

Modified: branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SubqueryAnswerUnitTest.java
===================================================================
--- branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SubqueryAnswerUnitTest.java	2007-08-30 21:10:24 UTC (rev 397)
+++ branches/mgr-58/src/jar/resolver/java/org/mulgara/resolver/SubqueryAnswerUnitTest.java	2007-08-31 08:23:13 UTC (rev 398)
@@ -206,5 +206,7 @@
     throws Exception { return null; }
 
     public SystemResolver getSystemResolver() { return null; } // FIXME: Scaffolding for transactions.
+
+    public URI convertModelURLtoURI(URI modelURL) { }
   }
 }




More information about the Mulgara-svn mailing list