[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