ATLAS-2308: Remove 'titan1' graph provider from atlas

Signed-off-by: Madhan Neethiraj <madhan@apache.org>
diff --git a/graphdb/pom.xml b/graphdb/pom.xml
index 426238c..cef77c9 100644
--- a/graphdb/pom.xml
+++ b/graphdb/pom.xml
@@ -31,17 +31,13 @@
     <name>Apache Atlas Graph Database Projects</name>
     <packaging>pom</packaging>
 
-
-
     <!-- Build all modules including all the possible graph providers although only one will be used -->
     <modules>
         <module>api</module>
         <module>common</module>
         <module>graphdb-impls</module>
         <module>titan0</module>
-        <module>titan1</module>
         <module>janus</module>
     </modules>
 
-
 </project>
diff --git a/graphdb/readme.txt b/graphdb/readme.txt
index 2ad7845..92edd00 100644
--- a/graphdb/readme.txt
+++ b/graphdb/readme.txt
@@ -2,30 +2,26 @@
 Building with a chosen graph database
 =====================================
 
-
-
 The Atlas build is currently set up to include one of the graph backends in the Atlas war file.
 The choice of graph backend is determined by the setting of the GRAPH-PROVIDER system variable.
 
-If GRAPH-PROVIDER is not set, the default graph backend is adopted. This is currently Titan 0.5.4.
+If GRAPH-PROVIDER is not set, the default graph backend is adopted. This is currently JanusGraph 0.2.0
 
 In order to build with a specific (non-default) graph backend set the GRAPH-PROVDER system variable.
 
-If GRAPH-PROVIDER is set to titan0, the build will contain Titan 0.5.4 (i.e. the default above)
-If GRAPH-PROVIDER is set to titan1, the build will contain Titan 1.0.0
-If GRAPH-PROVIDER is set to janus, the build will contain JanusGraph 0.1.1
+If GRAPH-PROVIDER is set to titan0, the build will contain Titan 0.5.4
+If GRAPH-PROVIDER is set to janus, the build will contain JanusGraph 0.2.0 (i.e. the default above)
 
 For example, to build Atlas with the janus graph-provider:
 mvn install [-P dist] -DGRAPH-PROVIDER=janus
 
 
-Titan 0.5.4 supports Gremlin2 only, whereas Titan 1.0.0 and JanusGraph support Gremlin3 only (and NOT Gremlin2).
+Titan 0.5.4 supports Gremlin2 only, whereas JanusGraph support Gremlin3 only (and NOT Gremlin2).
 Gremlin2 and Gremlin3 are not compatible. The gremlin used by Atlas is translated into either Gremlin2 or
 Gremlin3 depending on which graph backend is used in the build. This is implemented in GremlinExpressionFactory.
 
 
 REQUIREMENTS
 ------------
-
-Titan 1.0.0 and JanusGraph 0.1.1 require Java 8 to be used both when building and running Atlas.
+JanusGraph 0.2.0 require Java 8 to be used both when building and running Atlas.
 Unless Java 8 is used, the janus module will not be built - this is checked by the maven-enforcer-plugin.
diff --git a/graphdb/titan1/pom.xml b/graphdb/titan1/pom.xml
deleted file mode 100644
index b9483ba..0000000
--- a/graphdb/titan1/pom.xml
+++ /dev/null
@@ -1,308 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ Licensed to the Apache Software Foundation (ASF) under one
-~ or more contributor license agreements.  See the NOTICE file
-~ distributed with this work for additional information
-~ regarding copyright ownership.  The ASF licenses this file
-~ to you under the Apache License, Version 2.0 (the
-~ "License"); you may not use this file except in compliance
-~ with the License.  You may obtain a copy of the License at
-~
-~     http://www.apache.org/licenses/LICENSE-2.0
-~
-~ Unless required by applicable law or agreed to in writing, software
-~ distributed under the License is distributed on an "AS IS" BASIS,
-~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-~ See the License for the specific language governing permissions and
-~ limitations under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>atlas-graphdb</artifactId>
-        <groupId>org.apache.atlas</groupId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>atlas-graphdb-titan1</artifactId>
-    <description>Apache Atlas Titan 1.0.0 Graph DB Impl</description>
-    <name>Apache Atlas Titan 1.0.0 GraphDB Impl</name>
-    <packaging>jar</packaging>
-
-    <properties>
-        <tinkerpop.version>3.0.1-incubating</tinkerpop.version>
-        <titan.version>1.0.0</titan.version>
-        <checkstyle.failOnViolation>false</checkstyle.failOnViolation>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-api</artifactId>
-            <!-- set scope to provided to prevent the this from being included in the shared jar -->
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- https://mvnrepository.com/artifact/com.thinkaurelius.titan/titan-hbase -->
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-hbase</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-core</artifactId>
-            <version>${titan.version}</version>
-            <exclusions>
-                <!-- rexster does not work with servlet-api -->
-                <exclusion>
-                    <groupId>com.tinkerpop.rexster</groupId>
-                    <artifactId>rexster-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.tinkerpop.rexster</groupId>
-                    <artifactId>rexster-server</artifactId>
-                </exclusion>
-                <!-- asm 4.0 does not work with jersey asm 3.1 -->
-                <exclusion>
-                    <groupId>com.tinkerpop</groupId>
-                    <artifactId>frames</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.esotericsoftware.reflectasm</groupId>
-                    <artifactId>reflectasm</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.ow2.asm</groupId>
-                    <artifactId>asm</artifactId>
-                </exclusion>
-                <exclusion> <!-- GPL license imported from ganglia -->
-                    <groupId>org.acplt</groupId>
-                    <artifactId>oncrpc</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-solr</artifactId>
-            <version>${titan.version}</version>
-            <!-- this conflicts with the servlet api version that Atlas needs -->
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.solr</groupId>
-                    <artifactId>solr-core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.hbase</groupId>
-            <artifactId>hbase-client</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-solrj</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-es</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-berkeleyje</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-lucene</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-solrj</artifactId>
-            <version>${solr.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-core</artifactId>
-            <version>${solr.version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.eclipse.jetty</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.eclipse.jetty.orbit</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.restlet.jee</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.ow2.asm</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.apache.lucene</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.apache.hadoop</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-        </dependency>
-
-        <!-- titan 1 requires guava 18.0 -->
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>18.0</version>
-        </dependency>
-
-        <!-- Graph DB -->
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-core</artifactId>
-            <version>${tinkerpop.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>tinkergraph-gremlin</artifactId>
-            <version>${tinkerpop.version}</version>
-        </dependency>
-
-        <!-- Test dependencies -->
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-common</artifactId>
-            <version>${project.version}</version>
-            <classifier>tests</classifier>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>1.4.1</version>
-                <executions>
-                    <execution>
-                        <id>enforce-java-8</id>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <requireJavaVersion>
-                                    <version>1.8.0</version>
-                                </requireJavaVersion>
-                                <requireMavenVersion>
-                                    <version>3.1.0</version>
-                                </requireMavenVersion>
-                            </rules>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${surefire.version}</version>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-
-            <!--
-                 Create 'uber' jar that contains all of the dependencies (except those whose scope is provided)
-                 Only titan 1 and its dependencies are included.  The other dependencies are bundled in the war file.
-                 We also relocate the Google guava packages to avoid conflicts with Atlas code which depends on Guava 14
-            -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.4.3</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <shadedArtifactAttached>false</shadedArtifactAttached>
-                            <artifactSet>
-                                <excludes>
-                                    <!-- these are bundled with Atlas -->
-                                    <exclude>org.slf4j:*</exclude>
-                                </excludes>
-                            </artifactSet>
-                            <relocations>
-                                <relocation>
-                                    <pattern>com.google.common</pattern>
-                                    <shadedPattern>org.apache.atlas.shaded.com.google.common</shadedPattern>
-                                </relocation>
-                            </relocations>
-                            <!-- disable generation of sources jar due to clash with maven-source-plugin -->
-                            <!-- <createSourcesJar>true</createSourcesJar> -->
-                            <transformers>
-                                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
-                            </transformers>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-        </plugins>
-    </build>
-
-</project>
diff --git a/graphdb/titan1/readme.txt b/graphdb/titan1/readme.txt
deleted file mode 100644
index 4fcddba..0000000
--- a/graphdb/titan1/readme.txt
+++ /dev/null
@@ -1,87 +0,0 @@
-==================
-Titan 1.0.0 README
-==================
-
-IMPORTANT: Titan 1 support in Atlas is currently a work in progress.
-
-
-ARCHITECTURE NOTES
-------------------
-
-The build is currently set up to include only one of the graph backends in the Atlas war file. The configured graph
-backend is determined by maven profile. The default profile is titan0. To build Atlas configured to run against Titan 1,
-the titan1 profile must be enabled. Titan1 project has support for Gremlin3.  Gremlin Translator translates the DSL to
-gremlin3 compliant syntax when titan1 is configured as backend graph db.
-
-
-REQUIREMENTS
---------------
-
-Titan 1 requires Java 8 to be used both when building and running Atlas. While building on Java7,  the java classes in
-the Titan 1 project are not compiled. But an empty jar is produced. If java 8 is used, then titan 1 classes are compiled
-but tests are only executed if titan1 profile is explicitly enabled.
-
-
-
-USING ATLAS WITH TITAN 1
-------------------------
-
-1) Build Atlas with the titan1 maven profile enabled:
-
-mvn install -P dist -P titan1
-
-Note that there are some tests in repository and webapp project which are skipped when running with the titan1 profile.
-Please refer to known issues section below.
-
-This will build Atlas and run all of the tests against Titan 1.  Only Atlas builds that were generated with the titan1
-maven profile enabled can be used to use Atlas with Titan 1.
-
-2) Configure the Atlas runtime to use Titan 1 by setting the atlas.graphdb.backend property in
-ATLAS_HOME/conf/atlas-application.properties, as follows:
-
-atlas.graphdb.backend=org.apache.atlas.repository.graphdb.titan1.Titan1GraphDatabase
-
-3) Attempt to start the Atlas server.  NOTE: As of this writing, Atlas fails to start (see issue 2 below).
-
-
-KNOWN ISSUES
-------------
-
-1) EntityLineageService is hard-coded to generate Gremlin that is specific to Tinker Pop 2.  It needs to be updated to
-use GremlinExpressionFactory to generate Gremlin that is appropriate for the version of Titan being used. Currently
-these tests are skipped when the titan1 profile is enabled.
-
-https://issues.apache.org/jira/browse/ATLAS-1579
-
-2) Catalog project is hard-coded to generate Gremlin that is specific to Tinker Pop 2.  It needs to be updated to use
-GremlinExpressionFactory to generate Gremlin that is appropriate for the version of Titan being used.  In addition, it
-has direct dependencies on titan 0 / Tinker Pop 2 classes.
-
-https://issues.apache.org/jira/browse/ATLAS-1580
-
-3) The Atlas war file startup is currently failing when Titan1 is being used.  Due to the titan 0 dependencies in
-catalog, the catalog jar is currently being excluded from webapp when titan1 is being used.  However, Atlas appears to
-have runtime dependencies on the stuff in Catalog.  The war startup currently fails with the following exception:
-
-Caused by: java.lang.ClassNotFoundException: org.apache.atlas.catalog.exception.CatalogException
-        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
-        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
-
-https://issues.apache.org/jira/browse/ATLAS-1581
-
-4) There are some known test failures in webapp project. Those need to be addressed. There is work needed to refactor
-webapp so that it can function without catalog until issue #2 above is resolved.
-
-https://issues.apache.org/jira/browse/ATLAS-1582
-
-5) We cannot bundle both titan0 and titan1 in the Atlas war file because titan1 and titan0 require different versions of
-the same libraries.  We cannot have multiple versions of the same library on the classpath.  Another issue there is that
-Gremin queries are executed via the java services mechanism.  Specifically, the titan 1 implemention bundles a file
-called javax.script.ScriptingEngineFactory, which tells Java to
-use org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngineFactory.  We cannot have this file on the
-classpath when using titan 0 since it would cause the Titan 0 implemention to try to execute queries using TP 3.  There
-may be ways of working around this, such as making Titan1Graph and Titan0Graph explicitly instantiate the
-GremlinGroovyScriptEngineFactory.  This was not investigated very much, though.  If we combine that with shading
-Titan0/1 and all of their dependencies, we might be able to bundle both the Titan 1 and Titan 0 implementations in the
-Atlas war file and have things work correctly for both versions.  Another possibility would be to use a custom
-classloader to load the correct atlas-graphdb-titan0/1 jar during Atlas startup based on the configuration.
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/GraphDbObjectFactory.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/GraphDbObjectFactory.java
deleted file mode 100644
index 7928a84..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/GraphDbObjectFactory.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import com.thinkaurelius.titan.core.EdgeLabel;
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasGraphIndex;
-import org.apache.atlas.repository.graphdb.titan1.query.Titan1GraphQuery;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import com.thinkaurelius.titan.core.Cardinality;
-import com.thinkaurelius.titan.core.PropertyKey;
-import com.thinkaurelius.titan.core.schema.TitanGraphIndex;
-
-
-/**
- * Factory that serves up instances of graph database abstraction layer classes
- * that correspond to Titan/Tinkerpop3 classes.
- */
-public final class GraphDbObjectFactory {
-
-    private GraphDbObjectFactory() {
-
-    }
-
-    /**
-     * Creates a Titan1Edge that corresponds to the given Gremlin Edge.
-     *
-     * @param graph The graph the edge should be created in
-     * @param source The gremlin edge
-     */
-    public static Titan1Edge createEdge(Titan1Graph graph, Edge source) {
-
-        if (source == null) {
-            return null;
-        }
-        return new Titan1Edge(graph, source);
-    }
-
-    /**
-     * Creates a Titan1GraphQuery that corresponds to the given GraphQuery.
-     *
-     * @param graph the graph that is being quried
-     */
-    public static Titan1GraphQuery createQuery(Titan1Graph graph, boolean isChildQuery) {
-
-        return new Titan1GraphQuery(graph, isChildQuery);
-    }
-
-    /**
-     * Creates a Titan1Vertex that corresponds to the given Gremlin Vertex.
-     *
-     * @param graph The graph that contains the vertex
-     * @param source the Gremlin vertex
-     */
-    public static Titan1Vertex createVertex(Titan1Graph graph, Vertex source) {
-
-        if (source == null) {
-            return null;
-        }
-        return new Titan1Vertex(graph, source);
-    }
-
-    /**
-     * @param propertyKey The Gremlin propertyKey.
-     *
-     */
-    public static Titan1PropertyKey createPropertyKey(PropertyKey propertyKey) {
-        if (propertyKey == null) {
-            return null;
-        }
-        return new Titan1PropertyKey(propertyKey);
-    }
-
-    /**
-     * @param label The Gremlin propertyKey.
-     *
-     */
-    public static Titan1EdgeLabel createEdgeLabel(EdgeLabel label) {
-        if (label == null) {
-            return null;
-        }
-        return new Titan1EdgeLabel(label);
-    }
-
-    /**
-     * @param index The gremlin index.
-     * @return
-     */
-    public static AtlasGraphIndex createGraphIndex(TitanGraphIndex index) {
-        if (index == null) {
-            return null;
-        }
-        return new Titan1GraphIndex(index);
-    }
-
-    /**
-     * Converts a Multiplicity to a Cardinality.
-     *
-     * @param cardinality
-     * @return
-     */
-    public static AtlasCardinality createCardinality(Cardinality cardinality) {
-
-        if (cardinality == Cardinality.SINGLE) {
-            return AtlasCardinality.SINGLE;
-        } else if (cardinality == Cardinality.LIST) {
-            return AtlasCardinality.LIST;
-        }
-        return AtlasCardinality.SET;
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Edge.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Edge.java
deleted file mode 100644
index bcc009b..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Edge.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-
-/**
- * Titan 1.0.0 implementation of AtlasEdge.
- */
-public class Titan1Edge extends Titan1Element<Edge> implements AtlasEdge<Titan1Vertex, Titan1Edge> {
-
-
-    public Titan1Edge(Titan1Graph graph, Edge edge) {
-        super(graph, edge);
-    }
-
-    @Override
-    public String getLabel() {
-        return getWrappedElement().label();
-    }
-
-    @Override
-    public Titan1Edge getE() {
-
-        return this;
-    }
-
-    @Override
-    public AtlasVertex<Titan1Vertex, Titan1Edge> getInVertex() {
-        return GraphDbObjectFactory.createVertex(graph, getWrappedElement().inVertex());
-    }
-
-    @Override
-    public AtlasVertex<Titan1Vertex, Titan1Edge> getOutVertex() {
-        return GraphDbObjectFactory.createVertex(graph, getWrappedElement().outVertex());
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1EdgeLabel.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1EdgeLabel.java
deleted file mode 100644
index fdcc33d..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1EdgeLabel.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import com.thinkaurelius.titan.core.EdgeLabel;
-import org.apache.atlas.repository.graphdb.AtlasEdgeLabel;
-
-/**
- *
- */
-public class Titan1EdgeLabel implements AtlasEdgeLabel {
-
-    private final EdgeLabel wrapped;
-
-    public Titan1EdgeLabel(EdgeLabel toWrap) {
-        wrapped = toWrap;
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.atlas.repository.graphdb.AtlasPropertyKey#getName()
-     */
-    @Override
-    public String getName() {
-        return wrapped.name();
-    }
-
-    @Override
-    public int hashCode() {
-        int result = 17;
-        result = 37*result + wrapped.hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (!(other instanceof Titan1EdgeLabel)) {
-            return false;
-        }
-        Titan1EdgeLabel otherKey = (Titan1EdgeLabel)other;
-        return otherKey.wrapped.equals(wrapped);
-
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Element.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Element.java
deleted file mode 100644
index b1cd458..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Element.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasElement;
-import org.apache.atlas.repository.graphdb.AtlasSchemaViolationException;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.titan1.graphson.AtlasGraphSONMode;
-import org.apache.atlas.repository.graphdb.titan1.graphson.AtlasGraphSONUtility;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Property;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
-import com.thinkaurelius.titan.core.SchemaViolationException;
-import com.thinkaurelius.titan.core.TitanElement;
-
-/**
- * Titan 1.0.0 implementation of AtlasElement.
- *
- * @param <T> the implementation class of the wrapped Titan 1 element
- * that is stored.
- */
-public class Titan1Element<T extends Element> implements AtlasElement {
-
-    private T element;
-    protected Titan1Graph graph;
-
-    public Titan1Element(Titan1Graph graph, T element) {
-        this.element = element;
-        this.graph = graph;
-    }
-
-    @Override
-    public <T> T getProperty(String propertyName, Class<T> clazz) {
-
-        //add explicit logic to return null if the property does not exist
-        //This is the behavior Atlas expects.  Titan 1 throws an exception
-        //in this scenario.
-        Property p = getWrappedElement().property(propertyName);
-        if (p.isPresent()) {
-            Object propertyValue= p.value();
-            if (propertyValue == null) {
-                return null;
-            }
-            if (AtlasEdge.class == clazz) {
-                return (T)graph.getEdge(propertyValue.toString());
-            }
-            if (AtlasVertex.class == clazz) {
-                return (T)graph.getVertex(propertyValue.toString());
-            }
-            return (T)propertyValue;
-
-        }
-        return null;
-    }
-
-
-
-    /**
-     * Gets all of the values of the given property.
-     * @param propertyName
-     * @return
-     */
-    @Override
-    public <T> Collection<T> getPropertyValues(String propertyName, Class<T> type) {
-        return Collections.singleton(getProperty(propertyName, type));
-    }
-
-    @Override
-    public Set<String> getPropertyKeys() {
-        return getWrappedElement().keys();
-    }
-
-    @Override
-    public void removeProperty(String propertyName) {
-        Iterator<? extends Property<String>> it = getWrappedElement().properties(propertyName);
-        while(it.hasNext()) {
-            Property<String> property = it.next();
-            property.remove();
-        }
-    }
-
-    @Override
-    public void setProperty(String propertyName, Object value) {
-        try {
-            getWrappedElement().property(propertyName, value);
-        } catch(SchemaViolationException e) {
-            throw new AtlasSchemaViolationException(e);
-        }
-    }
-
-    @Override
-    public Object getId() {
-        return element.id();
-    }
-
-    @Override
-    public T getWrappedElement() {
-        return element;
-    }
-
-
-    @Override
-    public JSONObject toJson(Set<String> propertyKeys) throws JSONException {
-
-        return AtlasGraphSONUtility.jsonFromElement(this, propertyKeys, AtlasGraphSONMode.NORMAL);
-    }
-
-    @Override
-    public int hashCode() {
-        int result = 37;
-        result = 17*result + getClass().hashCode();
-        result = 17*result + getWrappedElement().hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-
-        if (other == null) {
-            return false;
-        }
-
-        if (other.getClass() != getClass()) {
-            return false;
-        }
-        Titan1Element otherElement = (Titan1Element) other;
-        return getWrappedElement().equals(otherElement.getWrappedElement());
-    }
-
-    @Override
-    public List<String> getListProperty(String propertyName) {
-        List<String> value =  getProperty(propertyName, List.class);
-        if (value == null) {
-            return Collections.emptyList();
-        }
-        return value;
-    }
-
-    @Override
-    public void setListProperty(String propertyName, List<String> values) {
-        setProperty(propertyName, values);
-
-    }
-
-    @Override
-    public boolean exists() {
-        try {
-            return !((TitanElement)element).isRemoved();
-        } catch(IllegalStateException e) {
-            return false;
-        }
-
-    }
-
-    @Override
-    public <T> void setJsonProperty(String propertyName, T value) {
-        setProperty(propertyName, value);
-    }
-
-    @Override
-    public <T> T getJsonProperty(String propertyName) {
-        return (T)getProperty(propertyName, String.class);
-    }
-
-    @Override
-    public String getIdForDisplay() {
-        return getId().toString();
-    }
-
-
-    @Override
-    public <V> List<V> getListProperty(String propertyName, Class<V> elementType) {
-
-        List<String> value = getListProperty(propertyName);
-
-        if (value.isEmpty()) {
-            return (List<V>)value;
-        }
-
-        if (AtlasEdge.class.isAssignableFrom(elementType)) {
-
-
-            return (List<V>)Lists.transform(value, new Function<String, AtlasEdge>(){
-
-                @Override
-                public AtlasEdge apply(String input) {
-                    return graph.getEdge(input);
-                }
-            });
-        }
-
-        if (AtlasVertex.class.isAssignableFrom(elementType)) {
-
-            return (List<V>)Lists.transform(value, new Function<String, AtlasVertex>(){
-
-                @Override
-                public AtlasVertex apply(String input) {
-                    return graph.getVertex(input);
-                }
-            });
-        }
-
-        return (List<V>)value;
-    }
-
-
-    @Override
-    public void setPropertyFromElementsIds(String propertyName, List<AtlasElement> values) {
-        List<String> propertyValue = new ArrayList<>(values.size());
-        for(AtlasElement value: values) {
-            propertyValue.add(value.getId().toString());
-        }
-        setProperty(propertyName, propertyValue);
-    }
-
-
-    @Override
-    public void setPropertyFromElementId(String propertyName, AtlasElement value) {
-        setProperty(propertyName, value.getId().toString());
-
-    }
-
-
-    @Override
-    public boolean isIdAssigned() {
-        return true;
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Graph.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Graph.java
deleted file mode 100644
index d94289d..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Graph.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.thinkaurelius.titan.core.Cardinality;
-import com.thinkaurelius.titan.core.PropertyKey;
-import com.thinkaurelius.titan.core.SchemaViolationException;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.thinkaurelius.titan.core.TitanIndexQuery;
-import com.thinkaurelius.titan.core.schema.TitanGraphIndex;
-import com.thinkaurelius.titan.core.schema.TitanManagement;
-import com.thinkaurelius.titan.core.util.TitanCleanup;
-import org.apache.atlas.AtlasErrorCode;
-import org.apache.atlas.exception.AtlasBaseException;
-import org.apache.atlas.groovy.GroovyExpression;
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.atlas.repository.graphdb.AtlasGraphManagement;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery;
-import org.apache.atlas.repository.graphdb.AtlasIndexQuery;
-import org.apache.atlas.repository.graphdb.AtlasSchemaViolationException;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.GremlinVersion;
-import org.apache.atlas.repository.graphdb.titan1.query.Titan1GraphQuery;
-import org.apache.atlas.repository.graphdb.utils.IteratorToIterableAdapter;
-import org.apache.atlas.type.AtlasType;
-import org.apache.tinkerpop.gremlin.groovy.CompilerCustomizerProvider;
-import org.apache.tinkerpop.gremlin.groovy.DefaultImportCustomizerProvider;
-import org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine;
-import org.apache.tinkerpop.gremlin.process.traversal.P;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import org.apache.tinkerpop.gremlin.process.traversal.step.util.ImmutablePath;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.io.IoCore;
-import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
-import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONWriter;
-
-import javax.script.Bindings;
-import javax.script.ScriptEngine;
-import javax.script.ScriptException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Titan 1.0.0 implementation of AtlasGraph.
- */
-public class Titan1Graph implements AtlasGraph<Titan1Vertex, Titan1Edge> {
-
-    private final ConvertGremlinValueFunction GREMLIN_VALUE_CONVERSION_FUNCTION = new ConvertGremlinValueFunction();
-
-    private final class ConvertGremlinValueFunction implements Function<Object, Object> {
-        @Override
-        public Object apply(Object input) {
-            return convertGremlinValue(input);
-        }
-    }
-
-    private final Set<String> multiProperties;
-
-    public Titan1Graph() {
-        //determine multi-properties once at startup
-        TitanManagement mgmt = null;
-        try {
-            mgmt = Titan1GraphDatabase.getGraphInstance().openManagement();
-            Iterable<PropertyKey> keys = mgmt.getRelationTypes(PropertyKey.class);
-            multiProperties = new HashSet<>();
-            for (PropertyKey key : keys) {
-                if (key.cardinality() != Cardinality.SINGLE) {
-                    multiProperties.add(key.name());
-                }
-            }
-        } finally {
-            if (mgmt != null) {
-                mgmt.rollback();
-            }
-        }
-    }
-
-    @Override
-    public AtlasEdge<Titan1Vertex, Titan1Edge> addEdge(AtlasVertex<Titan1Vertex, Titan1Edge> outVertex,
-                                                       AtlasVertex<Titan1Vertex, Titan1Edge> inVertex,
-                                                       String edgeLabel) {
-
-        try {
-            Vertex oV = outVertex.getV().getWrappedElement();
-            Vertex iV = inVertex.getV().getWrappedElement();
-            Edge edge = oV.addEdge(edgeLabel, iV);
-            return GraphDbObjectFactory.createEdge(this, edge);
-        } catch (SchemaViolationException e) {
-            throw new AtlasSchemaViolationException(e);
-        }
-    }
-
-    @Override
-    public AtlasGraphQuery<Titan1Vertex, Titan1Edge> query() {
-        return new Titan1GraphQuery(this);
-    }
-
-    @Override
-    public AtlasEdge<Titan1Vertex, Titan1Edge> getEdge(String edgeId) {
-        Iterator<Edge> it = getGraph().edges(edgeId);
-        Edge e = getSingleElement(it, edgeId);
-        return GraphDbObjectFactory.createEdge(this, e);
-    }
-
-    @Override
-    public void removeEdge(AtlasEdge<Titan1Vertex, Titan1Edge> edge) {
-
-        Edge wrapped = edge.getE().getWrappedElement();
-        wrapped.remove();
-
-    }
-
-    @Override
-    public void removeVertex(AtlasVertex<Titan1Vertex, Titan1Edge> vertex) {
-        Vertex wrapped = vertex.getV().getWrappedElement();
-        wrapped.remove();
-    }
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> getEdges() {
-
-        Iterator<Edge> edges = getGraph().edges();
-        return wrapEdges(edges);
-
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> getVertices() {
-
-        Iterator<Vertex> vertices = getGraph().vertices();
-        return wrapVertices(vertices);
-    }
-
-    @Override
-    public AtlasVertex<Titan1Vertex, Titan1Edge> addVertex() {
-        Vertex result = getGraph().addVertex();
-        return GraphDbObjectFactory.createVertex(this, result);
-    }
-
-    @Override
-    public void commit() {
-        getGraph().tx().commit();
-    }
-
-    @Override
-    public void rollback() {
-        getGraph().tx().rollback();
-    }
-
-    @Override
-    public AtlasIndexQuery<Titan1Vertex, Titan1Edge> indexQuery(String fulltextIndex, String graphQuery) {
-        return indexQuery(fulltextIndex, graphQuery, 0);
-    }
-
-    @Override
-    public AtlasIndexQuery<Titan1Vertex, Titan1Edge> indexQuery(String fulltextIndex, String graphQuery, int offset) {
-        TitanIndexQuery query = getGraph().indexQuery(fulltextIndex, graphQuery).offset(offset);
-        return new Titan1IndexQuery(this, query);
-    }
-
-    @Override
-    public AtlasGraphManagement getManagementSystem() {
-        return new Titan1GraphManagement(this, getGraph().openManagement());
-    }
-
-    @Override
-    public void shutdown() {
-        getGraph().close();
-    }
-
-    @Override
-    public Set<String> getEdgeIndexKeys() {
-        return getIndexKeys(Edge.class);
-    }
-
-    @Override
-    public Set<String> getVertexIndexKeys() {
-        return getIndexKeys(Vertex.class);
-    }
-
-    private Set<String> getIndexKeys(Class<? extends Element> titanElementClass) {
-
-        TitanManagement mgmt = getGraph().openManagement();
-        Iterable<TitanGraphIndex> indices = mgmt.getGraphIndexes(titanElementClass);
-        Set<String> result = new HashSet<String>();
-        for (TitanGraphIndex index : indices) {
-            result.add(index.name());
-        }
-        mgmt.commit();
-        return result;
-
-    }
-
-    @Override
-    public AtlasVertex<Titan1Vertex, Titan1Edge> getVertex(String vertexId) {
-        Iterator<Vertex> it = getGraph().vertices(vertexId);
-        Vertex vertex = getSingleElement(it, vertexId);
-        return GraphDbObjectFactory.createVertex(this, vertex);
-    }
-
-    public static <T> T getSingleElement(Iterator<T> it, String id) {
-        if (!it.hasNext()) {
-            return null;
-        }
-        T element = it.next();
-        if (it.hasNext()) {
-            throw new RuntimeException("Multiple items were found with the id " + id);
-        }
-        return element;
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> getVertices(String key, Object value) {
-        AtlasGraphQuery<Titan1Vertex, Titan1Edge> query = query();
-        query.has(key, value);
-        return query.vertices();
-    }
-
-    private Object convertGremlinValue(Object rawValue) {
-
-        if (rawValue instanceof Vertex) {
-            return GraphDbObjectFactory.createVertex(this, (Vertex) rawValue);
-        } else if (rawValue instanceof Edge) {
-            return GraphDbObjectFactory.createEdge(this, (Edge) rawValue);
-        } else if (rawValue instanceof Map) {
-            Map<String,Object> rowValue = (Map<String,Object>)rawValue;
-            return Maps.transformValues(rowValue, GREMLIN_VALUE_CONVERSION_FUNCTION);
-        } else if (rawValue instanceof ImmutablePath) {
-            ImmutablePath path = (ImmutablePath) rawValue;
-            return convertGremlinValue(path.objects());
-        }
-        else if (rawValue instanceof List) {
-            return Lists.transform((List)rawValue, GREMLIN_VALUE_CONVERSION_FUNCTION);
-        } else if (rawValue instanceof Collection) {
-            throw new UnsupportedOperationException("Unhandled collection type: " + rawValue.getClass());
-        }
-        return rawValue;
-    }
-
-    @Override
-    public GremlinVersion getSupportedGremlinVersion() {
-
-        return GremlinVersion.THREE;
-    }
-    @Override
-    public void clear() {
-        TitanGraph graph = getGraph();
-        if (graph.isOpen()) {
-            // only a shut down graph can be cleared
-            graph.close();
-        }
-        TitanCleanup.clear(graph);
-    }
-
-    private TitanGraph getGraph() {
-        return Titan1GraphDatabase.getGraphInstance();
-    }
-
-    @Override
-    public void exportToGson(OutputStream os) throws IOException {
-
-        GraphSONMapper mapper = getGraph().io(IoCore.graphson()).mapper().create();
-        GraphSONWriter.Builder builder = GraphSONWriter.build();
-        builder.mapper(mapper);
-        GraphSONWriter writer = builder.create();
-        writer.writeGraph(os, getGraph());
-    }
-
-    @Override
-    public GremlinGroovyScriptEngine getGremlinScriptEngine() {
-        Set<String> extraImports = new HashSet<String>();
-        extraImports.add(java.util.function.Function.class.getName());
-
-        Set<String> extraStaticImports = new HashSet<String>();
-        extraStaticImports.add(P.class.getName() + ".*");
-        extraStaticImports.add(__.class.getName() + ".*");
-        CompilerCustomizerProvider provider = new DefaultImportCustomizerProvider(extraImports, extraStaticImports);
-
-        GremlinGroovyScriptEngine scriptEngine = new GremlinGroovyScriptEngine(provider);
-
-        return scriptEngine;
-    }
-
-    @Override
-    public void releaseGremlinScriptEngine(ScriptEngine scriptEngine) {
-        if (scriptEngine instanceof GremlinGroovyScriptEngine) {
-            try {
-                ((GremlinGroovyScriptEngine)scriptEngine).close();
-            } catch (Exception e) {
-                // ignore
-            }
-        }
-    }
-
-    @Override
-    public Object executeGremlinScript(String query, boolean isPath) throws AtlasBaseException {
-        Object result = executeGremlinScript(query);
-        return convertGremlinValue(result);
-    }
-
-    private Object executeGremlinScript(String gremlinQuery) throws AtlasBaseException {
-        GremlinGroovyScriptEngine scriptEngine = getGremlinScriptEngine();
-
-        try {
-            Bindings bindings = scriptEngine.createBindings();
-
-            bindings.put("graph", getGraph());
-            bindings.put("g", getGraph().traversal());
-
-            Object result = scriptEngine.eval(gremlinQuery, bindings);
-
-            return result;
-        } catch (ScriptException e) {
-            throw new AtlasBaseException(AtlasErrorCode.GREMLIN_SCRIPT_EXECUTION_FAILED, gremlinQuery);
-        } finally {
-            releaseGremlinScriptEngine(scriptEngine);
-        }
-    }
-
-    @Override
-    public Object executeGremlinScript(ScriptEngine scriptEngine,
-            Map<? extends  String, ? extends  Object> userBindings, String query, boolean isPath)
-            throws ScriptException {
-        Bindings bindings = scriptEngine.createBindings();
-
-        bindings.putAll(userBindings);
-        bindings.put("g", getGraph());
-
-        Object result = scriptEngine.eval(query, bindings);
-        return convertGremlinValue(result);
-    }
-
-    @Override
-    public GroovyExpression generatePersisentToLogicalConversionExpression(GroovyExpression expr, AtlasType type) {
-        //nothing special needed, value is stored in required type
-        return expr;
-    }
-
-    @Override
-    public boolean isPropertyValueConversionNeeded(AtlasType type) {
-        return false;
-    }
-
-    @Override
-    public boolean requiresInitialIndexedPredicate() {
-        return false;
-    }
-
-    @Override
-    public GroovyExpression getInitialIndexedPredicate(GroovyExpression parent) {
-        return parent;
-    }
-
-    @Override
-    public GroovyExpression addOutputTransformationPredicate(GroovyExpression expr, boolean isSelect, boolean isPath) {
-        return expr;
-    }
-
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> wrapVertices(Iterator<? extends Vertex> it) {
-        Iterable<? extends Vertex> iterable = new IteratorToIterableAdapter<>(it);
-        return wrapVertices(iterable);
-    }
-
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> wrapVertices(Iterable<? extends Vertex> it) {
-
-        return Iterables.transform(it, new Function<Vertex, AtlasVertex<Titan1Vertex, Titan1Edge>>() {
-
-            @Override
-            public AtlasVertex<Titan1Vertex, Titan1Edge> apply(Vertex input) {
-                return GraphDbObjectFactory.createVertex(Titan1Graph.this, input);
-            }
-        });
-
-    }
-
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> wrapEdges(Iterator<? extends Edge> it) {
-        Iterable<? extends Edge> iterable = new IteratorToIterableAdapter<>(it);
-        return wrapEdges(iterable);
-    }
-
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> wrapEdges(Iterable<? extends Edge> it) {
-
-        return Iterables.transform(it, new Function<Edge, AtlasEdge<Titan1Vertex, Titan1Edge>>() {
-
-            @Override
-            public AtlasEdge<Titan1Vertex, Titan1Edge> apply(Edge input) {
-                return GraphDbObjectFactory.createEdge(Titan1Graph.this, input);
-            }
-        });
-
-    }
-
-    @Override
-    public boolean isMultiProperty(String propertyName) {
-        return multiProperties.contains(propertyName);
-    }
-
-    public void addMultiProperties(Set<String> names) {
-        multiProperties.addAll(names);
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphDatabase.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphDatabase.java
deleted file mode 100644
index dfb5354..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphDatabase.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.apache.atlas.ApplicationProperties;
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.atlas.repository.graphdb.GraphDatabase;
-import org.apache.atlas.repository.graphdb.titan1.serializer.BigDecimalSerializer;
-import org.apache.atlas.repository.graphdb.titan1.serializer.BigIntegerSerializer;
-import org.apache.atlas.repository.graphdb.titan1.serializer.StringListSerializer;
-import org.apache.atlas.repository.graphdb.titan1.serializer.TypeCategorySerializer;
-import org.apache.atlas.typesystem.types.DataTypes.TypeCategory;
-import org.apache.commons.configuration.Configuration;
-import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoader;
-import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.thinkaurelius.titan.core.schema.TitanManagement;
-import com.thinkaurelius.titan.core.util.TitanCleanup;
-import com.thinkaurelius.titan.graphdb.tinkerpop.TitanIoRegistry;
-
-/**
- * Default implementation for Graph Provider that doles out Titan Graph.
- */
-public class Titan1GraphDatabase implements GraphDatabase<Titan1Vertex, Titan1Edge> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(Titan1GraphDatabase.class);
-
-    /**
-     * Constant for the configuration property that indicates the prefix.
-     */
-    public static final String GRAPH_PREFIX = "atlas.graph";
-
-    public static final String INDEX_BACKEND_CONF = "index.search.backend";
-
-    public static final String INDEX_BACKEND_LUCENE = "lucene";
-
-    public static final String INDEX_BACKEND_ES = "elasticsearch";
-
-    private static volatile Titan1Graph atlasGraphInstance = null;
-    private static volatile TitanGraph graphInstance;
-
-    public Titan1GraphDatabase() {
-
-        //update registry
-        GraphSONMapper.build().addRegistry(TitanIoRegistry.INSTANCE).create();
-    }
-
-    public static Configuration getConfiguration() throws AtlasException {
-        Configuration configProperties = ApplicationProperties.get();
-
-        Configuration titanConfig = ApplicationProperties.getSubsetConfiguration(configProperties, GRAPH_PREFIX);
-
-        //add serializers for non-standard property value types that Atlas uses
-
-        titanConfig.addProperty("attributes.custom.attribute1.attribute-class", TypeCategory.class.getName());
-        titanConfig.addProperty("attributes.custom.attribute1.serializer-class",
-                TypeCategorySerializer.class.getName());
-
-        //not ideal, but avoids making large changes to Atlas
-        titanConfig.addProperty("attributes.custom.attribute2.attribute-class", ArrayList.class.getName());
-        titanConfig.addProperty("attributes.custom.attribute2.serializer-class", StringListSerializer.class.getName());
-
-        titanConfig.addProperty("attributes.custom.attribute3.attribute-class", BigInteger.class.getName());
-        titanConfig.addProperty("attributes.custom.attribute3.serializer-class", BigIntegerSerializer.class.getName());
-
-        titanConfig.addProperty("attributes.custom.attribute4.attribute-class", BigDecimal.class.getName());
-        titanConfig.addProperty("attributes.custom.attribute4.serializer-class", BigDecimalSerializer.class.getName());
-
-        return titanConfig;
-    }
-
-    public static TitanGraph getGraphInstance() {
-        if (graphInstance == null) {
-            synchronized (Titan1GraphDatabase.class) {
-                if (graphInstance == null) {
-                    Configuration config;
-                    try {
-                        config = getConfiguration();
-                    } catch (AtlasException e) {
-                        throw new RuntimeException(e);
-                    }
-
-                    graphInstance = TitanFactory.open(config);
-                    atlasGraphInstance = new Titan1Graph();
-                    validateIndexBackend(config);
-                }
-            }
-        }
-        return graphInstance;
-    }
-
-    public static void unload() {
-        synchronized (Titan1GraphDatabase.class) {
-
-            if (graphInstance == null) {
-                return;
-            }
-            graphInstance.tx().commit();
-            graphInstance.close();
-            graphInstance = null;
-        }
-    }
-
-    static void validateIndexBackend(Configuration config) {
-        String configuredIndexBackend = config.getString(INDEX_BACKEND_CONF);
-
-        TitanManagement managementSystem = getGraphInstance().openManagement();
-        String currentIndexBackend = managementSystem.get(INDEX_BACKEND_CONF);
-        managementSystem.commit();
-
-        if (!configuredIndexBackend.equals(currentIndexBackend)) {
-            throw new RuntimeException("Configured Index Backend " + configuredIndexBackend
-                    + " differs from earlier configured Index Backend " + currentIndexBackend + ". Aborting!");
-        }
-
-    }
-
-    @Override
-    public boolean isGraphLoaded() {
-        return graphInstance != null;
-    }
-
-    @Override
-    public void initializeTestGraph() {
-        //nothing to do
-
-    }
-
-    @Override
-    public void cleanup() {
-        try {
-            getGraphInstance().close();
-        } catch (Throwable t) {
-            LOG.warn("Could not close test TitanGraph", t);
-            t.printStackTrace();
-        }
-
-        try {
-            TitanCleanup.clear(getGraphInstance());
-        } catch (Throwable t) {
-            LOG.warn("Could not clear test TitanGraph", t);
-            t.printStackTrace();
-        }
-    }
-
-    @Override
-    public AtlasGraph<Titan1Vertex, Titan1Edge> getGraph() {
-        getGraphInstance();
-        return atlasGraphInstance;
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphIndex.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphIndex.java
deleted file mode 100644
index 5ec1180..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphIndex.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.atlas.repository.graphdb.AtlasGraphIndex;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import com.thinkaurelius.titan.core.PropertyKey;
-import com.thinkaurelius.titan.core.schema.TitanGraphIndex;
-
-/**
- * Represents an Index in Titan 1.
- */
-public class Titan1GraphIndex implements AtlasGraphIndex {
-
-    private TitanGraphIndex wrapped;
-
-    public Titan1GraphIndex(TitanGraphIndex toWrap) {
-        this.wrapped = toWrap;
-    }
-
-
-    @Override
-    public boolean isEdgeIndex() {
-        return Edge.class.isAssignableFrom(wrapped.getIndexedElement());
-    }
-
-    @Override
-    public boolean isVertexIndex() {
-        return Vertex.class.isAssignableFrom(wrapped.getIndexedElement());
-    }
-
-    @Override
-    public boolean isUnique() {
-        return wrapped.isUnique();
-    }
-
-
-    @Override
-    public Set<AtlasPropertyKey> getFieldKeys() {
-        PropertyKey[] keys = wrapped.getFieldKeys();
-        Set<AtlasPropertyKey> result = new HashSet<AtlasPropertyKey>();
-        for(PropertyKey key  : keys) {
-            result.add(GraphDbObjectFactory.createPropertyKey(key));
-        }
-        return result;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = 17;
-        result = 37*result + wrapped.hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (!(other instanceof Titan1GraphIndex)) {
-            return false;
-        }
-        Titan1GraphIndex otherKey = (Titan1GraphIndex)other;
-        return otherKey.wrapped.equals(wrapped);
-
-    }
-
-
-    @Override
-    public boolean isMixedIndex() {
-        return wrapped.isMixedIndex();
-    }
-
-
-    @Override
-    public boolean isCompositeIndex() {
-        return wrapped.isCompositeIndex();
-    }
-
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphManagement.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphManagement.java
deleted file mode 100644
index a5d3815..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphManagement.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import com.google.common.base.Preconditions;
-import com.thinkaurelius.titan.core.Cardinality;
-import com.thinkaurelius.titan.core.EdgeLabel;
-import com.thinkaurelius.titan.core.PropertyKey;
-import com.thinkaurelius.titan.core.schema.Mapping;
-import com.thinkaurelius.titan.core.schema.PropertyKeyMaker;
-import com.thinkaurelius.titan.core.schema.TitanGraphIndex;
-import com.thinkaurelius.titan.core.schema.TitanManagement;
-import com.thinkaurelius.titan.graphdb.internal.Token;
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasEdgeLabel;
-import org.apache.atlas.repository.graphdb.AtlasGraphIndex;
-import org.apache.atlas.repository.graphdb.AtlasGraphManagement;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-import org.apache.commons.lang.StringUtils;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Titan 1.0.0 implementation of AtlasGraphManagement.
- */
-public class Titan1GraphManagement implements AtlasGraphManagement {
-
-    private static final Logger LOG = LoggerFactory.getLogger(Titan1GraphManagement.class);
-
-    private static final char[] RESERVED_CHARS = { '{', '}', '"', '$', Token.SEPARATOR_CHAR };
-
-    private Titan1Graph graph;
-    private TitanManagement management;
-
-    private Set<String> newMultProperties = new HashSet<>();
-
-    public Titan1GraphManagement(Titan1Graph graph, TitanManagement managementSystem) {
-        this.management = managementSystem;
-        this.graph = graph;
-    }
-
-    @Override
-    public void createVertexIndex(String propertyName, String backingIndex, List<AtlasPropertyKey> propertyKeys) {
-
-        TitanManagement.IndexBuilder indexBuilder = management.buildIndex(propertyName, Vertex.class);
-        for (AtlasPropertyKey key : propertyKeys) {
-            PropertyKey titanKey = TitanObjectFactory.createPropertyKey(key);
-            indexBuilder.addKey(titanKey);
-        }
-        indexBuilder.buildMixedIndex(backingIndex);
-    }
-
-    @Override
-    public void createEdgeIndex(String index, String backingIndex) {
-        buildMixedIndex(index, Edge.class, backingIndex);
-    }
-
-    private void buildMixedIndex(String index, Class<? extends Element> titanClass, String backingIndex) {
-
-        management.buildIndex(index, titanClass).buildMixedIndex(backingIndex);
-    }
-
-    @Override
-    public void createFullTextIndex(String indexName, AtlasPropertyKey propertyKey, String backingIndex) {
-
-        PropertyKey fullText = TitanObjectFactory.createPropertyKey(propertyKey);
-
-        management.buildIndex(indexName, Vertex.class)
-                .addKey(fullText, com.thinkaurelius.titan.core.schema.Parameter.of("mapping", Mapping.TEXT))
-                .buildMixedIndex(backingIndex);
-    }
-
-    @Override
-    public boolean containsPropertyKey(String propertyName) {
-        return management.containsPropertyKey(propertyName);
-    }
-
-    @Override
-    public void rollback() {
-        management.rollback();
-
-    }
-
-    @Override
-    public void commit() {
-        graph.addMultiProperties(newMultProperties);
-        newMultProperties.clear();
-        management.commit();
-    }
-
-    private static void checkName(String name) {
-        //for some reason, name checking was removed from StandardPropertyKeyMaker.make()
-        //in titan 1.  For consistency, do the check here.
-        Preconditions.checkArgument(StringUtils.isNotBlank(name), "Need to specify name");
-        for (char c : RESERVED_CHARS) {
-            Preconditions.checkArgument(name.indexOf(c) < 0, "Name can not contains reserved character %s: %s", c,
-                    name);
-        }
-
-    }
-
-    @Override
-    public AtlasPropertyKey makePropertyKey(String propertyName, Class propertyClass, AtlasCardinality cardinality) {
-
-        if (cardinality.isMany()) {
-            newMultProperties.add(propertyName);
-        }
-        PropertyKeyMaker propertyKeyBuilder = management.makePropertyKey(propertyName).dataType(propertyClass);
-        if (cardinality != null) {
-            Cardinality titanCardinality = TitanObjectFactory.createCardinality(cardinality);
-            propertyKeyBuilder.cardinality(titanCardinality);
-        }
-        PropertyKey propertyKey = propertyKeyBuilder.make();
-        return GraphDbObjectFactory.createPropertyKey(propertyKey);
-    }
-
-    @Override
-    public AtlasEdgeLabel makeEdgeLabel(String label) {
-        EdgeLabel edgeLabel = management.makeEdgeLabel(label).make();
-
-        return GraphDbObjectFactory.createEdgeLabel(edgeLabel);
-    }
-
-    @Override
-    public void deletePropertyKey(String propertyKey) {
-        PropertyKey titanPropertyKey = management.getPropertyKey(propertyKey);
-
-        if (null == titanPropertyKey) return;
-
-        for (int i = 0;; i++) {
-            String deletedKeyName = titanPropertyKey + "_deleted_" + i;
-            if (null == management.getPropertyKey(deletedKeyName)) {
-                management.changeName(titanPropertyKey, deletedKeyName);
-                break;
-            }
-        }
-    }
-
-    @Override
-    public AtlasPropertyKey getPropertyKey(String propertyName) {
-        checkName(propertyName);
-        return GraphDbObjectFactory.createPropertyKey(management.getPropertyKey(propertyName));
-    }
-
-    @Override
-    public AtlasEdgeLabel getEdgeLabel(String label) {
-        return GraphDbObjectFactory.createEdgeLabel(management.getEdgeLabel(label));
-    }
-
-    public void createExactMatchVertexIndex(String propertyName, boolean enforceUniqueness,
-                                      List<AtlasPropertyKey> propertyKeys) {
-
-        TitanManagement.IndexBuilder indexBuilder = management.buildIndex(propertyName, Vertex.class);
-        for (AtlasPropertyKey key : propertyKeys) {
-            PropertyKey titanKey = TitanObjectFactory.createPropertyKey(key);
-            indexBuilder.addKey(titanKey);
-        }
-        if (enforceUniqueness) {
-            indexBuilder.unique();
-        }
-        indexBuilder.buildCompositeIndex();
-    }
-
-    @Override
-    public void addVertexIndexKey(String indexName, AtlasPropertyKey propertyKey) {
-        PropertyKey titanKey = TitanObjectFactory.createPropertyKey(propertyKey);
-        TitanGraphIndex vertexIndex = management.getGraphIndex(indexName);
-        management.addIndexKey(vertexIndex, titanKey);
-    }
-
-    @Override
-    public AtlasGraphIndex getGraphIndex(String indexName) {
-        TitanGraphIndex index = management.getGraphIndex(indexName);
-        return GraphDbObjectFactory.createGraphIndex(index);
-    }
-
-    @Override
-    public void createExactMatchIndex(String propertyName, boolean isUnique,
-            List<AtlasPropertyKey> propertyKeys) {
-        createExactMatchVertexIndex(propertyName, isUnique, propertyKeys);
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1IndexQuery.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1IndexQuery.java
deleted file mode 100644
index c7e4150..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1IndexQuery.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import java.util.Iterator;
-
-import com.google.common.base.Preconditions;
-import org.apache.atlas.repository.graphdb.AtlasIndexQuery;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterators;
-import com.thinkaurelius.titan.core.TitanIndexQuery;
-import com.thinkaurelius.titan.core.TitanVertex;
-
-/**
- * Titan 1.0.0 implementation of AtlasIndexQuery.
- */
-public class Titan1IndexQuery implements AtlasIndexQuery<Titan1Vertex, Titan1Edge> {
-
-    private Titan1Graph graph;
-    private TitanIndexQuery query;
-
-    public Titan1IndexQuery(Titan1Graph graph, TitanIndexQuery query) {
-        this.query = query;
-        this.graph = graph;
-    }
-
-    @Override
-    public Iterator<Result<Titan1Vertex, Titan1Edge>> vertices() {
-        Iterator<TitanIndexQuery.Result<TitanVertex>> results = query.vertices().iterator();
-
-        Function<TitanIndexQuery.Result<TitanVertex>, Result<Titan1Vertex, Titan1Edge>> function =
-            new Function<TitanIndexQuery.Result<TitanVertex>, Result<Titan1Vertex, Titan1Edge>>() {
-
-                @Override
-                public Result<Titan1Vertex, Titan1Edge> apply(TitanIndexQuery.Result<TitanVertex> source) {
-                    return new ResultImpl(source);
-                }
-            };
-
-        return Iterators.transform(results, function);
-    }
-
-    @Override
-    public Iterator<Result<Titan1Vertex, Titan1Edge>> vertices(int offset, int limit) {
-        Preconditions.checkArgument(offset >=0, "Index offset should be greater than or equals to 0");
-        Preconditions.checkArgument(limit >=0, "Index limit should be greater than or equals to 0");
-        Iterator<TitanIndexQuery.Result<TitanVertex>> results = query
-                .offset(offset)
-                .limit(limit)
-                .vertices().iterator();
-
-        Function<TitanIndexQuery.Result<TitanVertex>, Result<Titan1Vertex, Titan1Edge>> function =
-                new Function<TitanIndexQuery.Result<TitanVertex>, Result<Titan1Vertex, Titan1Edge>>() {
-
-                    @Override
-                    public Result<Titan1Vertex, Titan1Edge> apply(TitanIndexQuery.Result<TitanVertex> source) {
-                        return new ResultImpl(source);
-                    }
-                };
-
-        return Iterators.transform(results, function);
-    }
-
-    /**
-     * Titan 1.0.0 implementation of AtlasIndexQuery.Result.
-     */
-    public final class ResultImpl implements AtlasIndexQuery.Result<Titan1Vertex, Titan1Edge> {
-        private TitanIndexQuery.Result<TitanVertex> source;
-
-        public ResultImpl(TitanIndexQuery.Result<TitanVertex> source) {
-            this.source = source;
-        }
-
-        @Override
-        public AtlasVertex<Titan1Vertex, Titan1Edge> getVertex() {
-            return GraphDbObjectFactory.createVertex(graph, source.getElement());
-        }
-
-        @Override
-        public double getScore() {
-            return source.getScore();
-        }
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1PropertyKey.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1PropertyKey.java
deleted file mode 100644
index 6b62f27..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1PropertyKey.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-
-import com.thinkaurelius.titan.core.PropertyKey;
-
-/**
- *
- */
-public class Titan1PropertyKey implements AtlasPropertyKey {
-
-    private PropertyKey wrapped;
-
-    public Titan1PropertyKey(PropertyKey toWrap) {
-        wrapped = toWrap;
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.atlas.repository.graphdb.AtlasPropertyKey#getName()
-     */
-    @Override
-    public String getName() {
-        return wrapped.name();
-    }
-
-    /**
-     * @return
-     */
-    public PropertyKey getWrappedPropertyKey() {
-        return wrapped;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = 17;
-        result = 37*result + wrapped.hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (!(other instanceof Titan1PropertyKey)) {
-            return false;
-        }
-        Titan1PropertyKey otherKey = (Titan1PropertyKey)other;
-        return otherKey.getWrappedPropertyKey().equals(getWrappedPropertyKey());
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.atlas.repository.graphdb.AtlasPropertyKey#getCardinality()
-     */
-    @Override
-    public AtlasCardinality getCardinality() {
-        return GraphDbObjectFactory.createCardinality(wrapped.cardinality());
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Vertex.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Vertex.java
deleted file mode 100644
index 1670e92..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Vertex.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasEdgeDirection;
-import org.apache.atlas.repository.graphdb.AtlasSchemaViolationException;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.AtlasVertexQuery;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-
-import com.thinkaurelius.titan.core.SchemaViolationException;
-import com.thinkaurelius.titan.core.TitanVertex;
-/**
- * Titan 1.0.0 implementation of AtlasVertex.
- */
-public class Titan1Vertex extends Titan1Element<Vertex> implements AtlasVertex<Titan1Vertex, Titan1Edge> {
-
-
-    public Titan1Vertex(Titan1Graph graph, Vertex source) {
-        super(graph, source);
-    }
-
-    @Override
-    public <T> void addProperty(String propertyName, T value) {
-        try {
-            getWrappedElement().property(VertexProperty.Cardinality.set, propertyName, value);
-        } catch(SchemaViolationException e) {
-            throw new AtlasSchemaViolationException(e);
-        }
-    }
-
-
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> getEdges(AtlasEdgeDirection dir, String edgeLabel) {
-
-        Direction d = TitanObjectFactory.createDirection(dir);
-        Iterator<Edge> edges = getWrappedElement().edges(d, edgeLabel);
-        return graph.wrapEdges(edges);
-    }
-
-    private TitanVertex getAsTitanVertex() {
-        return (TitanVertex)getWrappedElement();
-    }
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> getEdges(AtlasEdgeDirection in) {
-        Direction d = TitanObjectFactory.createDirection(in);
-        Iterator<Edge> edges = getWrappedElement().edges(d);
-        return graph.wrapEdges(edges);
-    }
-
-    @Override
-    public <T> Collection<T> getPropertyValues(String propertyName, Class<T> clazz) {
-
-        Collection<T> result = new ArrayList<T>();
-        Iterator<VertexProperty<T>> it = getWrappedElement().properties(propertyName);
-        while(it.hasNext()) {
-            result.add(it.next().value());
-        }
-
-        return result;
-    }
-
-    @Override
-    public AtlasVertexQuery<Titan1Vertex, Titan1Edge> query() {
-
-        return new Titan1VertexQuery(graph, getAsTitanVertex().query());
-    }
-
-
-    @Override
-    public Titan1Vertex getV() {
-        return this;
-    }
-
-
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1VertexQuery.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1VertexQuery.java
deleted file mode 100644
index a761a74..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1VertexQuery.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import com.google.common.base.Preconditions;
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasEdgeDirection;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.AtlasVertexQuery;
-
-import com.thinkaurelius.titan.core.TitanVertexQuery;
-
-/**
- * Titan 1.0.0 implementation of AtlasVertexQuery.
- */
-public class Titan1VertexQuery implements AtlasVertexQuery<Titan1Vertex, Titan1Edge> {
-
-    private Titan1Graph graph;
-    private TitanVertexQuery<?> query;
-
-    public Titan1VertexQuery(Titan1Graph graph, TitanVertexQuery<?> query) {
-        this.query = query;
-        this.graph = graph;
-    }
-
-    @Override
-    public AtlasVertexQuery<Titan1Vertex, Titan1Edge> direction(AtlasEdgeDirection queryDirection) {
-        query.direction(TitanObjectFactory.createDirection(queryDirection));
-        return this;
-
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> vertices() {
-        Iterable vertices = query.vertices();
-        return graph.wrapVertices(vertices);
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> vertices(int limit) {
-        Preconditions.checkArgument(limit >=0, "Limit should be greater than or equals to 0");
-        Iterable vertices = query.limit(limit).vertices();
-        return graph.wrapVertices(vertices);
-    }
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> edges() {
-        Iterable edges = query.edges();
-        return graph.wrapEdges(edges);
-    }
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> edges(int limit) {
-        Preconditions.checkArgument(limit >=0, "Limit should be greater than or equals to 0");
-        Iterable edges = query.limit(limit).edges();
-        return graph.wrapEdges(edges);
-    }
-
-    @Override
-    public long count() {
-        return query.count();
-    }
-
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/TitanObjectFactory.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/TitanObjectFactory.java
deleted file mode 100644
index a4776a9..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/TitanObjectFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasEdgeDirection;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-
-import com.thinkaurelius.titan.core.Cardinality;
-import com.thinkaurelius.titan.core.PropertyKey;
-
-
-/**
- * Factory that serves up instances of Titan/Tinkerpop classes that correspond to
- * graph database abstraction layer/Atlas classes.
- */
-public final class TitanObjectFactory {
-
-    private TitanObjectFactory() {
-
-    }
-
-    /**
-     * Retrieves the titan direction corresponding to the given
-     * AtlasEdgeDirection.
-     *
-     * @param dir
-     * @return
-     */
-    public static Direction createDirection(AtlasEdgeDirection dir) {
-
-        switch(dir) {
-        case IN:
-            return Direction.IN;
-        case OUT:
-            return Direction.OUT;
-        case BOTH:
-            return Direction.BOTH;
-        default:
-            throw new RuntimeException("Unrecognized direction: " + dir);
-        }
-    }
-
-
-    /**
-     * Converts a Multiplicity to a Cardinality.
-     *
-     * @param multiplicity
-     * @return
-     */
-    public static Cardinality createCardinality(AtlasCardinality cardinality) {
-        switch(cardinality) {
-
-        case SINGLE:
-            return Cardinality.SINGLE;
-        case LIST:
-            return Cardinality.LIST;
-        case SET:
-            return Cardinality.SET;
-        default:
-            throw new IllegalStateException("Unrecognized cardinality: " + cardinality);
-        }
-    }
-
-    public static PropertyKey createPropertyKey(AtlasPropertyKey key) {
-        return ((Titan1PropertyKey)key).getWrappedPropertyKey();
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasElementPropertyConfig.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasElementPropertyConfig.java
deleted file mode 100644
index df67a83..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasElementPropertyConfig.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.graphson;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Configure how the GraphSON utility treats edge and vertex properties.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-public class AtlasElementPropertyConfig {
-
-    /**
-     * Rules for element properties.
-     */
-    public enum ElementPropertiesRule {
-        INCLUDE, EXCLUDE
-    }
-
-    private final List<String> vertexPropertyKeys;
-    private final List<String> edgePropertyKeys;
-    private final ElementPropertiesRule vertexPropertiesRule;
-    private final ElementPropertiesRule edgePropertiesRule;
-    private final boolean normalized;
-
-    /**
-     * A configuration that includes all properties of vertices and edges.
-     */
-    public static final AtlasElementPropertyConfig ALL_PROPERTIES = new AtlasElementPropertyConfig(null, null,
-            ElementPropertiesRule.INCLUDE, ElementPropertiesRule.INCLUDE, false);
-
-    public AtlasElementPropertyConfig(final Set<String> vertexPropertyKeys, final Set<String> edgePropertyKeys,
-            final ElementPropertiesRule vertexPropertiesRule, final ElementPropertiesRule edgePropertiesRule) {
-        this(vertexPropertyKeys, edgePropertyKeys, vertexPropertiesRule, edgePropertiesRule, false);
-    }
-
-    public AtlasElementPropertyConfig(final Set<String> vertexPropertyKeys, final Set<String> edgePropertyKeys,
-            final ElementPropertiesRule vertexPropertiesRule, final ElementPropertiesRule edgePropertiesRule,
-            final boolean normalized) {
-        this.vertexPropertiesRule = vertexPropertiesRule;
-        this.vertexPropertyKeys = sortKeys(vertexPropertyKeys, normalized);
-        this.edgePropertiesRule = edgePropertiesRule;
-        this.edgePropertyKeys = sortKeys(edgePropertyKeys, normalized);
-        this.normalized = normalized;
-    }
-
-    /**
-     * Construct a configuration that includes the specified properties from
-     * both vertices and edges.
-     */
-    public static AtlasElementPropertyConfig includeProperties(final Set<String> vertexPropertyKeys,
-                                                               final Set<String> edgePropertyKeys) {
-        return new AtlasElementPropertyConfig(vertexPropertyKeys, edgePropertyKeys, ElementPropertiesRule.INCLUDE,
-                ElementPropertiesRule.INCLUDE);
-    }
-
-    public static AtlasElementPropertyConfig includeProperties(final Set<String> vertexPropertyKeys,
-                                                               final Set<String> edgePropertyKeys,
-                                                               final boolean normalized) {
-        return new AtlasElementPropertyConfig(vertexPropertyKeys, edgePropertyKeys, ElementPropertiesRule.INCLUDE,
-                ElementPropertiesRule.INCLUDE, normalized);
-    }
-
-    /**
-     * Construct a configuration that excludes the specified properties from
-     * both vertices and edges.
-     */
-    public static AtlasElementPropertyConfig excludeProperties(final Set<String> vertexPropertyKeys,
-                                                               final Set<String> edgePropertyKeys) {
-        return new AtlasElementPropertyConfig(vertexPropertyKeys, edgePropertyKeys, ElementPropertiesRule.EXCLUDE,
-                ElementPropertiesRule.EXCLUDE);
-    }
-
-    public static AtlasElementPropertyConfig excludeProperties(final Set<String> vertexPropertyKeys,
-                                                               final Set<String> edgePropertyKeys,
-                                                               final boolean normalized) {
-        return new AtlasElementPropertyConfig(vertexPropertyKeys, edgePropertyKeys, ElementPropertiesRule.EXCLUDE,
-                ElementPropertiesRule.EXCLUDE, normalized);
-    }
-
-    public List<String> getVertexPropertyKeys() {
-        return vertexPropertyKeys;
-    }
-
-    public List<String> getEdgePropertyKeys() {
-        return edgePropertyKeys;
-    }
-
-    public ElementPropertiesRule getVertexPropertiesRule() {
-        return vertexPropertiesRule;
-    }
-
-    public ElementPropertiesRule getEdgePropertiesRule() {
-        return edgePropertiesRule;
-    }
-
-    public boolean isNormalized() {
-        return normalized;
-    }
-
-    private static List<String> sortKeys(final Set<String> keys, final boolean normalized) {
-        final List<String> propertyKeyList;
-        if (keys != null) {
-            if (normalized) {
-                final List<String> sorted = new ArrayList<String>(keys);
-                Collections.sort(sorted);
-                propertyKeyList = sorted;
-            } else {
-                propertyKeyList = new ArrayList<String>(keys);
-            }
-        } else {
-            propertyKeyList = null;
-        }
-
-        return propertyKeyList;
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONMode.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONMode.java
deleted file mode 100644
index 2bab287..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONMode.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.graphson;
-
-/**
- * Modes of operation of the GraphSONUtility.
- *
- * @author Stephen Mallette
- */
-public enum AtlasGraphSONMode {
-    /**
-     * COMPACT constructs GraphSON on the assumption that all property keys
-     * are fair game for exclusion including _type, _inV, _outV, _label and _id.
-     * It is possible to write GraphSON that cannot be read back into Graph,
-     * if some or all of these keys are excluded.
-     */
-    COMPACT,
-
-    /**
-     * NORMAL includes the _type field and JSON data typing.
-     */
-    NORMAL,
-
-    /**
-     * EXTENDED includes the _type field and explicit data typing.
-     */
-    EXTENDED
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONTokens.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONTokens.java
deleted file mode 100644
index 49bbdb4..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONTokens.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.graphson;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-public final class AtlasGraphSONTokens {
-
-    private AtlasGraphSONTokens() {}
-
-    public static final String VERTEX = "vertex";
-    public static final String EDGE = "edge";
-    public static final String INTERNAL_ID = "_id";
-    public static final String INTERNAL_LABEL = "_label";
-    public static final String INTERNAL_TYPE = "_type";
-    public static final String INTERNAL_OUT_V = "_outV";
-    public static final String INTERNAL_IN_V = "_inV";
-    public static final String VALUE = "value";
-    public static final String TYPE = "type";
-    public static final String TYPE_LIST = "list";
-    public static final String TYPE_STRING = "string";
-    public static final String TYPE_DOUBLE = "double";
-    public static final String TYPE_INTEGER = "integer";
-    public static final String TYPE_FLOAT = "float";
-    public static final String TYPE_MAP = "map";
-    public static final String TYPE_BOOLEAN = "boolean";
-    public static final String TYPE_LONG = "long";
-    public static final String TYPE_SHORT = "short";
-    public static final String TYPE_BYTE = "byte";
-    public static final String TYPE_UNKNOWN = "unknown";
-
-    public static final String VERTICES = "vertices";
-    public static final String EDGES = "edges";
-    public static final String MODE = "mode";
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONUtility.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONUtility.java
deleted file mode 100644
index 26abe2e..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/graphson/AtlasGraphSONUtility.java
+++ /dev/null
@@ -1,513 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.graphson;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasElement;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.titan1.graphson.AtlasElementPropertyConfig.ElementPropertiesRule;
-import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
-import org.codehaus.jettison.json.JSONTokener;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-/**
- * This class was largely removed from tinkerpop 1. We're adding it back here to
- * avoid changing the format of the JSON that we produce.
- *
- * Helps write individual graph elements to TinkerPop JSON format known as
- * GraphSON.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-public final class AtlasGraphSONUtility {
-
-    private static final JsonNodeFactory JSON_NODE_FACTORY = JsonNodeFactory.instance;
-
-    private static final ObjectMapper MAPPER = new ObjectMapper();
-
-    private final AtlasGraphSONMode mode;
-    private final List<String> vertexPropertyKeys;
-    private final List<String> edgePropertyKeys;
-
-    private final ElementPropertiesRule vertexPropertiesRule;
-    private final ElementPropertiesRule edgePropertiesRule;
-    private final boolean normalized;
-
-    private final boolean includeReservedVertexId;
-    private final boolean includeReservedEdgeId;
-    private final boolean includeReservedVertexType;
-    private final boolean includeReservedEdgeType;
-    private final boolean includeReservedEdgeLabel;
-    private final boolean includeReservedEdgeOutV;
-    private final boolean includeReservedEdgeInV;
-
-    /**
-     * A GraphSONUtility that includes the specified properties.
-     */
-    private AtlasGraphSONUtility(final AtlasGraphSONMode mode, final Set<String> vertexPropertyKeySet,
-            final Set<String> edgePropertyKeySet) {
-
-        AtlasElementPropertyConfig config = AtlasElementPropertyConfig.includeProperties(vertexPropertyKeySet,
-                edgePropertyKeySet);
-
-        this.vertexPropertyKeys = config.getVertexPropertyKeys();
-        this.edgePropertyKeys = config.getEdgePropertyKeys();
-        this.vertexPropertiesRule = config.getVertexPropertiesRule();
-        this.edgePropertiesRule = config.getEdgePropertiesRule();
-        this.normalized = config.isNormalized();
-
-        this.mode = mode;
-
-        this.includeReservedVertexId = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_ID, vertexPropertyKeys,
-                this.vertexPropertiesRule);
-        this.includeReservedEdgeId = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_ID, edgePropertyKeys,
-                this.edgePropertiesRule);
-        this.includeReservedVertexType = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_TYPE, vertexPropertyKeys,
-                this.vertexPropertiesRule);
-        this.includeReservedEdgeType = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_TYPE, edgePropertyKeys,
-                this.edgePropertiesRule);
-        this.includeReservedEdgeLabel = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_LABEL, edgePropertyKeys,
-                this.edgePropertiesRule);
-        this.includeReservedEdgeOutV = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_OUT_V, edgePropertyKeys,
-                this.edgePropertiesRule);
-        this.includeReservedEdgeInV = includeReservedKey(mode, AtlasGraphSONTokens.INTERNAL_IN_V, edgePropertyKeys,
-                this.edgePropertiesRule);
-    }
-
-    /*
-     * Creates GraphSON for a single graph element.
-     */
-    private JSONObject jsonFromElement(final AtlasElement element) throws JSONException {
-        final ObjectNode objectNode = this.objectNodeFromElement(element);
-
-        try {
-            return new JSONObject(new JSONTokener(MAPPER.writeValueAsString(objectNode)));
-        } catch (IOException ioe) {
-            // repackage this as a JSONException...seems sensible as the caller will only know about
-            // the jettison object not being created
-            throw new JSONException(ioe);
-        }
-    }
-
-    /**
-     * Creates GraphSON for a single graph element.
-     */
-    private ObjectNode objectNodeFromElement(final AtlasElement element) {
-        final boolean isEdge = element instanceof AtlasEdge;
-        final boolean showTypes = mode == AtlasGraphSONMode.EXTENDED;
-        final List<String> propertyKeys = isEdge ? this.edgePropertyKeys : this.vertexPropertyKeys;
-        final ElementPropertiesRule elementPropertyConfig = isEdge ? this.edgePropertiesRule
-                : this.vertexPropertiesRule;
-
-        final ObjectNode jsonElement = createJSONMap(
-                createPropertyMap(element, propertyKeys, elementPropertyConfig, normalized), propertyKeys, showTypes);
-
-        if ((isEdge && this.includeReservedEdgeId) || (!isEdge && this.includeReservedVertexId)) {
-            putObject(jsonElement, AtlasGraphSONTokens.INTERNAL_ID, element.getId());
-        }
-
-        // it's important to keep the order of these straight.  check AtlasEdge first and then AtlasVertex because there
-        // are graph implementations that have AtlasEdge extend from AtlasVertex
-        if (element instanceof AtlasEdge) {
-            final AtlasEdge edge = (AtlasEdge) element;
-
-            if (this.includeReservedEdgeId) {
-                putObject(jsonElement, AtlasGraphSONTokens.INTERNAL_ID, element.getId());
-            }
-
-            if (this.includeReservedEdgeType) {
-                jsonElement.put(AtlasGraphSONTokens.INTERNAL_TYPE, AtlasGraphSONTokens.EDGE);
-            }
-
-            if (this.includeReservedEdgeOutV) {
-                putObject(jsonElement, AtlasGraphSONTokens.INTERNAL_OUT_V, edge.getOutVertex().getId());
-            }
-
-            if (this.includeReservedEdgeInV) {
-                putObject(jsonElement, AtlasGraphSONTokens.INTERNAL_IN_V, edge.getInVertex().getId());
-            }
-
-            if (this.includeReservedEdgeLabel) {
-                jsonElement.put(AtlasGraphSONTokens.INTERNAL_LABEL, edge.getLabel());
-            }
-        } else if (element instanceof AtlasVertex) {
-            if (this.includeReservedVertexId) {
-                putObject(jsonElement, AtlasGraphSONTokens.INTERNAL_ID, element.getId());
-            }
-
-            if (this.includeReservedVertexType) {
-                jsonElement.put(AtlasGraphSONTokens.INTERNAL_TYPE, AtlasGraphSONTokens.VERTEX);
-            }
-        }
-
-        return jsonElement;
-    }
-
-    /**
-     * Creates a Jettison JSONObject from a graph element.
-     *
-     * @param element
-     *            the graph element to convert to JSON.
-     * @param propertyKeys
-     *            The property getPropertyKeys() at the root of the element to
-     *            serialize. If null, then all getPropertyKeys() are serialized.
-     * @param mode
-     *            the type of GraphSON to be generated.
-     */
-    public static JSONObject jsonFromElement(final AtlasElement element, final Set<String> propertyKeys,
-                                             final AtlasGraphSONMode mode)
-        throws JSONException {
-
-        final AtlasGraphSONUtility graphson = element instanceof AtlasEdge
-                ? new AtlasGraphSONUtility(mode, null, propertyKeys)
-                : new AtlasGraphSONUtility(mode, propertyKeys, null);
-        return graphson.jsonFromElement(element);
-    }
-
-    private static ObjectNode objectNodeFromElement(final AtlasElement element, final List<String> propertyKeys,
-                                                    final AtlasGraphSONMode mode) {
-        final AtlasGraphSONUtility graphson = element instanceof AtlasEdge
-                ? new AtlasGraphSONUtility(mode, null, new HashSet<String>(propertyKeys))
-                : new AtlasGraphSONUtility(mode, new HashSet<String>(propertyKeys), null);
-        return graphson.objectNodeFromElement(element);
-    }
-
-    private static boolean includeReservedKey(final AtlasGraphSONMode mode, final String key,
-                                              final List<String> propertyKeys, final ElementPropertiesRule rule) {
-        // the key is always included in modes other than compact.  if it is compact, then validate that the
-        // key is in the property key list
-        return mode != AtlasGraphSONMode.COMPACT || includeKey(key, propertyKeys, rule);
-    }
-
-    private static boolean includeKey(final String key, final List<String> propertyKeys,
-                                      final ElementPropertiesRule rule) {
-        if (propertyKeys == null) {
-            // when null always include the key and shortcut this piece
-            return true;
-        }
-
-        // default the key situation.  if it's included then it should be explicitly defined in the
-        // property getPropertyKeys() list to be included or the reverse otherwise
-        boolean keySituation = rule == ElementPropertiesRule.INCLUDE;
-
-        switch (rule) {
-        case INCLUDE:
-            keySituation = propertyKeys.contains(key);
-            break;
-        case EXCLUDE:
-            keySituation = !propertyKeys.contains(key);
-            break;
-        default:
-            throw new RuntimeException("Unhandled rule: " + rule);
-        }
-
-        return keySituation;
-    }
-
-    private static ArrayNode createJSONList(final List<Object> list, final List<String> propertyKeys,
-                                            final boolean showTypes) {
-        final ArrayNode jsonList = JSON_NODE_FACTORY.arrayNode();
-        for (Object item : list) {
-            if (item instanceof AtlasElement) {
-                jsonList.add(objectNodeFromElement((AtlasElement) item, propertyKeys,
-                        showTypes ? AtlasGraphSONMode.EXTENDED : AtlasGraphSONMode.NORMAL));
-            } else if (item instanceof List) {
-                jsonList.add(createJSONList((List<Object>) item, propertyKeys, showTypes));
-            } else if (item instanceof Map) {
-                jsonList.add(createJSONMap((Map<String, Object>) item, propertyKeys, showTypes));
-            } else if (item != null && item.getClass().isArray()) {
-                jsonList.add(createJSONList(convertArrayToList(item), propertyKeys, showTypes));
-            } else {
-                addObject(jsonList, item);
-            }
-        }
-        return jsonList;
-    }
-
-    private static ObjectNode createJSONMap(final Map<String, Object> map, final List<String> propertyKeys,
-                                            final boolean showTypes) {
-        final ObjectNode jsonMap = JSON_NODE_FACTORY.objectNode();
-        for (Object key : map.keySet()) {
-            Object value = map.get(key);
-            if (value != null) {
-                if (value instanceof List) {
-                    value = createJSONList((List<Object>) value, propertyKeys, showTypes);
-                } else if (value instanceof Map) {
-                    value = createJSONMap((Map<String, Object>) value, propertyKeys, showTypes);
-                } else if (value instanceof AtlasElement) {
-                    value = objectNodeFromElement((AtlasElement) value, propertyKeys,
-                            showTypes ? AtlasGraphSONMode.EXTENDED : AtlasGraphSONMode.NORMAL);
-                } else if (value.getClass().isArray()) {
-                    value = createJSONList(convertArrayToList(value), propertyKeys, showTypes);
-                }
-            }
-
-            putObject(jsonMap, key.toString(), getValue(value, showTypes));
-        }
-        return jsonMap;
-
-    }
-
-    private static void addObject(final ArrayNode jsonList, final Object value) {
-        if (value == null) {
-            jsonList.add((JsonNode) null);
-        } else if (value.getClass() == Boolean.class) {
-            jsonList.add((Boolean) value);
-        } else if (value.getClass() == Long.class) {
-            jsonList.add((Long) value);
-        } else if (value.getClass() == Integer.class) {
-            jsonList.add((Integer) value);
-        } else if (value.getClass() == Float.class) {
-            jsonList.add((Float) value);
-        } else if (value.getClass() == Double.class) {
-            jsonList.add((Double) value);
-        } else if (value.getClass() == Byte.class) {
-            jsonList.add((Byte) value);
-        } else if (value.getClass() == Short.class) {
-            jsonList.add((Short) value);
-        } else if (value.getClass() == String.class) {
-            jsonList.add((String) value);
-        } else if (value instanceof ObjectNode) {
-            jsonList.add((ObjectNode) value);
-        } else if (value instanceof ArrayNode) {
-            jsonList.add((ArrayNode) value);
-        } else {
-            jsonList.add(value.toString());
-        }
-    }
-
-    private static void putObject(final ObjectNode jsonMap, final String key, final Object value) {
-        if (value == null) {
-            jsonMap.put(key, (JsonNode) null);
-        } else if (value.getClass() == Boolean.class) {
-            jsonMap.put(key, (Boolean) value);
-        } else if (value.getClass() == Long.class) {
-            jsonMap.put(key, (Long) value);
-        } else if (value.getClass() == Integer.class) {
-            jsonMap.put(key, (Integer) value);
-        } else if (value.getClass() == Float.class) {
-            jsonMap.put(key, (Float) value);
-        } else if (value.getClass() == Double.class) {
-            jsonMap.put(key, (Double) value);
-        } else if (value.getClass() == Short.class) {
-            jsonMap.put(key, (Short) value);
-        } else if (value.getClass() == Byte.class) {
-            jsonMap.put(key, (Byte) value);
-        } else if (value.getClass() == String.class) {
-            jsonMap.put(key, (String) value);
-        } else if (value instanceof ObjectNode) {
-            jsonMap.put(key, (ObjectNode) value);
-        } else if (value instanceof ArrayNode) {
-            jsonMap.put(key, (ArrayNode) value);
-        } else {
-            jsonMap.put(key, value.toString());
-        }
-    }
-
-    private static Map<String, Object> createPropertyMap(final AtlasElement element, final List<String> propertyKeys,
-                                                         final ElementPropertiesRule rule, final boolean normalized) {
-        final Map<String, Object> map = new HashMap<String, Object>();
-        final List<String> propertyKeyList;
-        if (normalized) {
-            final List<String> sorted = new ArrayList<String>(element.getPropertyKeys());
-            Collections.sort(sorted);
-            propertyKeyList = sorted;
-        } else {
-            propertyKeyList = new ArrayList<String>(element.getPropertyKeys());
-        }
-
-        if (propertyKeys == null) {
-            for (String key : propertyKeyList) {
-                final Object valToPutInMap = element.getProperty(key, Object.class);
-                if (valToPutInMap != null) {
-                    map.put(key, valToPutInMap);
-                }
-            }
-        } else {
-            if (rule == ElementPropertiesRule.INCLUDE) {
-                for (String key : propertyKeys) {
-                    final Object valToPutInMap = element.getProperty(key, Object.class);
-                    if (valToPutInMap != null) {
-                        map.put(key, valToPutInMap);
-                    }
-                }
-            } else {
-                for (String key : propertyKeyList) {
-                    if (!propertyKeys.contains(key)) {
-                        final Object valToPutInMap = element.getProperty(key, Object.class);
-                        if (valToPutInMap != null) {
-                            map.put(key, valToPutInMap);
-                        }
-                    }
-                }
-            }
-        }
-
-        return map;
-    }
-
-    private static Object getValue(Object value, final boolean includeType) {
-
-        Object returnValue = value;
-
-        // if the includeType is set to true then show the data types of the properties
-        if (includeType) {
-
-            // type will be one of: map, list, string, long, int, double, float.
-            // in the event of a complex object it will call a toString and store as a
-            // string
-            String type = determineType(value);
-
-            ObjectNode valueAndType = JSON_NODE_FACTORY.objectNode();
-            valueAndType.put(AtlasGraphSONTokens.TYPE, type);
-
-            if (type.equals(AtlasGraphSONTokens.TYPE_LIST)) {
-
-                // values of lists must be accumulated as ObjectNode objects under the value key.
-                // will return as a ArrayNode. called recursively to traverse the entire
-                // object graph of each item in the array.
-                ArrayNode list = (ArrayNode) value;
-
-                // there is a set of values that must be accumulated as an array under a key
-                ArrayNode valueArray = valueAndType.putArray(AtlasGraphSONTokens.VALUE);
-                for (int ix = 0; ix < list.size(); ix++) {
-                    // the value of each item in the array is a node object from an ArrayNode...must
-                    // get the value of it.
-                    addObject(valueArray, getValue(getTypedValueFromJsonNode(list.get(ix)), includeType));
-                }
-
-            } else if (type.equals(AtlasGraphSONTokens.TYPE_MAP)) {
-
-                // maps are converted to a ObjectNode.  called recursively to traverse
-                // the entire object graph within the map.
-                ObjectNode convertedMap = JSON_NODE_FACTORY.objectNode();
-                ObjectNode jsonObject = (ObjectNode) value;
-                Iterator<?> keyIterator = jsonObject.fieldNames();
-                while (keyIterator.hasNext()) {
-                    Object key = keyIterator.next();
-
-                    // no need to getValue() here as this is already a ObjectNode and should have type info
-                    convertedMap.put(key.toString(), jsonObject.get(key.toString()));
-                }
-
-                valueAndType.put(AtlasGraphSONTokens.VALUE, convertedMap);
-            } else {
-
-                // this must be a primitive value or a complex object.  if a complex
-                // object it will be handled by a call to toString and stored as a
-                // string value
-                putObject(valueAndType, AtlasGraphSONTokens.VALUE, value);
-            }
-
-            // this goes back as a JSONObject with data type and value
-            returnValue = valueAndType;
-        }
-
-        return returnValue;
-    }
-
-    private static Object getTypedValueFromJsonNode(JsonNode node) {
-        Object theValue = null;
-
-        if (node != null && !node.isNull()) {
-            if (node.isBoolean()) {
-                theValue = node.booleanValue();
-            } else if (node.isDouble()) {
-                theValue = node.doubleValue();
-            } else if (node.isFloatingPointNumber()) {
-                theValue = node.floatValue();
-            } else if (node.isInt()) {
-                theValue = node.intValue();
-            } else if (node.isLong()) {
-                theValue = node.longValue();
-            } else if (node.isTextual()) {
-                theValue = node.textValue();
-            } else if (node.isArray()) {
-                // this is an array so just send it back so that it can be
-                // reprocessed to its primitive components
-                theValue = node;
-            } else if (node.isObject()) {
-                // this is an object so just send it back so that it can be
-                // reprocessed to its primitive components
-                theValue = node;
-            } else {
-                theValue = node.textValue();
-            }
-        }
-
-        return theValue;
-    }
-
-    private static List<Object> convertArrayToList(final Object value) {
-        final ArrayList<Object> list = new ArrayList<Object>();
-        int arrlength = Array.getLength(value);
-        for (int i = 0; i < arrlength; i++) {
-            Object object = Array.get(value, i);
-            list.add(object);
-        }
-        return list;
-    }
-
-    private static String determineType(final Object value) {
-        String type = AtlasGraphSONTokens.TYPE_STRING;
-        if (value == null) {
-            type = AtlasGraphSONTokens.TYPE_UNKNOWN;
-        } else if (value.getClass() == Double.class) {
-            type = AtlasGraphSONTokens.TYPE_DOUBLE;
-        } else if (value.getClass() == Float.class) {
-            type = AtlasGraphSONTokens.TYPE_FLOAT;
-        } else if (value.getClass() == Byte.class) {
-            type = AtlasGraphSONTokens.TYPE_BYTE;
-        } else if (value.getClass() == Short.class) {
-            type = AtlasGraphSONTokens.TYPE_SHORT;
-        } else if (value.getClass() == Integer.class) {
-            type = AtlasGraphSONTokens.TYPE_INTEGER;
-        } else if (value.getClass() == Long.class) {
-            type = AtlasGraphSONTokens.TYPE_LONG;
-        } else if (value.getClass() == Boolean.class) {
-            type = AtlasGraphSONTokens.TYPE_BOOLEAN;
-        } else if (value instanceof ArrayNode) {
-            type = AtlasGraphSONTokens.TYPE_LIST;
-        } else if (value instanceof ObjectNode) {
-            type = AtlasGraphSONTokens.TYPE_MAP;
-        }
-
-        return type;
-    }
-
-    static class ElementFactory {
-
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/NativeTitan1GraphQuery.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/NativeTitan1GraphQuery.java
deleted file mode 100644
index 733964d..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/NativeTitan1GraphQuery.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.query;
-
-import com.thinkaurelius.titan.core.TitanEdge;
-import com.thinkaurelius.titan.core.TitanGraphQuery;
-import com.thinkaurelius.titan.core.TitanVertex;
-import com.thinkaurelius.titan.core.attribute.Contain;
-import com.thinkaurelius.titan.core.attribute.Text;
-import com.thinkaurelius.titan.graphdb.query.TitanPredicate;
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery.ComparisionOperator;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery.MatchingOperator;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery.QueryOperator;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.repository.graphdb.tinkerpop.query.NativeTinkerpopGraphQuery;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Edge;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Graph;
-import org.apache.atlas.repository.graphdb.titan1.Titan1GraphDatabase;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Vertex;
-import org.apache.tinkerpop.gremlin.process.traversal.Compare;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import java.util.*;
-
-/**
- * Titan 1.0.0 implementation of NativeTinkerpopGraphQuery.
- */
-public class NativeTitan1GraphQuery implements NativeTinkerpopGraphQuery<Titan1Vertex, Titan1Edge> {
-
-    private Titan1Graph graph;
-    private TitanGraphQuery<?> query;
-
-    public NativeTitan1GraphQuery(Titan1Graph graph) {
-        this.query = Titan1GraphDatabase.getGraphInstance().query();
-        this.graph = graph;
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> vertices() {
-        Iterable<TitanVertex> it = query.vertices();
-        return graph.wrapVertices(it);
-    }
-
-    @Override
-    public Iterable<AtlasEdge<Titan1Vertex, Titan1Edge>> edges() {
-        Iterable<TitanEdge> it = query.edges();
-        return graph.wrapEdges(it);
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> vertices(int limit) {
-        Iterable<TitanVertex> it = query.limit(limit).vertices();
-        return graph.wrapVertices(it);
-    }
-
-    @Override
-    public Iterable<AtlasVertex<Titan1Vertex, Titan1Edge>> vertices(int offset, int limit) {
-        List<Vertex>               result = new ArrayList<>(limit);
-        Iterator<? extends Vertex> iter   = query.limit(offset + limit).vertices().iterator();
-
-        for (long resultIdx = 0; iter.hasNext() && result.size() < limit; resultIdx++) {
-            if (resultIdx < offset) {
-                continue;
-            }
-
-            result.add(iter.next());
-        }
-
-        return graph.wrapVertices(result);
-    }
-
-    @Override
-    public void in(String propertyName, Collection<? extends Object> values) {
-        query.has(propertyName, Contain.IN, values);
-
-    }
-
-    @Override
-    public void has(String propertyName, QueryOperator op, Object value) {
-        TitanPredicate pred;
-        if (op instanceof ComparisionOperator) {
-            Compare c = getGremlinPredicate((ComparisionOperator) op);
-            pred = TitanPredicate.Converter.convert(c);
-        } else {
-            pred = getGremlinPredicate((MatchingOperator)op);
-        }
-        query.has(propertyName, pred, value);
-    }
-
-    private Text getGremlinPredicate(MatchingOperator op) {
-        switch (op) {
-            case CONTAINS:
-                return Text.CONTAINS;
-            case PREFIX:
-                return Text.PREFIX;
-            case SUFFIX:
-                return Text.CONTAINS_REGEX;
-            case REGEX:
-                return Text.REGEX;
-            default:
-                throw new RuntimeException("Unsupported matching operator:" + op);
-        }
-    }
-
-    private Compare getGremlinPredicate(ComparisionOperator op) {
-        switch (op) {
-            case EQUAL:
-                return Compare.eq;
-            case GREATER_THAN:
-                return Compare.gt;
-            case GREATER_THAN_EQUAL:
-                return Compare.gte;
-            case LESS_THAN:
-                return Compare.lt;
-            case LESS_THAN_EQUAL:
-                return Compare.lte;
-            case NOT_EQUAL:
-                return Compare.neq;
-
-            default:
-                throw new RuntimeException("Unsupported comparison operator:" + op);
-        }
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/Titan1GraphQuery.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/Titan1GraphQuery.java
deleted file mode 100644
index dd0176b..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/query/Titan1GraphQuery.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.query;
-
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery;
-import org.apache.atlas.repository.graphdb.tinkerpop.query.TinkerpopGraphQuery;
-import org.apache.atlas.repository.graphdb.tinkerpop.query.NativeTinkerpopGraphQuery;
-import org.apache.atlas.repository.graphdb.tinkerpop.query.NativeTinkerpopQueryFactory;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Edge;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Graph;
-import org.apache.atlas.repository.graphdb.titan1.Titan1Vertex;
-/**
- * Titan 1.0.0 implementation of TitanGraphQuery.
- */
-public class Titan1GraphQuery extends TinkerpopGraphQuery<Titan1Vertex, Titan1Edge>
-        implements NativeTinkerpopQueryFactory<Titan1Vertex, Titan1Edge> {
-
-    public Titan1GraphQuery(Titan1Graph graph, boolean isChildQuery) {
-        super(graph, isChildQuery);
-    }
-
-    public Titan1GraphQuery(Titan1Graph graph) {
-        super(graph);
-    }
-
-    @Override
-    public AtlasGraphQuery<Titan1Vertex, Titan1Edge> createChildQuery() {
-        return new Titan1GraphQuery((Titan1Graph) graph, true);
-    }
-
-    @Override
-    protected NativeTinkerpopQueryFactory<Titan1Vertex, Titan1Edge> getQueryFactory() {
-        return this;
-    }
-
-    @Override
-    public NativeTinkerpopGraphQuery<Titan1Vertex, Titan1Edge> createNativeTinkerpopQuery() {
-        return new NativeTitan1GraphQuery((Titan1Graph) graph);
-    }
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigDecimalSerializer.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigDecimalSerializer.java
deleted file mode 100644
index c1a096d..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigDecimalSerializer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.serializer;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import com.thinkaurelius.titan.core.attribute.AttributeSerializer;
-import com.thinkaurelius.titan.diskstorage.ScanBuffer;
-import com.thinkaurelius.titan.diskstorage.WriteBuffer;
-/**
- * Serializer for BigDecimal values.
- */
-public class BigDecimalSerializer implements AttributeSerializer<BigDecimal> {
-
-    private final BigIntegerSerializer bigIntegerDelegate = new BigIntegerSerializer();
-
-    @Override
-    public BigDecimal read(ScanBuffer buffer) {
-        BigInteger unscaledVal = bigIntegerDelegate.read(buffer);
-        int scale = buffer.getInt();
-        return new BigDecimal(unscaledVal, scale);
-    }
-
-    @Override
-    public void write(WriteBuffer buffer, BigDecimal attribute) {
-        BigInteger unscaledVal = attribute.unscaledValue();
-        int scale = attribute.scale();
-        bigIntegerDelegate.write(buffer, unscaledVal);
-        buffer.putInt(scale);
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigIntegerSerializer.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigIntegerSerializer.java
deleted file mode 100644
index dfda9f6..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/BigIntegerSerializer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.serializer;
-
-import java.math.BigInteger;
-
-import com.thinkaurelius.titan.core.attribute.AttributeSerializer;
-import com.thinkaurelius.titan.diskstorage.ScanBuffer;
-import com.thinkaurelius.titan.diskstorage.WriteBuffer;
-import com.thinkaurelius.titan.graphdb.database.serialize.attribute.ByteArraySerializer;
-
-/**
- * Serializer for BigInteger values.
- */
-public class BigIntegerSerializer implements AttributeSerializer<BigInteger> {
-
-    private final ByteArraySerializer delegate = new ByteArraySerializer();
-
-    @Override
-    public BigInteger read(ScanBuffer buffer) {
-        byte[] value = delegate.read(buffer);
-        return new BigInteger(value);
-    }
-
-    @Override
-    public void write(WriteBuffer buffer, BigInteger attribute) {
-        byte[] value = attribute.toByteArray();
-        delegate.write(buffer, value);
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/StringListSerializer.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/StringListSerializer.java
deleted file mode 100644
index eb99fae..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/StringListSerializer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.serializer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.thinkaurelius.titan.core.attribute.AttributeSerializer;
-import com.thinkaurelius.titan.diskstorage.ScanBuffer;
-import com.thinkaurelius.titan.diskstorage.WriteBuffer;
-import com.thinkaurelius.titan.graphdb.database.idhandling.VariableLong;
-import com.thinkaurelius.titan.graphdb.database.serialize.attribute.StringSerializer;
-/**
- * Serializer for String lists.
- */
-public class StringListSerializer implements AttributeSerializer<List<String>> {
-
-    private final StringSerializer stringSerializer = new StringSerializer();
-
-    @Override
-    public List<String> read(ScanBuffer buffer) {
-        int length = (int)VariableLong.readPositive(buffer);
-        List<String> result = new ArrayList<String>(length);
-        for(int i = 0; i < length; i++) {
-            result.add(stringSerializer.read(buffer));
-        }
-        return result;
-    }
-
-    @Override
-    public void write(WriteBuffer buffer, List<String> attributes) {
-        VariableLong.writePositive(buffer, attributes.size());
-        for(String attr : attributes) {
-            stringSerializer.write(buffer, attr);
-        }
-    }
-
-}
diff --git a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/TypeCategorySerializer.java b/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/TypeCategorySerializer.java
deleted file mode 100644
index c3e2d1c..0000000
--- a/graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/serializer/TypeCategorySerializer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1.serializer;
-
-import org.apache.atlas.typesystem.types.DataTypes.TypeCategory;
-
-import com.thinkaurelius.titan.graphdb.database.serialize.attribute.EnumSerializer;
-
-/**
- * Serializer for TypeCategory value.
- */
-public class TypeCategorySerializer extends EnumSerializer<TypeCategory> {
-    public TypeCategorySerializer() {
-        super(TypeCategory.class);
-    }
-}
diff --git a/graphdb/titan1/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory b/graphdb/titan1/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory
deleted file mode 100644
index 24c8a75..0000000
--- a/graphdb/titan1/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngineFactory
diff --git a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/AbstractGraphDatabaseTest.java b/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/AbstractGraphDatabaseTest.java
deleted file mode 100644
index 06e2785..0000000
--- a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/AbstractGraphDatabaseTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import org.apache.atlas.graph.GraphSandboxUtil;
-import org.apache.atlas.repository.Constants;
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.atlas.repository.graphdb.AtlasGraphManagement;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- *
- */
-public abstract class AbstractGraphDatabaseTest {
-
-    protected static final String WEIGHT_PROPERTY = "weight";
-    protected static final String TRAIT_NAMES = Constants.TRAIT_NAMES_PROPERTY_KEY;
-    protected static final String TYPE_PROPERTY_NAME = "__type";
-    protected static final String TYPESYSTEM = "TYPESYSTEM";
-
-    private static final String BACKING_INDEX_NAME = "backing";
-
-    private AtlasGraph<?, ?> graph = null;
-
-    @BeforeClass
-    public static void createIndices() {
-        GraphSandboxUtil.create();
-
-        Titan1GraphDatabase db = new Titan1GraphDatabase();
-        AtlasGraphManagement mgmt = db.getGraph().getManagementSystem();
-
-        if (mgmt.getGraphIndex(BACKING_INDEX_NAME) == null) {
-            mgmt.createVertexIndex(BACKING_INDEX_NAME, Constants.BACKING_INDEX,
-                    Collections.<AtlasPropertyKey>emptyList());
-        }
-        mgmt.makePropertyKey("age13", Integer.class, AtlasCardinality.SINGLE);
-
-        createIndices(mgmt, "name", String.class, false, AtlasCardinality.SINGLE);
-        createIndices(mgmt, WEIGHT_PROPERTY, Integer.class, false, AtlasCardinality.SINGLE);
-        createIndices(mgmt, "size15", String.class, false, AtlasCardinality.SINGLE);
-        createIndices(mgmt, "typeName", String.class, false, AtlasCardinality.SINGLE);
-        createIndices(mgmt, "__type", String.class, false, AtlasCardinality.SINGLE);
-        createIndices(mgmt, Constants.GUID_PROPERTY_KEY, String.class, true, AtlasCardinality.SINGLE);
-        createIndices(mgmt, Constants.TRAIT_NAMES_PROPERTY_KEY, String.class, false, AtlasCardinality.SET);
-        createIndices(mgmt, Constants.SUPER_TYPES_PROPERTY_KEY, String.class, false, AtlasCardinality.SET);
-        mgmt.commit();
-    }
-
-    @AfterMethod
-    public void commitGraph() {
-        //force any pending actions to be committed so we can be sure they don't cause errors.
-        pushChangesAndFlushCache();
-        getGraph().commit();
-    }
-
-    @AfterClass
-    public static void cleanUp() {
-        Titan1Graph graph = new Titan1Graph();
-        graph.clear();
-
-    }
-
-    protected <V, E> void pushChangesAndFlushCache() {
-        getGraph().commit();
-    }
-
-    private static void createIndices(AtlasGraphManagement management, String propertyName, Class propertyClass,
-            boolean isUnique, AtlasCardinality cardinality) {
-
-        if (management.containsPropertyKey(propertyName)) {
-            //index was already created
-            return;
-        }
-
-        AtlasPropertyKey key = management.makePropertyKey(propertyName, propertyClass, cardinality);
-        try {
-            if (propertyClass != Integer.class) {
-                management.addVertexIndexKey(BACKING_INDEX_NAME, key);
-            }
-        } catch(Throwable t) {
-            //ok
-            t.printStackTrace();
-        }
-        try {
-            management.createExactMatchIndex(propertyName, isUnique, Collections.singletonList(key));
-
-        } catch(Throwable t) {
-            //ok
-            t.printStackTrace();
-        }
-
-
-    }
-
-
-
-
-    protected final <V, E> AtlasGraph<V, E> getGraph() {
-        if (graph == null) {
-            graph = new Titan1Graph();
-        }
-        return (AtlasGraph<V, E>)graph;
-    }
-
-    protected Titan1Graph getTitan1Graph() {
-        AtlasGraph g = getGraph();
-        return (Titan1Graph)g;
-    }
-
-
-    protected List<AtlasVertex> newVertices = new ArrayList<>();
-
-    protected final <V, E> AtlasVertex<V, E> createVertex(AtlasGraph<V, E> theGraph) {
-        AtlasVertex<V, E> vertex = theGraph.addVertex();
-        newVertices.add(vertex);
-        return vertex;
-    }
-
-    @AfterMethod
-    public void removeVertices() {
-        for(AtlasVertex vertex : newVertices) {
-            if (vertex.exists()) {
-                getGraph().removeVertex(vertex);
-            }
-        }
-        getGraph().commit();
-        newVertices.clear();
-    }
-    protected void runSynchronouslyInNewThread(final Runnable r) throws Throwable {
-
-        RunnableWrapper wrapper = new RunnableWrapper(r);
-        Thread th = new Thread(wrapper);
-        th.start();
-        th.join();
-        Throwable ex = wrapper.getExceptionThrown();
-        if (ex != null) {
-            throw ex;
-        }
-    }
-
-    private static final class RunnableWrapper implements Runnable {
-        private final Runnable r;
-        private Throwable exceptionThrown = null;
-
-        private RunnableWrapper(Runnable r) {
-            this.r = r;
-        }
-
-        @Override
-        public void run() {
-            try {
-                r.run();
-            } catch(Throwable e) {
-                exceptionThrown = e;
-            }
-
-        }
-
-        public Throwable getExceptionThrown() {
-            return exceptionThrown;
-        }
-    }
-
-}
diff --git a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/GraphQueryTest.java b/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/GraphQueryTest.java
deleted file mode 100644
index 45fbbea..0000000
--- a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/GraphQueryTest.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-
-
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery.ComparisionOperator;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-
-
-
-/**
- * Tests for Titan1GraphQuery.
- */
-@Test
-public class GraphQueryTest extends AbstractGraphDatabaseTest {
-
-
-    @Test
-    public <V, E> void testQueryThatCannotRunInMemory() throws AtlasException {
-        AtlasGraph<V, E> graph = getGraph();
-        AtlasVertex<V, E> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-
-        AtlasVertex<V, E> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-
-        graph.commit();
-
-        AtlasVertex<V, E> v4 = createVertex(graph);
-        v4.setProperty("name", "Fred");
-        v4.setProperty("size15", "15");
-
-        AtlasGraphQuery q = graph.query();
-        q.has("name", ComparisionOperator.NOT_EQUAL, "George");
-        q.has("size15", "15");
-        graph.commit();
-        pause(); //pause to let the index get updated
-
-        assertQueryMatches(q, v1, v3, v4);
-
-    }
-
-    @Test
-    public  void testCombinationOfAndsAndOrs() throws AtlasException {
-        Titan1Graph graph = getTitan1Graph();
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-        v1.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v2 = createVertex(graph);
-        v2.setProperty("name", "George");
-        v2.setProperty("size15", "16");
-        v2.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v3 = createVertex(graph);
-        v3.setProperty("name", "Jane");
-        v3.setProperty("size15", "17");
-        v3.setProperty("typeName", "Person");
-
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v4 = createVertex(graph);
-        v4.setProperty("name", "Bob");
-        v4.setProperty("size15", "18");
-        v4.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v5 = createVertex(graph);
-        v5.setProperty("name", "Julia");
-        v5.setProperty("size15", "19");
-        v5.setProperty("typeName", "Manager");
-
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("typeName", "Person");
-        //initially match
-        AtlasGraphQuery inner1a = q.createChildQuery();
-        AtlasGraphQuery inner1b = q.createChildQuery();
-        inner1a.has("name", "Fred");
-        inner1b.has("name", "Jane");
-        q.or(toList(inner1a, inner1b));
-
-
-        AtlasGraphQuery inner2a = q.createChildQuery();
-        AtlasGraphQuery inner2b = q.createChildQuery();
-        AtlasGraphQuery inner2c = q.createChildQuery();
-        inner2a.has("size15", "18");
-        inner2b.has("size15", "15");
-        inner2c.has("size15", "16");
-        q.or(toList(inner2a, inner2b, inner2c));
-
-        assertQueryMatches(q, v1);
-        graph.commit();
-        pause(); //let the index update
-        assertQueryMatches(q, v1);
-    }
-
-    @Test
-    public  void testWithinStep() throws AtlasException {
-        Titan1Graph graph = getTitan1Graph();
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-        v1.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v2 = createVertex(graph);
-        v2.setProperty("name", "George");
-        v2.setProperty("size15", "16");
-        v2.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v3 = createVertex(graph);
-        v3.setProperty("name", "Jane");
-        v3.setProperty("size15", "17");
-        v3.setProperty("typeName", "Person");
-
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v4 = createVertex(graph);
-        v4.setProperty("name", "Bob");
-        v4.setProperty("size15", "18");
-        v4.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v5 = createVertex(graph);
-        v5.setProperty("name", "Julia");
-        v5.setProperty("size15", "19");
-        v5.setProperty("typeName", "Manager");
-
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("typeName", "Person");
-        //initially match
-        q.in("name", toList("Fred", "Jane"));
-        q.in("size15", toList("18", "15", "16"));
-
-        assertQueryMatches(q, v1);
-        graph.commit();
-        pause(); //let the index update
-        assertQueryMatches(q, v1);
-    }
-
-    @Test
-    public  void testWithinStepWhereGraphIsStale() throws AtlasException {
-        Titan1Graph graph = getTitan1Graph();
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-        v1.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v2 = createVertex(graph);
-        v2.setProperty("name", "George");
-        v2.setProperty("size15", "16");
-        v2.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v3 = createVertex(graph);
-        v3.setProperty("name", "Jane");
-        v3.setProperty("size15", "17");
-        v3.setProperty("typeName", "Person");
-
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v4 = createVertex(graph);
-        v4.setProperty("name", "Bob");
-        v4.setProperty("size15", "18");
-        v4.setProperty("typeName", "Person");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v5 = createVertex(graph);
-        v5.setProperty("name", "Julia");
-        v5.setProperty("size15", "19");
-        v5.setProperty("typeName", "Manager");
-
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("typeName", "Person");
-        //initially match
-        q.in("name", toList("Fred", "Jane"));
-
-        graph.commit();
-        pause(); //let the index update
-        assertQueryMatches(q, v1, v3);
-      //make v3 no longer match the query.  Within step should filter out the vertex since it no longer matches.
-        v3.setProperty("name", "Janet");
-        assertQueryMatches(q, v1);
-    }
-
-    @Test
-    public  void testSimpleOrQuery() throws AtlasException {
-        Titan1Graph graph = getTitan1Graph();
-
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-
-        graph.commit();
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v4 = createVertex(graph);
-        v4.setProperty("name", "Fred");
-        v4.setProperty("size15", "15");
-
-        AtlasVertex<Titan1Vertex, Titan1Edge> v5 = createVertex(graph);
-        v5.setProperty("name", "George");
-        v5.setProperty("size15", "16");
-
-        AtlasGraphQuery q = graph.query();
-        AtlasGraphQuery inner1 = q.createChildQuery().has("name", "Fred");
-        AtlasGraphQuery inner2 = q.createChildQuery().has("size15", "15");
-        q.or(toList(inner1, inner2));
-        assertQueryMatches(q, v1, v2, v3, v4);
-        graph.commit();
-        pause(); //pause to let the indexer get updated (this fails frequently without a pause)
-        assertQueryMatches(q, v1, v2, v3, v4);
-    }
-
-
-
-
-    @Test
-    public <V, E> void testQueryMatchesAddedVertices() throws AtlasException {
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-
-        AtlasVertex<V, E> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-
-        graph.commit();
-
-        AtlasVertex<V, E> v4 = createVertex(graph);
-        v4.setProperty("name", "Fred");
-        v4.setProperty("size15", "15");
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("name", "Fred");
-        q.has("size15", "15");
-
-        assertQueryMatches(q, v1, v4);
-        graph.commit();
-        assertQueryMatches(q, v1, v4);
-
-    }
-
-
-    @Test
-    public <V, E> void testQueryDoesNotMatchRemovedVertices() throws AtlasException {
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-
-        AtlasVertex<V, E> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v4 = createVertex(graph);
-        v4.setProperty("name", "Fred");
-        v4.setProperty("size15", "15");
-
-        graph.commit();
-
-        graph.removeVertex(v1);
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("name", "Fred");
-        q.has("size15", "15");
-
-        assertQueryMatches(q, v4);
-        graph.commit();
-
-        assertQueryMatches(q, v4);
-    }
-
-    @Test
-    public <V, E> void testQueryDoesNotMatchUncommittedAddedAndRemovedVertices() throws AtlasException {
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> v1 = createVertex(graph);
-
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-
-        AtlasVertex<V, E> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-
-        AtlasVertex<V, E> v4 = createVertex(graph);
-        v4.setProperty("name", "Fred");
-        v4.setProperty("size15", "15");
-
-
-        AtlasGraphQuery q = getGraphQuery();
-        q.has("name", "Fred");
-        q.has("size15", "15");
-
-        assertQueryMatches(q, v1, v4);
-
-        graph.removeVertex(v1);
-
-
-        assertQueryMatches(q, v4);
-        graph.commit();
-
-        assertQueryMatches(q, v4);
-    }
-
-
-    @Test
-    public <V, E> void testQueryResultsReflectPropertyAdd() throws AtlasException {
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> v1 = createVertex(graph);
-        v1.setProperty("name", "Fred");
-        v1.setProperty("size15", "15");
-        v1.addProperty(TRAIT_NAMES, "trait1");
-        v1.addProperty(TRAIT_NAMES, "trait2");
-
-        AtlasVertex<V, E> v2 = createVertex(graph);
-        v2.setProperty("name", "Fred");
-        v2.addProperty(TRAIT_NAMES, "trait1");
-
-        AtlasVertex<V, E> v3 = createVertex(graph);
-        v3.setProperty("size15", "15");
-        v3.addProperty(TRAIT_NAMES, "trait2");
-
-        AtlasGraphQuery query = getGraphQuery();
-        query.has("name", "Fred");
-        query.has(TRAIT_NAMES, "trait1");
-        query.has("size15", "15");
-
-        assertQueryMatches(query, v1);
-        //make v3 match the query
-        v3.setProperty("name", "Fred");
-        v3.addProperty(TRAIT_NAMES, "trait1");
-        assertQueryMatches(query, v1, v3);
-        v3.removeProperty(TRAIT_NAMES);
-        assertQueryMatches(query, v1);
-        v3.addProperty(TRAIT_NAMES, "trait2");
-        assertQueryMatches(query, v1);
-        v1.removeProperty(TRAIT_NAMES);
-        assertQueryMatches(query);
-        graph.commit();
-        assertQueryMatches(query);
-
-    }
-
-    private static <T> List<T> toList(Iterable<T> itr) {
-        List<T> result = new ArrayList<T>();
-        for(T object : itr) {
-            result.add(object);
-        }
-        return result;
-
-    }
-
-    private <V, E> void assertQueryMatches(AtlasGraphQuery expr, AtlasVertex... expectedResults) throws AtlasException {
-
-        //getGraph().commit();
-        Collection<AtlasVertex<Titan1Vertex, Titan1Edge>> temp = toList(expr.vertices());
-        //filter out vertices from previous test executions
-        Collection<AtlasVertex<Titan1Vertex, Titan1Edge>> result =
-                Collections2.filter(temp, new Predicate<AtlasVertex<Titan1Vertex, Titan1Edge>>() {
-
-                    @Override
-                    public boolean apply(AtlasVertex<Titan1Vertex, Titan1Edge> input) {
-                        return newVertices.contains(input);
-                    }
-
-                });
-        String errorMessage = "Expected/found result sizes differ.  Expected: "
-                + Arrays.asList(expectedResults).toString() +", found: " + result;
-        assertEquals(errorMessage, expectedResults.length, result.size());
-
-        for(AtlasVertex<V, E> v : expectedResults) {
-            assertTrue(result.contains(v));
-        }
-    }
-
-    private static List<Object> toList(Object...objects) {
-        return Arrays.asList(objects);
-    }
-
-    private AtlasGraphQuery<Titan1Vertex, Titan1Edge> getGraphQuery() {
-        return getTitan1Graph().query();
-    }
-
-    private void pause() {
-        try {
-            Thread.sleep(5000);
-        } catch(InterruptedException e) {
-           //ignore
-        }
-    }
-}
diff --git a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/Titan1DatabaseTest.java b/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/Titan1DatabaseTest.java
deleted file mode 100644
index ab2c8c9..0000000
--- a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/Titan1DatabaseTest.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.atlas.repository.graphdb.titan1;
-
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.graph.GraphSandboxUtil;
-import org.apache.atlas.repository.Constants;
-import org.apache.atlas.repository.graphdb.AtlasCardinality;
-import org.apache.atlas.repository.graphdb.AtlasEdge;
-import org.apache.atlas.repository.graphdb.AtlasEdgeDirection;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.atlas.repository.graphdb.AtlasGraphManagement;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery;
-import org.apache.atlas.repository.graphdb.AtlasGraphQuery.ComparisionOperator;
-import org.apache.atlas.repository.graphdb.AtlasPropertyKey;
-import org.apache.atlas.repository.graphdb.AtlasVertex;
-import org.apache.atlas.typesystem.types.DataTypes.TypeCategory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.Test;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import static org.testng.Assert.*;
-
-/**
- * Sanity test of basic graph operations using the Titan 0.5.4 graphdb
- * abstraction layer implementation.
- */
-public class Titan1DatabaseTest {
-
-    private AtlasGraph<?, ?> atlasGraph;
-
-    private <V, E> AtlasGraph<V, E> getGraph() {
-        GraphSandboxUtil.create();
-
-        if (atlasGraph == null) {
-            Titan1GraphDatabase db = new Titan1GraphDatabase();
-            atlasGraph = db.getGraph();
-            AtlasGraphManagement mgmt = atlasGraph.getManagementSystem();
-            // create the index (which defines these properties as being mult
-            // many)
-            for (String propertyName : new String[]{"__superTypeNames", "__traitNames"}) {
-                AtlasPropertyKey propertyKey = mgmt.getPropertyKey(propertyName);
-                if (propertyKey == null) {
-                    propertyKey = mgmt.makePropertyKey(propertyName, String.class, AtlasCardinality.SET);
-                    mgmt.createExactMatchIndex(propertyName, false, Collections.singletonList(propertyKey));
-                }
-            }
-            mgmt.commit();
-        }
-        return (AtlasGraph<V, E>) atlasGraph;
-    }
-
-    @AfterClass
-    public void cleanup() {
-        atlasGraph.clear();
-        atlasGraph = null;
-
-    }
-
-    @Test
-    public <V, E> void testPropertyDataTypes() {
-
-        // primitives
-        AtlasGraph<V, E> graph = getGraph();
-
-        testProperty(graph, "booleanProperty", Boolean.TRUE);
-        testProperty(graph, "booleanProperty", Boolean.FALSE);
-        testProperty(graph, "booleanProperty", new Boolean(Boolean.TRUE));
-        testProperty(graph, "booleanProperty", new Boolean(Boolean.FALSE));
-
-        testProperty(graph, "byteProperty", Byte.MAX_VALUE);
-        testProperty(graph, "byteProperty", Byte.MIN_VALUE);
-        testProperty(graph, "byteProperty", new Byte(Byte.MAX_VALUE));
-        testProperty(graph, "byteProperty", new Byte(Byte.MIN_VALUE));
-
-        testProperty(graph, "shortProperty", Short.MAX_VALUE);
-        testProperty(graph, "shortProperty", Short.MIN_VALUE);
-        testProperty(graph, "shortProperty", new Short(Short.MAX_VALUE));
-        testProperty(graph, "shortProperty", new Short(Short.MIN_VALUE));
-
-        testProperty(graph, "intProperty", Integer.MAX_VALUE);
-        testProperty(graph, "intProperty", Integer.MIN_VALUE);
-        testProperty(graph, "intProperty", new Integer(Integer.MAX_VALUE));
-        testProperty(graph, "intProperty", new Integer(Integer.MIN_VALUE));
-
-        testProperty(graph, "longProperty", Long.MIN_VALUE);
-        testProperty(graph, "longProperty", Long.MAX_VALUE);
-        testProperty(graph, "longProperty", new Long(Long.MIN_VALUE));
-        testProperty(graph, "longProperty", new Long(Long.MAX_VALUE));
-
-        testProperty(graph, "doubleProperty", Double.MAX_VALUE);
-        testProperty(graph, "doubleProperty", Double.MIN_VALUE);
-        testProperty(graph, "doubleProperty", new Double(Double.MAX_VALUE));
-        testProperty(graph, "doubleProperty", new Double(Double.MIN_VALUE));
-
-        testProperty(graph, "floatProperty", Float.MAX_VALUE);
-        testProperty(graph, "floatProperty", Float.MIN_VALUE);
-        testProperty(graph, "floatProperty", new Float(Float.MAX_VALUE));
-        testProperty(graph, "floatProperty", new Float(Float.MIN_VALUE));
-
-        // enumerations - TypeCategory
-        testProperty(graph, "typeCategoryProperty", TypeCategory.CLASS);
-
-        // biginteger
-        testProperty(graph, "bigIntegerProperty",
-                new BigInteger(String.valueOf(Long.MAX_VALUE)).multiply(BigInteger.TEN));
-
-        // bigdecimal
-        BigDecimal bigDecimal = new BigDecimal(Double.MAX_VALUE);
-        testProperty(graph, "bigDecimalProperty", bigDecimal.multiply(bigDecimal));
-    }
-
-    private <V, E> void testProperty(AtlasGraph<V, E> graph, String name, Object value) {
-
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        vertex.setProperty(name, value);
-        assertEquals(value, vertex.getProperty(name, value.getClass()));
-        AtlasVertex<V, E> loaded = graph.getVertex(vertex.getId().toString());
-        assertEquals(value, loaded.getProperty(name, value.getClass()));
-    }
-
-    @Test
-    public <V, E> void testMultiplicityOnePropertySupport() {
-
-        AtlasGraph<V, E> graph = (AtlasGraph<V, E>) getGraph();
-
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        vertex.setProperty("name", "Jeff");
-        vertex.setProperty("location", "Littleton");
-        assertEquals("Jeff", vertex.getProperty("name", String.class));
-        assertEquals("Littleton", vertex.getProperty("location", String.class));
-
-        AtlasVertex<V, E> vertexCopy = graph.getVertex(vertex.getId().toString());
-
-        assertEquals("Jeff", vertexCopy.getProperty("name", String.class));
-        assertEquals("Littleton", vertexCopy.getProperty("location", String.class));
-
-        assertTrue(vertexCopy.getPropertyKeys().contains("name"));
-        assertTrue(vertexCopy.getPropertyKeys().contains("location"));
-
-        assertTrue(vertexCopy.getPropertyValues("name", String.class).contains("Jeff"));
-        assertTrue(vertexCopy.getPropertyValues("location", String.class).contains("Littleton"));
-        assertTrue(vertexCopy.getPropertyValues("test", String.class).isEmpty());
-        assertNull(vertexCopy.getProperty("test", String.class));
-
-        vertex.removeProperty("name");
-        assertFalse(vertex.getPropertyKeys().contains("name"));
-        assertNull(vertex.getProperty("name", String.class));
-        assertTrue(vertex.getPropertyValues("name", String.class).isEmpty());
-
-        vertexCopy = graph.getVertex(vertex.getId().toString());
-        assertFalse(vertexCopy.getPropertyKeys().contains("name"));
-        assertNull(vertexCopy.getProperty("name", String.class));
-        assertTrue(vertexCopy.getPropertyValues("name", String.class).isEmpty());
-
-    }
-
-    @Test
-    public <V, E> void testRemoveEdge() {
-
-        AtlasGraph<V, E> graph = (AtlasGraph<V, E>) getGraph();
-        AtlasVertex<V, E> v1 = graph.addVertex();
-        AtlasVertex<V, E> v2 = graph.addVertex();
-
-        AtlasEdge<V, E> edge = graph.addEdge(v1, v2, "knows");
-
-        // make sure the edge exists
-        AtlasEdge<V, E> edgeCopy = graph.getEdge(edge.getId().toString());
-        assertNotNull(edgeCopy);
-        assertEquals(edgeCopy, edge);
-
-        graph.removeEdge(edge);
-
-        edgeCopy = graph.getEdge(edge.getId().toString());
-        // should return null now, since edge was deleted
-        assertNull(edgeCopy);
-
-    }
-
-    @Test
-    public <V, E> void testRemoveVertex() {
-
-        AtlasGraph<V, E> graph = (AtlasGraph<V, E>) getGraph();
-
-        AtlasVertex<V, E> v1 = graph.addVertex();
-
-        assertNotNull(graph.getVertex(v1.getId().toString()));
-
-        graph.removeVertex(v1);
-
-        assertNull(graph.getVertex(v1.getId().toString()));
-    }
-
-    @Test
-    public <V, E> void testGetEdges() {
-
-        AtlasGraph<V, E> graph = (AtlasGraph<V, E>) getGraph();
-        AtlasVertex<V, E> v1 = graph.addVertex();
-        AtlasVertex<V, E> v2 = graph.addVertex();
-        AtlasVertex<V, E> v3 = graph.addVertex();
-
-        AtlasEdge<V, E> knows = graph.addEdge(v2, v1, "knows");
-        AtlasEdge<V, E> eats = graph.addEdge(v3, v1, "eats");
-        AtlasEdge<V, E> drives = graph.addEdge(v3, v2, "drives");
-        AtlasEdge<V, E> sleeps = graph.addEdge(v2, v3, "sleeps");
-
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.IN), knows, eats);
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.OUT));
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.BOTH), knows, eats);
-
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.IN, "knows"), knows);
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.OUT, "knows"));
-        assertEdgesMatch(v1.getEdges(AtlasEdgeDirection.BOTH, "knows"), knows);
-
-        assertEdgesMatch(v2.getEdges(AtlasEdgeDirection.IN), drives);
-        assertEdgesMatch(v2.getEdges(AtlasEdgeDirection.OUT), knows, sleeps);
-        assertEdgesMatch(v2.getEdges(AtlasEdgeDirection.BOTH), knows, sleeps, drives);
-
-        assertEdgesMatch(v2.getEdges(AtlasEdgeDirection.BOTH, "delivers"));
-    }
-
-    private <V, E> void assertEdgesMatch(Iterable<AtlasEdge<V, E>> edgesIt, AtlasEdge<V, E>... expected) {
-        List<AtlasEdge<V, E>> edges = toList(edgesIt);
-        assertEquals(expected.length, edges.size());
-        for (AtlasEdge<V, E> edge : expected) {
-            assertTrue(edges.contains(edge));
-        }
-    }
-
-    @Test
-    public <V, E> void testMultiplictyManyPropertySupport() {
-
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        String vertexId = vertex.getId().toString();
-        vertex.setProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait1");
-        vertex.setProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait2");
-        assertEquals(vertex.getPropertyValues(Constants.TRAIT_NAMES_PROPERTY_KEY, String.class).size(), 2);
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait3");
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait4");
-
-        assertTrue(vertex.getPropertyKeys().contains(Constants.TRAIT_NAMES_PROPERTY_KEY));
-        validateMultManyPropertiesInVertex(vertex);
-        // fetch a copy of the vertex, make sure result
-        // is the same
-
-        validateMultManyPropertiesInVertex(graph.getVertex(vertexId));
-
-    }
-
-    private <V, E> void validateMultManyPropertiesInVertex(AtlasVertex<V, E> vertex) {
-
-        assertTrue(vertex.getPropertyKeys().contains(Constants.TRAIT_NAMES_PROPERTY_KEY));
-        Collection<String> traitNames = vertex.getPropertyValues(Constants.TRAIT_NAMES_PROPERTY_KEY, String.class);
-        assertTrue(traitNames.contains("trait1"));
-        assertTrue(traitNames.contains("trait2"));
-        assertTrue(traitNames.contains("trait3"));
-        assertTrue(traitNames.contains("trait4"));
-
-        try {
-            vertex.getProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, String.class);
-            fail("Expected exception not thrown");
-        } catch (IllegalStateException expected) {
-            // multiple property values exist
-        }
-    }
-
-    @Test
-    public <V, E> void testListProperties() throws AtlasException {
-
-        AtlasGraph<V, E> graph = getGraph();
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        List<String> colorsToSet = new ArrayList<String>();
-        colorsToSet.add("red");
-        colorsToSet.add("blue");
-        colorsToSet.add("green");
-        vertex.setListProperty("colors", colorsToSet);
-        List<String> colors = vertex.getListProperty("colors");
-        assertTrue(colors.contains("red"));
-        assertTrue(colors.contains("blue"));
-        assertTrue(colors.contains("green"));
-
-        AtlasVertex<V, E> vertexCopy = graph.getVertex(vertex.getId().toString());
-        colors = vertexCopy.getListProperty("colors");
-        assertTrue(colors.contains("red"));
-        assertTrue(colors.contains("blue"));
-        assertTrue(colors.contains("green"));
-
-    }
-
-    @Test
-    public <V, E> void testRemoveProperty() {
-
-        AtlasGraph<V, E> graph = getGraph();
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait1");
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait1");
-        vertex.setProperty("name", "Jeff");
-
-        // remove existing property - multiplicity one
-        vertex.removeProperty("jeff");
-
-        assertFalse(vertex.getPropertyKeys().contains("jeff"));
-
-        // remove existing property - multiplicity many
-        vertex.removeProperty(Constants.TRAIT_NAMES_PROPERTY_KEY);
-        assertFalse(vertex.getPropertyKeys().contains(Constants.TRAIT_NAMES_PROPERTY_KEY));
-
-        AtlasVertex<V, E> vertexCopy = graph.getVertex(vertex.getId().toString());
-        assertFalse(vertexCopy.getPropertyKeys().contains("jeff"));
-        assertFalse(vertexCopy.getPropertyKeys().contains(Constants.TRAIT_NAMES_PROPERTY_KEY));
-
-        // remove non-existing property
-        vertex.removeProperty(Constants.TRAIT_NAMES_PROPERTY_KEY);
-        vertex.removeProperty("jeff");
-
-    }
-
-    @Test
-    public <V, E> void getGetGraphQueryForVertices() {
-
-        AtlasGraph<V, E> graph = getGraph();
-
-        AtlasVertex<V, E> v1 = graph.addVertex();
-        AtlasVertex<V, E> v2 = graph.addVertex();
-        AtlasVertex<V, E> v3 = graph.addVertex();
-
-        v1.setProperty("name", "Jeff");
-        v1.setProperty("weight", 1);
-
-        v2.setProperty("name", "Fred");
-        v2.setProperty("weight", 2);
-
-        v3.setProperty("name", "Chris");
-        v3.setProperty("weight", 3);
-
-        AtlasEdge<V, E> knows = graph.addEdge(v2, v1, "knows");
-        knows.setProperty("weight", 1);
-        AtlasEdge<V, E> eats = graph.addEdge(v3, v1, "eats");
-        eats.setProperty("weight", 2);
-        AtlasEdge<V, E> drives = graph.addEdge(v3, v2, "drives");
-        drives.setProperty("weight", 3);
-
-        AtlasEdge<V, E> sleeps = graph.addEdge(v2, v3, "sleeps");
-        sleeps.setProperty("weight", 4);
-
-        testExecuteGraphQuery("name", null, "Jeff", v1);
-        testExecuteGraphQuery("weight", ComparisionOperator.EQUAL, 2, v2);
-        testExecuteGraphQuery("weight", ComparisionOperator.GREATER_THAN_EQUAL, 2, v2, v3);
-        testExecuteGraphQuery("weight", ComparisionOperator.LESS_THAN_EQUAL, 2, v2, v1);
-
-    }
-
-    private <V, E> void testExecuteGraphQuery(String property, ComparisionOperator op, Object value,
-            AtlasVertex<V, E>... expected) {
-        AtlasGraph<V, E> graph = getGraph();
-        AtlasGraphQuery<V, E> query = graph.query();
-        if (op != null) {
-            query.has(property, op, value);
-        } else {
-            query.has(property, value);
-        }
-        Iterable<? extends AtlasVertex<V, E>> result = query.vertices();
-        List<AtlasVertex<V, E>> list = toList(result);
-        assertEquals(expected.length, list.size());
-        for (AtlasVertex<V, E> vertex : expected) {
-            assertTrue(list.contains(vertex));
-        }
-    }
-
-    @Test
-    public <V, E> void testAddMultManyPropertyValueTwice() {
-
-        AtlasGraph<V, E> graph = getGraph();
-        String vertexId;
-
-        AtlasVertex<V, E> vertex = graph.addVertex();
-        vertexId = vertex.getId().toString();
-        vertex.setProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait1");
-        vertex.setProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait1");
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait2");
-        vertex.addProperty(Constants.TRAIT_NAMES_PROPERTY_KEY, "trait2");
-
-        validateDuplicatePropertyVertex(vertex);
-
-        // fetch a copy of the vertex, make sure result is the same
-
-        validateDuplicatePropertyVertex(graph.getVertex(vertexId));
-    }
-
-    private <V, E> void validateDuplicatePropertyVertex(AtlasVertex<V, E> vertex) {
-        assertEquals(2, vertex.getPropertyValues(Constants.TRAIT_NAMES_PROPERTY_KEY, String.class).size());
-        assertTrue(vertex.getPropertyKeys().contains(Constants.TRAIT_NAMES_PROPERTY_KEY));
-        Collection<String> traitNames = vertex.getPropertyValues(Constants.TRAIT_NAMES_PROPERTY_KEY, String.class);
-        assertTrue(traitNames.contains("trait1"));
-        assertTrue(traitNames.contains("trait2"));
-    }
-
-    private static <T> List<T> toList(Iterable<? extends T> iterable) {
-        List<T> result = new ArrayList<T>();
-        for (T item : iterable) {
-            result.add(item);
-        }
-        return result;
-    }
-
-}
diff --git a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/TitanGraphProviderTest.java b/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/TitanGraphProviderTest.java
deleted file mode 100644
index 53148fa..0000000
--- a/graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/TitanGraphProviderTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.repository.graphdb.titan1;
-
-import org.apache.atlas.ApplicationProperties;
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.graph.GraphSandboxUtil;
-import org.apache.atlas.repository.graphdb.AtlasGraph;
-import org.apache.commons.configuration.Configuration;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-@Test
-public class TitanGraphProviderTest {
-
-    private Configuration configuration;
-    private AtlasGraph<?, ?> graph;
-
-    @BeforeTest
-    public void setUp() throws AtlasException {
-        GraphSandboxUtil.create();
-
-        //First get Instance
-        graph = new Titan1Graph();
-        configuration = ApplicationProperties.getSubsetConfiguration(ApplicationProperties.get(),
-                Titan1GraphDatabase.GRAPH_PREFIX);
-    }
-
-    @AfterClass
-    public void tearDown() throws Exception {
-        try {
-            graph.shutdown();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        try {
-            graph.clear();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Test
-    public void testValidate() throws AtlasException {
-        try {
-            Titan1GraphDatabase.validateIndexBackend(configuration);
-        } catch (Exception e) {
-            Assert.fail("Unexpected exception ", e);
-        }
-
-        //Change backend
-        configuration.setProperty(Titan1GraphDatabase.INDEX_BACKEND_CONF, Titan1GraphDatabase.INDEX_BACKEND_LUCENE);
-        try {
-            Titan1GraphDatabase.validateIndexBackend(configuration);
-            Assert.fail("Expected exception");
-        } catch (Exception e) {
-            Assert.assertEquals(e.getMessage(),
-                    "Configured Index Backend lucene differs from earlier configured "
-                    + "Index Backend elasticsearch. Aborting!");
-        }
-    }
-}
diff --git a/graphdb/titan1/src/test/resources/atlas-application.properties b/graphdb/titan1/src/test/resources/atlas-application.properties
deleted file mode 100644
index af63dd8..0000000
--- a/graphdb/titan1/src/test/resources/atlas-application.properties
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#########  Graph Database to Use #########
-atlas.graphdb.backend=org.apache.atlas.repository.graphdb.titan1.Titan1Database
-
-#########  Atlas Server Configs #########
-atlas.rest.address=http://localhost:31000
-
-#########  Graph Database Configs  #########
-# Graph Storage
-atlas.graph.storage.backend=${graph.storage.backend}
-
-# Graph Search Index Backend
-atlas.graph.index.search.backend=${graph.index.backend}
-
-#Berkeley storage directory
-atlas.graph.storage.directory=${sys:atlas.data}/berkeley
-
-#hbase
-#For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
-
-atlas.graph.storage.hostname=${graph.storage.hostname}
-atlas.graph.storage.hbase.regions-per-server=1
-atlas.graph.storage.lock.wait-time=10000
-
-#ElasticSearch
-atlas.graph.index.search.directory=${sys:atlas.data}/es
-atlas.graph.index.search.elasticsearch.client-only=false
-atlas.graph.index.search.elasticsearch.local-mode=true
-atlas.graph.index.search.elasticsearch.create.sleep=2000
-
-# Solr cloud mode properties
-atlas.graph.index.search.solr.mode=cloud
-atlas.graph.index.search.solr.zookeeper-url=${solr.zk.address}
-
-
-#########  Hive Lineage Configs  #########
-# This models reflects the base super types for Data and Process
-#atlas.lineage.hive.table.type.name=DataSet
-#atlas.lineage.hive.process.type.name=Process
-#atlas.lineage.hive.process.inputs.name=inputs
-#atlas.lineage.hive.process.outputs.name=outputs
-
-## Schema
-atlas.lineage.hive.table.schema.query.hive_table=hive_table where name='%s'\, columns
-
-#########  Notification Configs  #########
-atlas.notification.embedded=true
-
-atlas.kafka.zookeeper.connect=localhost:19026
-atlas.kafka.bootstrap.servers=localhost:19027
-atlas.kafka.data=${sys:atlas.data}/kafka
-atlas.kafka.zookeeper.session.timeout.ms=4000
-atlas.kafka.zookeeper.sync.time.ms=20
-atlas.kafka.consumer.timeout.ms=100
-atlas.kafka.auto.commit.interval.ms=100
-atlas.kafka.hook.group.id=atlas
-atlas.kafka.entities.group.id=atlas_entities
-
-#########  Entity Audit Configs  #########
-atlas.audit.hbase.tablename=ATLAS_ENTITY_AUDIT_EVENTS
-atlas.audit.zookeeper.session.timeout.ms=1000
-atlas.audit.hbase.zookeeper.quorum=localhost
-atlas.audit.hbase.zookeeper.property.clientPort=19026
-
-#########  Security Properties  #########
-
-# SSL config
-atlas.enableTLS=false
-atlas.server.https.port=31443
-
-#########  Security Properties  #########
-
-hbase.security.authentication=simple
-
-atlas.hook.falcon.synchronous=true
-#########  High Availability Configuration ########
-atlas.server.ha.enabled=false
-#atlas.server.ids=id1
-#atlas.server.address.id1=localhost:21000
diff --git a/pom.xml b/pom.xml
index 4ee2d9e..233506c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -660,28 +660,6 @@
         </profile>
 
         <profile>
-            <!-- Activated by setting -DGRAPH-PROVIDER=titan0 -->
-            <id>graph-provider-titan0</id>
-            <activation>
-                <property>
-                    <name>GRAPH-PROVIDER</name>
-                    <value>titan0</value>
-                </property>
-            </activation>
-            <properties>
-                <!-- Define graph dependency type/version -->
-                <graphGroup>org.apache.atlas</graphGroup>
-                <graphArtifact>atlas-graphdb-titan0</graphArtifact>
-                <skipDocs>false</skipDocs>
-                <graphdb.backend.impl>org.apache.atlas.repository.graphdb.titan0.Titan0GraphDatabase</graphdb.backend.impl>
-                <graph.index.backend>elasticsearch</graph.index.backend>
-                <tests.solr.embedded>false</tests.solr.embedded>
-                <distro.exclude.packages>WEB-INF/lib/titan-*.jar,WEB-INF/lib/je-*.jar,WEB-INF/lib/elasticsearch-*.jar,WEB-INF/lib/lucene-*.jar</distro.exclude.packages>
-            </properties>
-        </profile>
-
-        <profile>
-            <!-- Explicitly activate by setting -DGRAPH-PROVIDER=janus -->
             <id>graph-provider-janus</id>
             <activation>
                 <property>
@@ -702,6 +680,26 @@
         </profile>
 
         <profile>
+            <id>graph-provider-titan0</id>
+            <activation>
+                <property>
+                    <name>GRAPH-PROVIDER</name>
+                    <value>titan0</value>
+                </property>
+            </activation>
+            <properties>
+                <!-- Define graph dependency type/version -->
+                <graphGroup>org.apache.atlas</graphGroup>
+                <graphArtifact>atlas-graphdb-titan0</graphArtifact>
+                <skipDocs>false</skipDocs>
+                <graphdb.backend.impl>org.apache.atlas.repository.graphdb.titan0.Titan0GraphDatabase</graphdb.backend.impl>
+                <graph.index.backend>elasticsearch</graph.index.backend>
+                <tests.solr.embedded>false</tests.solr.embedded>
+                <distro.exclude.packages>WEB-INF/lib/titan-*.jar,WEB-INF/lib/je-*.jar,WEB-INF/lib/elasticsearch-*.jar,WEB-INF/lib/lucene-*.jar</distro.exclude.packages>
+            </properties>
+        </profile>
+
+        <profile>
             <id>skipMinify</id>
             <properties>
                 <project.build.dashboardv2.gruntBuild>build</project.build.dashboardv2.gruntBuild>