[Mulgara-svn] r925 - in trunk/src/jar: resolver-distributed/java/org/mulgara/resolver/distributed resolver-file/java/org/mulgara/resolver/file resolver-filesystem/java/org/mulgara/resolver/filesystem resolver-gis/java/org/mulgara/resolver/gis resolver-http/java/org/mulgara/resolver/http resolver-jar/java/org/mulgara/resolver/jar resolver-lucene/java/org/mulgara/resolver/lucene resolver-memory/java/org/mulgara/resolver/memory resolver-relational/java/org/mulgara/resolver/relational resolver-spi/java/org/mulgara/resolver/spi resolver-store/java/org/mulgara/resolver/store resolver-test/java/org/mulgara/resolver/test resolver-url/java/org/mulgara/resolver/url resolver-view/java/org/mulgara/resolver/view resolver-xsd/java/org/mulgara/resolver/xsd
pag at mulgara.org
pag at mulgara.org
Wed May 14 03:44:29 UTC 2008
Author: pag
Date: 2008-05-13 20:44:28 -0700 (Tue, 13 May 2008)
New Revision: 925
Modified:
trunk/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/DistributedResolverFactory.java
trunk/src/jar/resolver-file/java/org/mulgara/resolver/file/FileResolverFactory.java
trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/FileSystemResolverFactory.java
trunk/src/jar/resolver-gis/java/org/mulgara/resolver/gis/GISResolverFactory.java
trunk/src/jar/resolver-http/java/org/mulgara/resolver/http/HttpResolverFactory.java
trunk/src/jar/resolver-jar/java/org/mulgara/resolver/jar/JarResolverFactory.java
trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/LuceneResolverFactory.java
trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolverFactory.java
trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalResolverFactory.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConjunctiveTransformerUnitTest.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactory.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactoryInitializer.java
trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolverFactory.java
trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestResolverFactory.java
trunk/src/jar/resolver-url/java/org/mulgara/resolver/url/URLResolverFactory.java
trunk/src/jar/resolver-view/java/org/mulgara/resolver/view/ViewResolverFactory.java
trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/XSDResolverFactory.java
Log:
Added support for default graph creation
Modified: trunk/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/DistributedResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/DistributedResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/DistributedResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -90,7 +90,13 @@
// null implementation
}
+ /**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
/**
* Register this resolver upon database startup.
*
Modified: trunk/src/jar/resolver-file/java/org/mulgara/resolver/file/FileResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-file/java/org/mulgara/resolver/file/FileResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-file/java/org/mulgara/resolver/file/FileResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -27,18 +27,11 @@
package org.mulgara.resolver.file;
-// Java 2 standard packages
-import java.io.*;
-import java.net.*;
-import java.util.List;
-
// Third party packages
import org.apache.log4j.Logger;
// Locally written packages
import org.mulgara.content.ContentHandlerManager;
-import org.mulgara.query.rdf.Mulgara;
-import org.mulgara.query.rdf.URIReferenceImpl;
import org.mulgara.resolver.spi.*;
/**
@@ -119,6 +112,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/FileSystemResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/FileSystemResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-filesystem/java/org/mulgara/resolver/filesystem/FileSystemResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -162,6 +162,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param initializer the database within which to find or
Modified: trunk/src/jar/resolver-gis/java/org/mulgara/resolver/gis/GISResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-gis/java/org/mulgara/resolver/gis/GISResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-gis/java/org/mulgara/resolver/gis/GISResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -27,9 +27,6 @@
package org.mulgara.resolver.gis;
-// Java 2 standard packages
-import java.net.*;
-
// Third party packages
import org.apache.log4j.Logger;
@@ -135,6 +132,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find
Modified: trunk/src/jar/resolver-http/java/org/mulgara/resolver/http/HttpResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-http/java/org/mulgara/resolver/http/HttpResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-http/java/org/mulgara/resolver/http/HttpResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -104,6 +104,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-jar/java/org/mulgara/resolver/jar/JarResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-jar/java/org/mulgara/resolver/jar/JarResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-jar/java/org/mulgara/resolver/jar/JarResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -115,6 +115,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/LuceneResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/LuceneResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/LuceneResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -127,6 +127,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-memory/java/org/mulgara/resolver/memory/MemoryResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -156,7 +156,13 @@
// null implementation
}
+ /**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
/**
* Register this resolver upon database startup.
*
Modified: trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -144,6 +144,12 @@
public void delete() { }
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param initializer the database within which to find or
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConjunctiveTransformerUnitTest.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConjunctiveTransformerUnitTest.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConjunctiveTransformerUnitTest.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -47,6 +47,7 @@
// Third party packages
// import org.apache.log4j.Logger;
+import junit.framework.AssertionFailedError;
import junit.framework.Test;
import junit.framework.TestCase; // JUnit
import junit.framework.TestSuite;
@@ -426,13 +427,24 @@
new ConstraintImpl(u8, u3, u5, mm1),
}));
ConstraintExpression expected = new ConstraintConjunction(Arrays.asList(new ConstraintExpression[] {
- new TestConstraint("test:model:model1|V{$v1={test:uri:1=[test:uri:2, test:uri:3]}, $v2={test:uri:4=[test:uri:5, test:uri:6]}}|C{test:uri:8={test:uri:3=[test:uri:4, test:uri:5]}, test:uri:7={test:uri:2=[test:uri:1]}}"),
+ new TestConstraint("test:model:model1|V{$v1={test:uri:1=[test:uri:2, test:uri:3]}, $v2={test:uri:4=[test:uri:5, test:uri:6]}}|C{test:uri:7={test:uri:2=[test:uri:1]}, test:uri:8={test:uri:3=[test:uri:4, test:uri:5]}}"),
}));
TestMutableLocalQuery lc = new TestMutableLocalQuery(initial);
transformer.transform(context, lc);
- compareResult(expected, lc.getConstraintExpression());
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af) {
+ expected = new ConstraintConjunction(Arrays.asList(new ConstraintExpression[] {
+ new TestConstraint("test:model:model1|V{$v1={test:uri:1=[test:uri:2, test:uri:3]}, $v2={test:uri:4=[test:uri:5, test:uri:6]}}|C{test:uri:8={test:uri:3=[test:uri:4, test:uri:5]}, test:uri:7={test:uri:2=[test:uri:1]}}"),
+ }));
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af2) {
+ throw af;
+ }
+ }
}
@@ -454,7 +466,18 @@
TestMutableLocalQuery lc = new TestMutableLocalQuery(initial);
transformer.transform(context, lc);
- compareResult(expected, lc.getConstraintExpression());
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af) {
+ expected = new ConstraintConjunction(Arrays.asList(new ConstraintExpression[] {
+ new TestConstraint("test:model:model1|V{$v1={test:uri:2=[test:uri:3, test:uri:4], test:uri:1=[test:uri:1, test:uri:2]}, $v2={test:uri:3=[test:uri:5, test:uri:6], test:uri:4=[test:uri:7, test:uri:8]}}|C{}"),
+ }));
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af2) {
+ throw af;
+ }
+ }
}
@@ -485,7 +508,19 @@
TestMutableLocalQuery lc = new TestMutableLocalQuery(initial);
transformer.transform(context, lc);
- compareResult(expected, lc.getConstraintExpression());
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af) {
+ expected = new ConstraintConjunction(Arrays.asList(new ConstraintExpression[] {
+ new TestConstraint("test:model:model1|V{$v1={test:uri:2=[test:uri:3, test:uri:4], test:uri:1=[test:uri:1, test:uri:2]}, $v2={test:uri:3=[test:uri:5, test:uri:6], test:uri:4=[test:uri:7, test:uri:8]}}|C{}"),
+ new TestConstraint("test:model:model2|V{$v1={test:uri:6=[test:uri:3, test:uri:4], test:uri:5=[test:uri:1, test:uri:2]}, $v2={test:uri:8=[test:uri:7, test:uri:8], test:uri:7=[test:uri:5, test:uri:6]}}|C{}"),
+ }));
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af2) {
+ throw af;
+ }
+ }
}
@@ -518,7 +553,19 @@
TestMutableLocalQuery lc = new TestMutableLocalQuery(initial);
transformer.transform(context, lc);
- compareResult(expected, lc.getConstraintExpression());
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af) {
+ expected = new ConstraintConjunction(Arrays.asList(new ConstraintExpression[] {
+ new TestConstraint("test:model:model1|V{$v1={test:uri:2=[test:uri:3, test:uri:4], test:uri:1=[test:uri:1, test:uri:2]}, $v2={test:uri:3=[test:uri:5, test:uri:6], test:uri:4=[test:uri:7, test:uri:8]}}|C{test:uri:1={test:uri:3=[test:uri:5]}}"),
+ new TestConstraint("test:model:model2|V{$v1={test:uri:6=[test:uri:3, test:uri:4], test:uri:5=[test:uri:1, test:uri:2]}, $v2={test:uri:8=[test:uri:7, test:uri:8], test:uri:7=[test:uri:5, test:uri:6]}}|C{test:uri:2={test:uri:4=[test:uri:6]}}"),
+ }));
+ try {
+ compareResult(expected, lc.getConstraintExpression());
+ } catch (AssertionFailedError af2) {
+ throw af;
+ }
+ }
}
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -28,13 +28,8 @@
package org.mulgara.resolver.spi;
// Third party packages
-import org.jrdf.graph.URIReference;
+import java.net.URI;
-// Local packages
-import org.mulgara.query.Constraint;
-import org.mulgara.query.ModelResource;
-import org.mulgara.query.QueryException;
-import org.mulgara.store.tuples.Tuples;
/**
* Generates {@link Resolver} instances.
@@ -80,6 +75,13 @@
// }
/**
+ * Gets any default graphs established by this factory.
+ * @return An array of graphs provided by default by this resolver.
+ * May be empty or <code>null</code>.
+ */
+ public Graph[] getDefaultGraphs();
+
+ /**
* Flush any persistent resources associated with this factory so that
* they can be recovered after the database closes and later restarts.
*
@@ -113,4 +115,15 @@
*/
public abstract Resolver newResolver(boolean canWrite,
ResolverSession resolverSession, Resolver systemResolver) throws ResolverFactoryException;
+
+ /**
+ * A class to manage pairs of URIs for graph identifiers and types.
+ */
+ public static class Graph {
+ URI graph;
+ URI type;
+ public Graph(URI graph, URI type) { this.graph = graph; this.type = type; }
+ public URI getGraph() { return graph; }
+ public URI getType() { return type; }
+ }
}
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactoryInitializer.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactoryInitializer.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ResolverFactoryInitializer.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -79,21 +79,16 @@
public void addProtocol(String protocol, ResolverFactory resolverFactory) throws InitializerException;
/**
- * Register this resolver factory as requiring a graph to be created in the
- * System Resolver to provide internal functionality. This is the default
- * graph to be used for this resolver factory.
- * @param graphType a preallocated node identifying graphs of the type created
- * by the {@link ResolverFactory}.
- * @param graph a graphs to be created if it doesn't exist to provide a default
- * access point for the {@link ResolverFactory}.
- * @param resolverFactory the resolver factory being registered as a handler
- * for the <var>graphType</var>
+ * Register this resolver factory as handling graphs of a particular type, and creates
+ * a default graph of that type in the System Resolver to provide internal functionality.
+ * This is the default graph to be used for this resolver factory.
+ * @param resolverFactory the resolver factory being registered as a handler for its graph types.
* @return <code>true</code> if the graph was successfully created,
* <code>false</code> if registration occurred, but the graph was not created.
* @throws IllegalStateException if called outside of initialization
* @throws InitializerException if the <var>graphType</var> couldn't be registered
*/
- public boolean addDefaultGraph(URI graphType, URI graph, ResolverFactory resolverFactory) throws InitializerException;
+ public boolean addDefaultGraph(ResolverFactory resolverFactory) throws InitializerException;
/**
* Register a symbolic transformation rule.
Modified: trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-store/java/org/mulgara/resolver/store/StatementStoreResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -127,6 +127,12 @@
// Methods implementing ResolverFactory (excluding newResolver)
//
+ /**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
public void close() throws ResolverFactoryException {
try {
statementStore.close();
Modified: trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -116,6 +116,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-url/java/org/mulgara/resolver/url/URLResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-url/java/org/mulgara/resolver/url/URLResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-url/java/org/mulgara/resolver/url/URLResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -27,16 +27,10 @@
package org.mulgara.resolver.url;
-// Java 2 standard packages
-import java.io.*;
-import java.net.*;
-
// Third party packages
import org.apache.log4j.Logger;
// Locally written packages
-import org.mulgara.query.rdf.Mulgara;
-import org.mulgara.query.rdf.URIReferenceImpl;
import org.mulgara.resolver.spi.*;
/**
@@ -110,6 +104,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
Modified: trunk/src/jar/resolver-view/java/org/mulgara/resolver/view/ViewResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-view/java/org/mulgara/resolver/view/ViewResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-view/java/org/mulgara/resolver/view/ViewResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -146,7 +146,13 @@
// null implementation
}
+ /**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
/**
* Register this resolver upon database startup.
*
Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/XSDResolverFactory.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/XSDResolverFactory.java 2008-05-14 03:43:00 UTC (rev 924)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/XSDResolverFactory.java 2008-05-14 03:44:28 UTC (rev 925)
@@ -222,6 +222,12 @@
}
/**
+ * {@inheritDoc}
+ * @return <code>null</code> - no default graphs for this resolver
+ */
+ public Graph[] getDefaultGraphs() { return null; }
+
+ /**
* Register this resolver upon database startup.
*
* @param resolverFactoryInitializer the database within which to find or
More information about the Mulgara-svn
mailing list