Author: rhauch
Date: 2009-12-01 10:20:21 -0500 (Tue, 01 Dec 2009)
New Revision: 1375
Added:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/FullTextSearchRequest.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/QueryRequest.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/SearchRequest.java
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/AbstractFederatedRepositorySourceIntegrationTest.java
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/FederatedRepositorySourceTest.java
trunk/dna-graph/src/test/java/org/jboss/dna/graph/io/GraphSequencerOutputTest.java
trunk/dna-graph/src/test/java/org/jboss/dna/graph/search/SearchEngineTest.java
trunk/dna-graph/src/test/java/org/jboss/dna/graph/session/GraphSessionTest.java
Log:
DNA-467 Fixed the previous commmit, which had several missing changes.
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -31,7 +31,9 @@
import org.jboss.dna.graph.ExecutionContext;
import org.jboss.dna.graph.cache.CachePolicy;
import org.jboss.dna.graph.connector.RepositoryConnection;
+import org.jboss.dna.graph.connector.RepositoryContext;
import org.jboss.dna.graph.connector.RepositorySourceException;
+import org.jboss.dna.graph.observe.Observer;
import org.jboss.dna.graph.request.Request;
import org.jboss.dna.graph.request.processor.RequestProcessor;
@@ -101,8 +103,9 @@
sw.start();
}
// Do any commands update/write?
- RequestProcessor processor = new MapRequestProcessor(context, this.repository,
this.source.getRepositoryContext()
-
.getObserver());
+ RepositoryContext repositoryContext = this.source.getRepositoryContext();
+ Observer observer = repositoryContext != null ? repositoryContext.getObserver() :
null;
+ RequestProcessor processor = new MapRequestProcessor(context, this.repository,
observer);
Lock lock = request.isReadOnly() ? repository.getLock().readLock() :
repository.getLock().writeLock();
lock.lock();
Added:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/FullTextSearchRequest.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/FullTextSearchRequest.java
(rev 0)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/FullTextSearchRequest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -0,0 +1,117 @@
+/*
+ * JBoss DNA (
http://www.jboss.org/dna)
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * See the AUTHORS.txt file in the distribution for a full listing of
+ * individual contributors.
+ *
+ * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA
+ * is licensed to you under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * JBoss DNA is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.graph.request;
+
+import org.jboss.dna.common.util.CheckArg;
+
+/**
+ * A {@link Request} to perform a full-text search on a graph.
+ */
+public class FullTextSearchRequest extends SearchRequest {
+
+ private static final long serialVersionUID = 1L;
+
+ private final String expression;
+ private final String workspaceName;
+
+ /**
+ * Create a new request to execute the supplied query against the name workspace.
+ *
+ * @param fullTextSearch the full-text search to be performed; may not be null
+ * @param workspace the name of the workspace to be queried
+ * @throws IllegalArgumentException if the query or workspace name is null
+ */
+ public FullTextSearchRequest( String fullTextSearch,
+ String workspace ) {
+ CheckArg.isNotEmpty(fullTextSearch, "fullTextSearch");
+ CheckArg.isNotNull(workspace, "workspace");
+ this.expression = fullTextSearch;
+ this.workspaceName = workspace;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.graph.request.Request#isReadOnly()
+ */
+ @Override
+ public boolean isReadOnly() {
+ return true;
+ }
+
+ /**
+ * Get the full-text search expression that is to be executed.
+ *
+ * @return the full-text search expression; never null and never empty
+ */
+ public String expression() {
+ return expression;
+ }
+
+ /**
+ * Get the name of the workspace in which the node exists.
+ *
+ * @return the name of the workspace; never null
+ */
+ public String workspace() {
+ return workspaceName;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return expression.hashCode();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( Object obj ) {
+ if (obj == this) return true;
+ if (this.getClass().isInstance(obj)) {
+ FullTextSearchRequest that = (FullTextSearchRequest)obj;
+ if (!this.expression().equals(that.expression())) return false;
+ if (!this.workspace().equals(that.workspace())) return false;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "search the \"" + workspaceName + "\" workspace
with \"" + expression + "\"";
+ }
+}
Property changes on:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/FullTextSearchRequest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/QueryRequest.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/QueryRequest.java
(rev 0)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/QueryRequest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -0,0 +1,184 @@
+/*
+ * JBoss DNA (
http://www.jboss.org/dna)
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * See the AUTHORS.txt file in the distribution for a full listing of
+ * individual contributors.
+ *
+ * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA
+ * is licensed to you under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * JBoss DNA is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.graph.request;
+
+import java.util.Collections;
+import java.util.Map;
+import org.jboss.dna.common.util.CheckArg;
+import org.jboss.dna.graph.query.model.QueryCommand;
+import org.jboss.dna.graph.query.model.Visitors;
+import org.jboss.dna.graph.query.plan.PlanHints;
+import org.jboss.dna.graph.query.validate.Schemata;
+
+/**
+ * A {@link Request} to query a graph.
+ */
+public class QueryRequest extends SearchRequest {
+
+ private static final Map<String, Object> EMPTY_VARIABLES =
Collections.emptyMap();
+
+ private static final long serialVersionUID = 1L;
+
+ private final QueryCommand query;
+ private final String workspaceName;
+ private final Map<String, Object> variables;
+ private final PlanHints hints;
+ private final transient Schemata schemata;
+
+ /**
+ * Create a new request to execute the supplied query against the name workspace.
+ *
+ * @param query the query to be executed
+ * @param workspace the name of the workspace to be queried
+ * @throws IllegalArgumentException if the query or workspace name is null
+ */
+ public QueryRequest( QueryCommand query,
+ String workspace ) {
+ CheckArg.isNotNull(query, "query");
+ CheckArg.isNotNull(workspace, "workspace");
+ this.query = query;
+ this.workspaceName = workspace;
+ this.variables = EMPTY_VARIABLES;
+ this.hints = null;
+ this.schemata = null;
+ }
+
+ /**
+ * Create a new request to execute the supplied query against the name workspace.
+ *
+ * @param query the query to be executed
+ * @param workspace the name of the workspace to be queried
+ * @param variables the variables that are available to be substituted upon
execution; may be null if there are no variables
+ * @param hints the hints; may be null if there are no hints
+ * @param schemata the schemata defining the structure of the tables that may be
queried, or null if the default schemata
+ * should be used
+ * @throws IllegalArgumentException if the query or workspace name is null
+ */
+ public QueryRequest( QueryCommand query,
+ String workspace,
+ Map<String, Object> variables,
+ PlanHints hints,
+ Schemata schemata ) {
+ CheckArg.isNotNull(query, "query");
+ CheckArg.isNotNull(workspace, "workspace");
+ this.query = query;
+ this.workspaceName = workspace;
+ this.variables = variables != null ? variables : EMPTY_VARIABLES;
+ this.hints = hints;
+ this.schemata = schemata;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.graph.request.Request#isReadOnly()
+ */
+ @Override
+ public boolean isReadOnly() {
+ return true;
+ }
+
+ /**
+ * Get the query that is to be executed.
+ *
+ * @return the query; never null
+ */
+ public QueryCommand query() {
+ return query;
+ }
+
+ /**
+ * Get the name of the workspace in which the node exists.
+ *
+ * @return the name of the workspace; never null
+ */
+ public String workspace() {
+ return workspaceName;
+ }
+
+ /**
+ * The variables that are available to be substituted upon execution.
+ *
+ * @return the variables; never null but possibly empty
+ */
+ public Map<String, Object> variables() {
+ return variables;
+ }
+
+ /**
+ * Get the hints for the query.
+ *
+ * @return the hints, or null if there are no hints
+ */
+ public PlanHints hints() {
+ return hints;
+ }
+
+ /**
+ * Get the schemata that defines the structure of the tables that may be queried.
+ *
+ * @return the schemata, or null if the default schemata should be used
+ */
+ public Schemata schemata() {
+ return schemata;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return query.hashCode();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( Object obj ) {
+ if (obj == this) return true;
+ if (this.getClass().isInstance(obj)) {
+ QueryRequest that = (QueryRequest)obj;
+ if (!this.query().equals(that.query())) return false;
+ if (!this.workspace().equals(that.workspace())) return false;
+ if (!this.variables().equals(that.variables())) return false;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "query the \"" + workspaceName + "\" workspace
with \"" + Visitors.readable(query) + "\"";
+ }
+}
Property changes on:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/QueryRequest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/SearchRequest.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/SearchRequest.java
(rev 0)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/SearchRequest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -0,0 +1,66 @@
+/*
+ * JBoss DNA (
http://www.jboss.org/dna)
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * See the AUTHORS.txt file in the distribution for a full listing of
+ * individual contributors.
+ *
+ * Unless otherwise indicated, all code in JBoss DNA is licensed
+ * to you under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * JBoss DNA is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.graph.request;
+
+import org.jboss.dna.graph.query.QueryResults;
+
+/**
+ * A {@link Request} to search or query a graph.
+ */
+public abstract class SearchRequest extends Request {
+
+ private static final long serialVersionUID = 1L;
+
+ private QueryResults results;
+
+ /**
+ * Set the results for this request.
+ *
+ * @param results the results
+ */
+ public void setResults( QueryResults results ) {
+ this.results = results;
+ }
+
+ /**
+ * Get the results of this query.
+ *
+ * @return the results of the query, or null if this request has not been processed
+ */
+ public QueryResults getResults() {
+ return results;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.graph.request.Request#cancel()
+ */
+ @Override
+ public void cancel() {
+ super.cancel();
+ this.results = null;
+ }
+
+}
Property changes on:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/SearchRequest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/AbstractFederatedRepositorySourceIntegrationTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/AbstractFederatedRepositorySourceIntegrationTest.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/AbstractFederatedRepositorySourceIntegrationTest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -96,12 +96,8 @@
configRepositorySource = new InMemoryRepositorySource();
configRepositorySource.setName("Configuration Repository");
configRepositorySource.setDefaultWorkspaceName(configurationWorkspaceName);
- Graph config = Graph.create(configRepositorySource, context);
- config.create("/a").and();
- config.create("/a/b").and();
- config.create("/a/b/Test Repository").and();
- config.create("/a/b/Test Repository/dna:workspaces").and();
+ // Set up the repository context ...
repositoryContext = new RepositoryContext() {
public ExecutionContext getExecutionContext() {
return context;
@@ -123,7 +119,15 @@
return result.getSubgraphOfDepth(depth).at("/a/b/Test
Repository");
}
};
+ configRepositorySource.initialize(repositoryContext);
+ // Populate the configuration repository ...
+ Graph config = Graph.create(configRepositorySource, context);
+ config.create("/a").and();
+ config.create("/a/b").and();
+ config.create("/a/b/Test Repository").and();
+ config.create("/a/b/Test Repository/dna:workspaces").and();
+
// Set up the source ...
source = new FederatedRepositorySource();
source.setName(repositoryName);
@@ -217,6 +221,7 @@
return newSource.getConnection();
}
});
+ source.initialize(repositoryContext);
}
// Make sure there's a workspace for it ...
Graph sourceGraph = Graph.create(sourceName, connectionFactory, context);
Modified:
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/FederatedRepositorySourceTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/FederatedRepositorySourceTest.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/connector/federation/FederatedRepositorySourceTest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -107,6 +107,7 @@
return result.getSubgraphOfDepth(depth).at("/a/b/Test
Repository");
}
};
+ configRepositorySource.initialize(repositoryContext);
source = new FederatedRepositorySource();
source.setName(repositoryName);
Modified:
trunk/dna-graph/src/test/java/org/jboss/dna/graph/io/GraphSequencerOutputTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/io/GraphSequencerOutputTest.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/io/GraphSequencerOutputTest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -29,7 +29,10 @@
import org.jboss.dna.graph.ExecutionContext;
import org.jboss.dna.graph.Graph;
import org.jboss.dna.graph.Subgraph;
+import org.jboss.dna.graph.connector.RepositoryConnectionFactory;
+import org.jboss.dna.graph.connector.RepositoryContext;
import org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource;
+import org.jboss.dna.graph.observe.Observer;
import org.jboss.dna.graph.property.Name;
import org.jboss.dna.graph.property.Path;
import org.junit.Before;
@@ -47,8 +50,31 @@
public void beforeEach() {
context = new ExecutionContext();
- InMemoryRepositorySource source = new InMemoryRepositorySource();
+ final InMemoryRepositorySource source = new InMemoryRepositorySource();
source.setName("actual");
+ RepositoryContext repositoryContext = new RepositoryContext() {
+ @SuppressWarnings( "synthetic-access" )
+ public ExecutionContext getExecutionContext() {
+ return context;
+ }
+
+ public Observer getObserver() {
+ return null;
+ }
+
+ public RepositoryConnectionFactory getRepositoryConnectionFactory() {
+ return null;
+ }
+
+ @SuppressWarnings( "synthetic-access" )
+ public Subgraph getConfiguration( int depth ) {
+ Graph result = Graph.create(source, context);
+ result.useWorkspace("configSpace");
+ return result.getSubgraphOfDepth(depth).at("/");
+ }
+ };
+ source.initialize(repositoryContext);
+
graph = Graph.create(source, context);
output = new GraphSequencerOutput(graph);
Modified: trunk/dna-graph/src/test/java/org/jboss/dna/graph/search/SearchEngineTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/search/SearchEngineTest.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/search/SearchEngineTest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -39,10 +39,13 @@
import org.jboss.dna.graph.Graph;
import org.jboss.dna.graph.Location;
import org.jboss.dna.graph.Node;
+import org.jboss.dna.graph.Subgraph;
import org.jboss.dna.graph.connector.RepositoryConnection;
import org.jboss.dna.graph.connector.RepositoryConnectionFactory;
+import org.jboss.dna.graph.connector.RepositoryContext;
import org.jboss.dna.graph.connector.RepositorySourceException;
import org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource;
+import org.jboss.dna.graph.observe.Observer;
import org.jboss.dna.graph.property.Path;
import org.jboss.dna.graph.query.QueryContext;
import org.jboss.dna.graph.query.model.Query;
@@ -77,6 +80,28 @@
// Set up the source and graph instance ...
source = new InMemoryRepositorySource();
source.setName(sourceName);
+ RepositoryContext repositoryContext = new RepositoryContext() {
+ @SuppressWarnings( "synthetic-access" )
+ public ExecutionContext getExecutionContext() {
+ return context;
+ }
+
+ public Observer getObserver() {
+ return null;
+ }
+
+ public RepositoryConnectionFactory getRepositoryConnectionFactory() {
+ return null;
+ }
+
+ @SuppressWarnings( "synthetic-access" )
+ public Subgraph getConfiguration( int depth ) {
+ Graph result = Graph.create(source, context);
+ result.useWorkspace("configSpace");
+ return result.getSubgraphOfDepth(depth).at("/");
+ }
+ };
+ source.initialize(repositoryContext);
content = Graph.create(source, context);
// Create the workspaces ...
Modified: trunk/dna-graph/src/test/java/org/jboss/dna/graph/session/GraphSessionTest.java
===================================================================
---
trunk/dna-graph/src/test/java/org/jboss/dna/graph/session/GraphSessionTest.java 2009-12-01
15:19:45 UTC (rev 1374)
+++
trunk/dna-graph/src/test/java/org/jboss/dna/graph/session/GraphSessionTest.java 2009-12-01
15:20:21 UTC (rev 1375)
@@ -35,10 +35,13 @@
import org.jboss.dna.common.statistic.Stopwatch;
import org.jboss.dna.graph.ExecutionContext;
import org.jboss.dna.graph.Graph;
+import org.jboss.dna.graph.Subgraph;
import org.jboss.dna.graph.connector.RepositoryConnection;
import org.jboss.dna.graph.connector.RepositoryConnectionFactory;
+import org.jboss.dna.graph.connector.RepositoryContext;
import org.jboss.dna.graph.connector.RepositorySourceException;
import org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource;
+import org.jboss.dna.graph.observe.Observer;
import org.jboss.dna.graph.property.Name;
import org.jboss.dna.graph.property.Path;
import org.jboss.dna.graph.property.PathFactory;
@@ -79,6 +82,28 @@
return null;
}
};
+
+ RepositoryContext repositoryContext = new RepositoryContext() {
+ public ExecutionContext getExecutionContext() {
+ return context;
+ }
+
+ public Observer getObserver() {
+ return null;
+ }
+
+ public RepositoryConnectionFactory getRepositoryConnectionFactory() {
+ return null;
+ }
+
+ public Subgraph getConfiguration( int depth ) {
+ Graph result = Graph.create(source, context);
+ result.useWorkspace("configSpace");
+ return result.getSubgraphOfDepth(depth).at("/");
+ }
+ };
+ source.initialize(repositoryContext);
+
store = Graph.create(source.getName(), connectionFactory, context);
// Load the store with content ...