public abstract class AbstractGraphProvider extends Object implements GraphProvider
GraphProvider.Descriptor, GraphProvider.TestListenerCORE_IMPLEMENTATIONS| Constructor and Description | 
|---|
| AbstractGraphProvider() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected String | cleanParameters(String methodName) | 
| protected static void | deleteDirectory(File directory)Helper method for those building  GraphProviderimplementations that need to clean directories
 between test runs. | 
| abstract Map<String,Object> | getBaseConfiguration(String graphName,
                    Class<?> test,
                    String testMethodName,
                    LoadGraphWith.GraphData loadGraphWith)Provides a basic configuration for a particular  Graphinstance and uses thegraphNameto ensure
 that the instance is unique. | 
| void | loadGraphData(Graph graph,
             LoadGraphWith loadGraphWith,
             Class testClass,
             String testName)Tests are annotated with a  LoadGraphWithannotation. | 
| protected String | makeTestDirectory(String graphName,
                 Class<?> test,
                 String testMethodName)Utility method to help produce an appropriate unique directory for a test. | 
| Configuration | newGraphConfiguration(String graphName,
                     Class<?> test,
                     String testMethodName,
                     Map<String,Object> configurationOverrides,
                     LoadGraphWith.GraphData loadGraphWith)When implementing this method ensure that a test suite can override any settings EXCEPT the
 "gremlin.graph" setting which should be defined by the implementer. | 
| protected void | readIntoGraph(Graph graph,
             String path)Used by the default implementation of  loadGraphData(Graph, LoadGraphWith, Class, String)to read the graph from a Kryo file using the defaultGryoReaderimplementation. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclear, clear, convertId, convertLabel, getGraphComputer, getImplementations, getStaticFeatures, getTestListener, getWorkingDirectory, newGraphConfiguration, openTestGraph, standardGraphConfiguration, standardTestGraph, traversal, traversalpublic abstract Map<String,Object> getBaseConfiguration(String graphName, Class<?> test, String testMethodName, LoadGraphWith.GraphData loadGraphWith)
Graph instance and uses the graphName to ensure
 that the instance is unique.  It is up to the Gremlin implementation to determine how best to use the
 graphName to ensure uniqueness.  For example, Neo4j, might use the graphName might be used to
 create a different sub-directory where the graph is stored.
 
 The @{code test} and @{code testMethodName} can be used to alter graph configurations for specific tests.
 For example, a graph that has support for different transaction isolation levels might only support a feature
 in a specific configuration.  Using these arguments, the implementation could detect when a test was being
 fired that required the database to be configured in a specific isolation level and return a configuration
 to support that.
 
 Ultimately, the returned Map should minimally contain a configuration that can be given to a
 GraphFactory so that it can be instantiated.graphName - a value that represents a unique configuration for a graphtest - the test classtestMethodName - the name of the test methodloadGraphWith - the data set to load and will be null if no data is to be loadedMap that should be unique per the graphNamepublic Configuration newGraphConfiguration(String graphName, Class<?> test, String testMethodName, Map<String,Object> configurationOverrides, LoadGraphWith.GraphData loadGraphWith)
GraphProviderConfiguration that will generate a graph unique to that graphName.newGraphConfiguration in interface GraphProvidergraphName - a unique test graph nametest - the test classtestMethodName - the name of the testconfigurationOverrides - settings to override defaults with.loadGraphWith - the data set to load and will be null if no data is to be loadedpublic void loadGraphData(Graph graph, LoadGraphWith loadGraphWith, Class testClass, String testName)
GraphProviderLoadGraphWith annotation. These annotations tell the test what kind of data
 to preload into the graph instance.  It is up to the implementation to load the graph with the data specified
 by that annotation. This method also represents the place where indices should be configured according the
 the Graph implementation's API. Implementers can use the testClass and testName
 arguments to implement test specific configurations to their graphs.loadGraphData in interface GraphProvidergraph - the Graph instance to load data into constructed by this GraphProviderloadGraphWith - the annotation for the currently running test - this value may be null if no graph
                      data is to be loaded in front of the test.testClass - the test class being executedtestName - the name of the test method being executedprotected static void deleteDirectory(File directory)
GraphProvider implementations that need to clean directories
 between test runs.protected String makeTestDirectory(String graphName, Class<?> test, String testMethodName)
getBaseConfiguration(String, Class, String, LoadGraphWith.GraphData) for those graph providers that
 need a data directory for their Graph implementations.protected void readIntoGraph(Graph graph, String path) throws IOException
loadGraphData(Graph, LoadGraphWith, Class, String)
 to read the graph from a Kryo file using the default GryoReader implementation. If the default
 implementation does not work (perhaps a graph implementation needs to register some special IoRegistry
 then this method or its caller should be overridden to suit the implementation.graph - the graph to load topath - the path to the file to load into the graphIOExceptionCopyright © 2013–2019 Apache Software Foundation. All rights reserved.