You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2017/11/12 18:14:22 UTC

[13/42] atlas git commit: ATLAS-2251: Remove TypeSystem and related implementation, to avoid unncessary duplicate of type details in cache

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala
----------------------------------------------------------------------
diff --git a/repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala b/repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala
deleted file mode 100755
index b01cbf8..0000000
--- a/repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala
+++ /dev/null
@@ -1,541 +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.query
-
-import org.apache.atlas.{DBSandboxer, TestUtils}
-import org.apache.atlas.discovery.graph.DefaultGraphPersistenceStrategy
-import org.apache.atlas.query.Expressions._class
-import org.apache.atlas.query.Expressions.id
-import org.apache.atlas.query.Expressions.int
-import org.apache.atlas.repository.graph.AtlasGraphProvider
-import org.apache.atlas.repository.graph.GraphBackedMetadataRepository
-import org.apache.atlas.repository.graphdb.AtlasGraph
-import org.apache.atlas.typesystem.types.TypeSystem
-import org.testng.annotations._
-
-class LineageQueryTest extends BaseGremlinTest {
-
-    var g: AtlasGraph[_,_] = null
-    var gp:GraphPersistenceStrategies = null;
-
-    @BeforeMethod
-    def resetRequestContext() {
-        TestUtils.resetRequestContext()
-    }
-
-
-    @BeforeClass
-    def beforeAll() {
-        TypeSystem.getInstance().reset()
-        var repo = new GraphBackedMetadataRepository(null, new AtlasGraphProvider().get());
-        TestUtils.setupGraphProvider(repo);
-        //force graph to be initialized first
-        AtlasGraphProvider.getGraphInstance();
-      
-        //create types and indices up front.  Without this, some of the property keys (particularly __traitNames and __superTypes)
-        //get ended up created implicitly with some graph backends with the wrong multiplicity.  This also makes the queries  
-        //we execute perform better :-)
-       QueryTestsUtils.setupTypesAndIndices()
-    
-       gp = new DefaultGraphPersistenceStrategy(repo);
-       g = QueryTestsUtils.setupTestGraph(repo)
-    }
-
-    @AfterClass
-    def afterAll() {
-        AtlasGraphProvider.cleanup()
-    }
-
-    val PREFIX_SPACES_REGEX = ("\\n\\s*").r
-
-  @Test def testInputTables {
-        val r = QueryProcessor.evaluate(_class("LoadProcess").field("inputTables"), g, gp)
-        val x = r.toJson
-        validateJson(r,"""{
-                         |  "query":"LoadProcess inputTables",
-                         |  "dataType":{
-                         |    "superTypes":[
-                         |
-                         |    ],
-                         |    "hierarchicalMetaTypeName":"org.apache.atlas.typesystem.types.ClassType",
-                         |    "typeName":"Table",
-                         |    "attributeDefinitions":[
-                         |      {
-                         |        "name":"name",
-                         |        "dataTypeName":"string",
-                         |        "multiplicity":{
-                         |          "lower":0,
-                         |          "upper":1,
-                         |          "isUnique":false
-                         |        },
-                         |        "isComposite":false,
-                         |        "isUnique":false,
-                         |        "isIndexable":false,
-                         |        "reverseAttributeName":null
-                         |      },
-                         |      {
-                         |        "name":"db",
-                         |        "dataTypeName":"DB",
-                         |        "multiplicity":{
-                         |          "lower":1,
-                         |          "upper":1,
-                         |          "isUnique":false
-                         |        },
-                         |        "isComposite":false,
-                         |        "isUnique":false,
-                         |        "isIndexable":false,
-                         |        "reverseAttributeName":null
-                         |      },
-                         |      {
-                         |        "name":"sd",
-                         |        "dataTypeName":"StorageDescriptor",
-                         |        "multiplicity":{
-                         |          "lower":1,
-                         |          "upper":1,
-                         |          "isUnique":false
-                         |        },
-                         |        "isComposite":false,
-                         |        "isUnique":false,
-                         |        "isIndexable":false,
-                         |        "reverseAttributeName":null
-                         |      },
-                         |      {
-                         |        "name":"created",
-                         |        "dataTypeName":"date",
-                         |        "multiplicity":{
-                         |          "lower":0,
-                         |          "upper":1,
-                         |          "isUnique":false
-                         |        },
-                         |        "isComposite":false,
-                         |        "isUnique":false,
-                         |        "isIndexable":false,
-                         |        "reverseAttributeName":null
-                         |      }
-                         |    ]
-                         |  },
-                         |  "rows":[
-                         |    {
-                         |      "$typeName$":"Table",
-                         |      "$id$":{
-                         |        "$typeName$":"Table",
-                         |        "version":0
-                         |      },
-                         |      "created":"2014-12-11T02:35:58.440Z",
-                         |      "sd":{
-                         |        "$typeName$":"StorageDescriptor",
-                         |        "version":0
-                         |      },
-                         |      "db":{
-                         |        "$typeName$":"DB",
-                         |        "version":0
-                         |      },
-                         |      "name":"sales_fact"
-                         |    },
-                         |    {
-                         |      "$typeName$":"Table",
-                         |      "$id$":{
-                         |        "$typeName$":"Table",
-                         |        "version":0
-                         |      },
-                         |      "created":"2014-12-11T02:35:58.440Z",
-                         |      "sd":{
-                         |        "$typeName$":"StorageDescriptor",
-                         |        "version":0
-                         |      },
-                         |      "db":{
-                         |        "$typeName$":"DB",
-                         |        "version":0
-                         |      },
-                         |      "name":"time_dim",
-                         |      "$traits$":{
-                         |        "Dimension":{
-                         |          "$typeName$":"Dimension"
-                         |        }
-                         |      }
-                         |    },
-                         |    {
-                         |      "$typeName$":"Table",
-                         |      "$id$":{
-                         |        "$typeName$":"Table",
-                         |        "version":0
-                         |      },
-                         |      "created":"2014-12-11T02:35:58.440Z",
-                         |      "sd":{
-                         |        "$typeName$":"StorageDescriptor",
-                         |        "version":0
-                         |      },
-                         |      "db":{
-                         |        "$typeName$":"DB",
-                         |        "version":0
-                         |      },
-                         |      "name":"sales_fact_daily_mv"
-                         |    }
-                         |  ]
-                         |}
-          """.stripMargin)
-    }
-
-  @Test def testLoadProcessOut {
-        val r = QueryProcessor.evaluate(_class("Table").field("LoadProcess").field("outputTable"), g, gp)
-        validateJson(r, null)
-    }
-
-  @Test def testLineageAll {
-        val r = QueryProcessor.evaluate(_class("Table").loop(id("LoadProcess").field("outputTable")), g, gp)
-        validateJson(r, """{
-                          |  "query":"Table as _loop0 loop (LoadProcess outputTable)",
-                          |  "dataType":{
-                          |    "superTypes":[
-                          |
-                          |    ],
-                          |    "hierarchicalMetaTypeName":"org.apache.atlas.typesystem.types.ClassType",
-                          |    "typeName":"Table",
-                          |    "attributeDefinitions":[
-                          |      {
-                          |        "name":"name",
-                          |        "dataTypeName":"string",
-                          |        "multiplicity":{
-                          |          "lower":0,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"db",
-                          |        "dataTypeName":"DB",
-                          |        "multiplicity":{
-                          |          "lower":1,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"sd",
-                          |        "dataTypeName":"StorageDescriptor",
-                          |        "multiplicity":{
-                          |          "lower":1,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"created",
-                          |        "dataTypeName":"date",
-                          |        "multiplicity":{
-                          |          "lower":0,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      }
-                          |    ]
-                          |  },
-                          |  "rows":[
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_daily_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_monthly_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_daily_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_monthly_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_monthly_mv"
-                          |    }
-                          |  ]
-                          |}""".stripMargin)
-    }
-
-  @Test def testLineageAllSelect {
-        val r = QueryProcessor.evaluate(_class("Table").as("src").loop(id("LoadProcess").field("outputTable")).as("dest").
-            select(id("src").field("name").as("srcTable"), id("dest").field("name").as("destTable")), g, gp)
-        validateJson(r, """{
-  "query":"Table as src loop (LoadProcess outputTable) as dest select src.name as srcTable, dest.name as destTable",
-  "dataType":{
-    "typeName":"__tempQueryResultStruct2",
-    "attributeDefinitions":[
-      {
-        "name":"srcTable",
-        "dataTypeName":"string",
-        "multiplicity":{
-          "lower":0,
-          "upper":1,
-          "isUnique":false
-        },
-        "isComposite":false,
-        "isUnique":false,
-        "isIndexable":false,
-        "reverseAttributeName":null
-      },
-      {
-        "name":"destTable",
-        "dataTypeName":"string",
-        "multiplicity":{
-          "lower":0,
-          "upper":1,
-          "isUnique":false
-        },
-        "isComposite":false,
-        "isUnique":false,
-        "isIndexable":false,
-        "reverseAttributeName":null
-      }
-    ]
-  },
-  "rows":[
-    {
-      "$typeName$":"__tempQueryResultStruct2",
-      "srcTable":"sales_fact",
-      "destTable":"sales_fact_daily_mv"
-    },
-    {
-      "$typeName$":"__tempQueryResultStruct2",
-      "srcTable":"sales_fact",
-      "destTable":"sales_fact_monthly_mv"
-    },
-    {
-      "$typeName$":"__tempQueryResultStruct2",
-      "srcTable":"time_dim",
-      "destTable":"sales_fact_daily_mv"
-    },
-    {
-      "$typeName$":"__tempQueryResultStruct2",
-      "srcTable":"time_dim",
-      "destTable":"sales_fact_monthly_mv"
-    },
-    {
-      "$typeName$":"__tempQueryResultStruct2",
-      "srcTable":"sales_fact_daily_mv",
-      "destTable":"sales_fact_monthly_mv"
-    }
-  ]
-}""".stripMargin)
-    }
-
-    @Test def testLineageFixedDepth {
-        val r = QueryProcessor.evaluate(_class("Table").loop(id("LoadProcess").field("outputTable"), int(1)), g, gp)
-        validateJson(r, """{
-                          |  "query":"Table as _loop0 loop (LoadProcess outputTable) times 1",
-                          |  "dataType":{
-                          |    "superTypes":[
-                          |
-                          |    ],
-                          |    "hierarchicalMetaTypeName":"org.apache.atlas.typesystem.types.ClassType",
-                          |    "typeName":"Table",
-                          |    "attributeDefinitions":[
-                          |      {
-                          |        "name":"name",
-                          |        "dataTypeName":"string",
-                          |        "multiplicity":{
-                          |          "lower":0,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"db",
-                          |        "dataTypeName":"DB",
-                          |        "multiplicity":{
-                          |          "lower":1,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"sd",
-                          |        "dataTypeName":"StorageDescriptor",
-                          |        "multiplicity":{
-                          |          "lower":1,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      },
-                          |      {
-                          |        "name":"created",
-                          |        "dataTypeName":"date",
-                          |        "multiplicity":{
-                          |          "lower":0,
-                          |          "upper":1,
-                          |          "isUnique":false
-                          |        },
-                          |        "isComposite":false,
-                          |        "isUnique":false,
-                          |        "isIndexable":false,
-                          |        "reverseAttributeName":null
-                          |      }
-                          |    ]
-                          |  },
-                          |  "rows":[
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_daily_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_daily_mv"
-                          |    },
-                          |    {
-                          |      "$typeName$":"Table",
-                          |      "$id$":{
-                          |        "$typeName$":"Table",
-                          |        "version":0
-                          |      },
-                          |      "created":"2014-12-11T02:35:58.440Z",
-                          |      "sd":{
-                          |        "$typeName$":"StorageDescriptor",
-                          |        "version":0
-                          |      },
-                          |      "db":{
-                          |        "$typeName$":"DB",
-                          |        "version":0
-                          |      },
-                          |      "name":"sales_fact_monthly_mv"
-                          |    }
-                          |  ]
-                          |}""".stripMargin)
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/repository/src/test/scala/org/apache/atlas/query/ParserTest.scala
----------------------------------------------------------------------
diff --git a/repository/src/test/scala/org/apache/atlas/query/ParserTest.scala b/repository/src/test/scala/org/apache/atlas/query/ParserTest.scala
deleted file mode 100755
index de5d879..0000000
--- a/repository/src/test/scala/org/apache/atlas/query/ParserTest.scala
+++ /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.query
-
-import org.apache.atlas.DBSandboxer
-import org.apache.atlas.repository.BaseTest
-import org.testng.annotations.{BeforeMethod, Listeners, Test}
-
-
-class ParserTest extends BaseTest {
-
-    @BeforeMethod
-    override def setup {
-        super.setup
-        QueryTestsUtils.setupTypes
-    }
-
-    @Test def testFrom: Unit = {
-        println(QueryParser.apply("from DB").right.get.toString)
-    }
-
-    @Test def testFrom2: Unit = {
-        println(QueryParser.apply("DB").right.get.toString)
-    }
-
-    @Test def testJoin1: Unit = {
-        println(QueryParser.apply("DB, Table").right.get.toString)
-    }
-
-    @Test def testWhere1: Unit = {
-        println(QueryParser.apply("DB as db1 Table where db1.name ").right.get.toString)
-    }
-
-    @Test def testWhere2: Unit = {
-        println(QueryParser.apply("DB name = \"Reporting\"").right.get.toString)
-    }
-
-  @Test def testIsTrait: Unit = {
-    println(QueryParser.apply("Table isa Dimension").right.get.toString)
-    println(QueryParser.apply("Table is Dimension").right.get.toString)
-  }
-
-    @Test def test4: Unit = {
-        println(QueryParser.apply("DB where (name = \"Reporting\") select name as _col_0, (createTime + 1) as _col_1").right.get.toString)
-    }
-
-    @Test def testJoin2: Unit = {
-        println(QueryParser.apply("DB as db1 where (createTime + 1) > 0 and (db1.name = \"Reporting\") or DB has owner Table as tab " +
-            " select db1.name as dbName, tab.name as tabName").right.get.toString)
-    }
-
-    @Test def testLoop: Unit = {
-        println(QueryParser.apply("Table loop (LoadProcess outputTable)").right.get.toString)
-    }
-
-  @Test def testNegInvalidateType: Unit = {
-    val x = QueryParser.apply("from blah")
-    println(QueryParser.apply("from blah").left)
-  }
-
-    @Test def testPath1: Unit = {
-      println(QueryParser.apply("Table loop (LoadProcess outputTable) withPath").right.get.toString)
-    }
-
-    @Test def testPath2: Unit = {
-      println(QueryParser.apply(
-        "Table as src loop (LoadProcess outputTable) as dest " +
-          "select src.name as srcTable, dest.name as destTable withPath").right.get.toString
-      )
-    }
-
-  @Test def testList: Unit = {
-    println(QueryParser.apply(
-      "Partition as p where values = ['2015-01-01']," +
-        " table where name = 'tableoq8ty'," +
-        " db where name = 'default' and clusterName = 'test'").right.get.toString
-    )
-  }
-
-  @Test def testorder_by: Unit = {
-    println(QueryParser.apply("from DB order by columnA").right.get.toString)
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala
----------------------------------------------------------------------
diff --git a/repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b/repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala
deleted file mode 100755
index f26f98e..0000000
--- a/repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala
+++ /dev/null
@@ -1,206 +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.query
-
-import java.io.File
-import javax.script.{Bindings, ScriptEngine, ScriptEngineManager}
-
-import com.google.common.collect.ImmutableList
-import org.apache.atlas.repository.graphdb.AtlasVertex
-import com.typesafe.config.{Config, ConfigFactory}
-import org.apache.atlas.typesystem.types._
-import org.apache.commons.configuration.{Configuration, ConfigurationException, MapConfiguration}
-import org.apache.commons.io.FileUtils
-import org.apache.commons.lang.RandomStringUtils
-import org.json.JSONObject
-import org.skyscreamer.jsonassert.JSONAssert
-
-import scala.util.Random
-import org.apache.atlas.repository.MetadataRepository
-import org.apache.atlas.repository.graphdb.AtlasGraph
-import org.apache.atlas.repository.graph.AtlasGraphProvider
-import java.net.URL
-
-import org.apache.atlas.`type`.AtlasTypeRegistry
-import org.apache.atlas.repository.graph.GraphBackedSearchIndexer
-import org.apache.atlas.typesystem.TypesDef
-import org.apache.atlas.typesystem.ITypedReferenceableInstance
-
-
-trait GraphUtils {
-
-    import scala.collection.JavaConversions._
-
-    def getConfiguration(config: Config): Configuration = {
-        val keys = config.entrySet().map {
-            _.getKey
-        }
-        val gConfig: java.util.Map[String, String] = new java.util.HashMap[String, String]()
-        keys.foreach { k =>
-            gConfig.put(k, config.getString(k))
-        }
-        return new MapConfiguration(gConfig)
-    }
-
-
-    def graph(conf: Configuration) = {
-        try {
-            val g = AtlasGraphProvider.getGraphInstance
-            val mgmt = g.getManagementSystem
-            val typname = mgmt.makePropertyKey("typeName", classOf[String], null);
-            mgmt.createExactMatchIndex("byTypeName", false, List(typname));
-            mgmt.commit()
-            g
-        } catch {
-            case e: ConfigurationException => throw new RuntimeException(e)
-        }
-    }
-}
-
-object QueryTestsUtils extends GraphUtils {
-
-     def setupTypesAndIndices() : Unit = {
-        val indexer = new GraphBackedSearchIndexer(new AtlasTypeRegistry());
-        val typesDef : TypesDef = defineTypes;
-        val newTypes = TypeSystem.getInstance.defineTypes(typesDef);
-        indexer.onAdd(newTypes.values());        
-    }
-     
-     def setupTypes: Unit = {
-        
-        val types : TypesDef = defineTypes;
-        TypeSystem.getInstance.defineTypes(types);
-    }
-    
-     
-    def defineTypes: TypesDef = {
-        def attrDef(name: String, dT: IDataType[_],
-                    m: Multiplicity = Multiplicity.OPTIONAL,
-                    isComposite: Boolean = false,
-                    reverseAttributeName: String = null) = {
-            require(name != null)
-            require(dT != null)
-            new AttributeDefinition(name, dT.getName, m, isComposite, reverseAttributeName)
-        }
-
-        def dbClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "DB", null, null,
-            Array(
-                attrDef("name", DataTypes.STRING_TYPE),
-                attrDef("owner", DataTypes.STRING_TYPE),
-                attrDef("createTime", DataTypes.INT_TYPE),
-                attrDef("clusterName", DataTypes.STRING_TYPE)
-            ))
-
-        def hiveOrderDef = new StructTypeDefinition("HiveOrder",
-            Array(
-                attrDef("col", DataTypes.STRING_TYPE),
-                attrDef("order", DataTypes.INT_TYPE)
-            ))
-
-        def storageDescClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "StorageDescriptor", null, null,
-            Array(
-                attrDef("inputFormat", DataTypes.STRING_TYPE),
-                attrDef("outputFormat", DataTypes.STRING_TYPE),
-                new AttributeDefinition("sortCols", DataTypes.arrayTypeName("HiveOrder"), Multiplicity.REQUIRED, false, null)
-            ))
-
-        def columnClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "Column", null, null,
-            Array(
-                attrDef("name", DataTypes.STRING_TYPE),
-                attrDef("dataType", DataTypes.STRING_TYPE),
-                new AttributeDefinition("sd", "StorageDescriptor", Multiplicity.REQUIRED, false, null)
-            ))
-
-        def tblClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "Table", null, null,
-            Array(
-                attrDef("name", DataTypes.STRING_TYPE),
-                new AttributeDefinition("db", "DB", Multiplicity.REQUIRED, false, null),
-                new AttributeDefinition("sd", "StorageDescriptor", Multiplicity.REQUIRED, false, null),
-                attrDef("created", DataTypes.DATE_TYPE)
-            ))
-
-        def partitionClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "Partition", null, null,
-            Array(
-                new AttributeDefinition("values", DataTypes.arrayTypeName(DataTypes.STRING_TYPE.getName), Multiplicity.REQUIRED, false, null),
-                new AttributeDefinition("table", "Table", Multiplicity.REQUIRED, false, null)
-            ))
-
-        def loadProcessClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "LoadProcess", null, null,
-            Array(
-                attrDef("name", DataTypes.STRING_TYPE),
-                new AttributeDefinition("inputTables", DataTypes.arrayTypeName("Table"), Multiplicity.COLLECTION, false, null),
-                new AttributeDefinition("outputTable", "Table", Multiplicity.REQUIRED, false, null)
-            ))
-
-        def viewClsDef = new HierarchicalTypeDefinition[ClassType](classOf[ClassType], "View", null, null,
-            Array(
-                attrDef("name", DataTypes.STRING_TYPE),
-                new AttributeDefinition("inputTables", DataTypes.arrayTypeName("Table"), Multiplicity.COLLECTION, false, null)
-            ))
-
-        def dimTraitDef = new HierarchicalTypeDefinition[TraitType](classOf[TraitType], "Dimension", null, null,
-            Array[AttributeDefinition]())
-        def piiTraitDef = new HierarchicalTypeDefinition[TraitType](classOf[TraitType], "PII", null, null,
-            Array[AttributeDefinition]())
-        def metricTraitDef = new HierarchicalTypeDefinition[TraitType](classOf[TraitType], "Metric", null, null,
-            Array[AttributeDefinition]())
-        def etlTraitDef = new HierarchicalTypeDefinition[TraitType](classOf[TraitType], "ETL", null, null,
-            Array[AttributeDefinition]())
-        def jdbcTraitDef = new HierarchicalTypeDefinition[TraitType](classOf[TraitType], "JdbcAccess", null, null,
-            Array[AttributeDefinition]())
-
-        TypesDef(Seq[EnumTypeDefinition](),
-           Seq[StructTypeDefinition](hiveOrderDef),
-            Seq[HierarchicalTypeDefinition[TraitType]](dimTraitDef, piiTraitDef,
-                metricTraitDef, etlTraitDef, jdbcTraitDef),
-            Seq[HierarchicalTypeDefinition[ClassType]](dbClsDef, storageDescClsDef, columnClsDef, tblClsDef,
-                partitionClsDef, loadProcessClsDef, viewClsDef))
-    }
-
-    def setupTestGraph(repo : MetadataRepository): AtlasGraph[_,_] = {
-
-        val g = AtlasGraphProvider.getGraphInstance();
-        val entities = HiveTitanSample.getEntitiesToCreate();
-        repo.createEntities(entities:_*)   
-        g.commit();
-        g
-    }
-    
-   
-
-}
-
-
-
-trait BaseGremlinTest {
-  val STRUCT_NAME_REGEX = (TypeUtils.TEMP_STRUCT_NAME_PREFIX + "\\d+").r
-  def validateJson(r: GremlinQueryResult, expected: String = null): Unit = {
-    val rJ = r.toJson
-    if (expected != null) {
-      val a = STRUCT_NAME_REGEX.replaceAllIn(rJ, "")
-      val b = STRUCT_NAME_REGEX.replaceAllIn(expected, "")
-      val actualjsonObj = new JSONObject(a)
-      val expectedjsonObj = new JSONObject(b)
-      JSONAssert.assertEquals(expectedjsonObj, actualjsonObj, false)
-    } else {
-      println(rJ)
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/pom.xml
----------------------------------------------------------------------
diff --git a/server-api/pom.xml b/server-api/pom.xml
index 6e99ca3..6919dcd 100644
--- a/server-api/pom.xml
+++ b/server-api/pom.xml
@@ -37,11 +37,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-typesystem</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-common</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/RequestContext.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/RequestContext.java b/server-api/src/main/java/org/apache/atlas/RequestContext.java
deleted file mode 100644
index 3e729b5..0000000
--- a/server-api/src/main/java/org/apache/atlas/RequestContext.java
+++ /dev/null
@@ -1,197 +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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * 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;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.atlas.metrics.Metrics;
-import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
-import org.apache.atlas.typesystem.ITypedReferenceableInstance;
-import org.apache.atlas.typesystem.persistence.Id;
-import org.apache.atlas.typesystem.types.ClassType;
-import org.apache.atlas.typesystem.types.TypeSystem;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Deprecated
-public class RequestContext {
-    private static final Logger LOG = LoggerFactory.getLogger(RequestContext.class);
-
-    private static final ThreadLocal<RequestContext> CURRENT_CONTEXT = new ThreadLocal<>();
-
-    private Set<String> createdEntityIds = new LinkedHashSet<>();
-    private Set<String> updatedEntityIds = new LinkedHashSet<>();
-    private Set<String> deletedEntityIds = new LinkedHashSet<>();
-    private List<ITypedReferenceableInstance> deletedEntities = new ArrayList<>();
-    private Map<String,ITypedReferenceableInstance> entityCacheV1 = new HashMap<>();
-    private Map<String,AtlasEntityWithExtInfo> entityCacheV2 = new HashMap<>();
-
-    private String user;
-    private long requestTime;
-
-    private TypeSystem typeSystem = TypeSystem.getInstance();
-    private Metrics metrics = new Metrics();
-
-    private RequestContext() {
-    }
-
-    //To handle gets from background threads where createContext() is not called
-    //createContext called for every request in the filter
-    public static RequestContext get() {
-        if (CURRENT_CONTEXT.get() == null) {
-            synchronized (RequestContext.class) {
-                if (CURRENT_CONTEXT.get() == null) {
-                    createContext();
-                }
-            }
-        }
-
-        // ensure that RequestContextV1 is also initialized for this request
-        RequestContextV1.get();
-
-        return CURRENT_CONTEXT.get();
-    }
-
-    public static RequestContext createContext() {
-        RequestContext context = new RequestContext();
-        context.requestTime = System.currentTimeMillis();
-        CURRENT_CONTEXT.set(context);
-        return context;
-    }
-
-    /**
-     * Adds the specified instance to the cache
-     *
-     */
-    public void cache(ITypedReferenceableInstance instance) {
-        entityCacheV1.put(instance.getId()._getId(), instance);
-    }
-
-    /**
-     * Adds the specified instance to the cache
-     *
-     */
-    public void cache(AtlasEntityWithExtInfo entity) {
-        if (entity != null && entity.getEntity() != null && entity.getEntity().getGuid() != null) {
-            entityCacheV2.put(entity.getEntity().getGuid(), entity);
-        }
-    }
-
-    /**
-     * Checks if an instance with the given guid is in the cache for this request.  Either returns the instance
-     * or null if it is not in the cache.
-     *
-     * @param guid the guid to find
-     * @return Either the instance or null if it is not in the cache.
-     */
-    public ITypedReferenceableInstance getInstanceV1(String guid) {
-        return entityCacheV1.get(guid);
-    }
-
-    /**
-     * Checks if an instance with the given guid is in the cache for this request.  Either returns the instance
-     * or null if it is not in the cache.
-     *
-     * @param guid the guid to find
-     * @return Either the instance or null if it is not in the cache.
-     */
-    public AtlasEntityWithExtInfo getInstanceV2(String guid) {
-        return entityCacheV2.get(guid);
-    }
-
-    public static void clear() {
-        RequestContext instance = CURRENT_CONTEXT.get();
-
-        if (instance != null) {
-            if (instance.entityCacheV1 != null) {
-                instance.entityCacheV1.clear();
-            }
-
-            if (instance.entityCacheV2 != null) {
-                instance.entityCacheV2.clear();
-            }
-        }
-
-        CURRENT_CONTEXT.remove();
-    }
-
-    public String getUser() {
-        return user;
-    }
-
-    public void setUser(String user) {
-        this.user = user;
-
-        RequestContextV1.get().setUser(user);
-    }
-
-    public void recordEntityCreate(Collection<String> createdEntityIds) {
-        this.createdEntityIds.addAll(createdEntityIds);
-    }
-
-    public void recordEntityUpdate(Collection<String> updatedEntityIds) {
-        this.updatedEntityIds.addAll(updatedEntityIds);
-    }
-
-    public void recordEntityUpdate(String entityId) {
-        this.updatedEntityIds.add(entityId);
-    }
-
-    public void recordEntityDelete(String entityId, String typeName) throws AtlasException {
-        ClassType type = typeSystem.getDataType(ClassType.class, typeName);
-        ITypedReferenceableInstance entity = type.createInstance(new Id(entityId, 0, typeName));
-        if (deletedEntityIds.add(entityId)) {
-            deletedEntities.add(entity);
-        }
-    }
-
-    public List<String> getCreatedEntityIds() {
-        return new ArrayList<>(createdEntityIds);
-    }
-
-    public List<String> getUpdatedEntityIds() {
-        return new ArrayList<>(updatedEntityIds);
-    }
-
-    public List<String> getDeletedEntityIds() {
-        return new ArrayList<>(deletedEntityIds);
-    }
-
-    public List<ITypedReferenceableInstance> getDeletedEntities() {
-        return deletedEntities;
-    }
-
-    public long getRequestTime() {
-        return requestTime;
-    }
-
-    public boolean isDeletedEntity(String entityGuid) {
-        return deletedEntityIds.contains(entityGuid);
-    }
-
-    public static Metrics getMetrics() {
-        return get().metrics;
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/RequestContextV1.java b/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
index 08aa960..27fe3d2 100644
--- a/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
+++ b/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
@@ -19,14 +19,12 @@
 package org.apache.atlas;
 
 import org.apache.atlas.metrics.Metrics;
+import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
 import org.apache.atlas.model.instance.AtlasObjectId;
-import org.apache.atlas.typesystem.types.TypeSystem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.Set;
+import java.util.*;
 
 public class RequestContextV1 {
     private static final Logger LOG = LoggerFactory.getLogger(RequestContextV1.class);
@@ -36,11 +34,11 @@ public class RequestContextV1 {
     private Set<AtlasObjectId> createdEntityIds = new LinkedHashSet<>();
     private Set<AtlasObjectId> updatedEntityIds = new LinkedHashSet<>();
     private Set<AtlasObjectId> deletedEntityIds = new LinkedHashSet<>();
+    private Map<String, AtlasEntityWithExtInfo> entityCacheV2 = new HashMap<>();
 
     private String user;
     private final long requestTime;
 
-    TypeSystem typeSystem = TypeSystem.getInstance();
     private Metrics metrics = new Metrics();
 
     private RequestContextV1() {
@@ -59,7 +57,16 @@ public class RequestContextV1 {
 
         return ret;
     }
+
     public static void clear() {
+        RequestContextV1 instance = CURRENT_CONTEXT.get();
+
+        if (instance != null) {
+            if (instance.entityCacheV2 != null) {
+                instance.entityCacheV2.clear();
+            }
+        }
+
         CURRENT_CONTEXT.remove();
     }
 
@@ -91,6 +98,16 @@ public class RequestContextV1 {
         deletedEntityIds.add(entityId);
     }
 
+    /**
+     * Adds the specified instance to the cache
+     *
+     */
+    public void cache(AtlasEntityWithExtInfo entity) {
+        if (entity != null && entity.getEntity() != null && entity.getEntity().getGuid() != null) {
+            entityCacheV2.put(entity.getEntity().getGuid(), entity);
+        }
+    }
+
     public Collection<AtlasObjectId> getCreatedEntityIds() {
         return createdEntityIds;
     }
@@ -103,6 +120,17 @@ public class RequestContextV1 {
         return deletedEntityIds;
     }
 
+    /**
+     * Checks if an instance with the given guid is in the cache for this request.  Either returns the instance
+     * or null if it is not in the cache.
+     *
+     * @param guid the guid to find
+     * @return Either the instance or null if it is not in the cache.
+     */
+    public AtlasEntityWithExtInfo getInstanceV2(String guid) {
+        return entityCacheV2.get(guid);
+    }
+
     public long getRequestTime() {
         return requestTime;
     }

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/discovery/LineageService.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/discovery/LineageService.java b/server-api/src/main/java/org/apache/atlas/discovery/LineageService.java
deleted file mode 100644
index 5aab355..0000000
--- a/server-api/src/main/java/org/apache/atlas/discovery/LineageService.java
+++ /dev/null
@@ -1,75 +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.discovery;
-
-import org.apache.atlas.AtlasException;
-
-/**
- * Lineage service interface.
- */
-public interface LineageService {
-
-    /**
-     * Return the lineage outputs graph for the given datasetName.
-     *
-     * @param datasetName datasetName
-     * @return Outputs Graph as JSON
-     */
-    String getOutputsGraph(String datasetName) throws AtlasException;
-
-    /**
-     * Return the lineage inputs graph for the given datasetName.
-     *
-     * @param datasetName datasetName
-     * @return Inputs Graph as JSON
-     */
-    String getInputsGraph(String datasetName) throws AtlasException;
-
-    /**
-     * Return the lineage inputs graph for the given entity id.
-     *
-     * @param guid entity id
-     * @return Inputs Graph as JSON
-     */
-    String getInputsGraphForEntity(String guid) throws AtlasException;
-
-    /**
-     * Return the lineage inputs graph for the given entity id.
-     *
-     * @param guid entity id
-     * @return Inputs Graph as JSON
-     */
-    String getOutputsGraphForEntity(String guid) throws AtlasException;
-
-    /**
-     * Return the schema for the given datasetName.
-     *
-     * @param datasetName datasetName
-     * @return Schema as JSON
-     */
-    String getSchema(String datasetName) throws AtlasException;
-
-    /**
-     * Return the schema for the given entity id.
-     *
-     * @param guid tableName
-     * @return Schema as JSON
-     */
-    String getSchemaForEntity(String guid) throws AtlasException;
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/exception/EntityNotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/exception/EntityNotFoundException.java b/server-api/src/main/java/org/apache/atlas/exception/EntityNotFoundException.java
new file mode 100644
index 0000000..14be3ed
--- /dev/null
+++ b/server-api/src/main/java/org/apache/atlas/exception/EntityNotFoundException.java
@@ -0,0 +1,44 @@
+/**
+ * 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.exception;
+
+/**
+ * A simple wrapper for 404.
+ */
+public class EntityNotFoundException extends NotFoundException {
+    public EntityNotFoundException() {
+    }
+
+    public EntityNotFoundException(String message) {
+        super(message);
+    }
+
+    public EntityNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public EntityNotFoundException(Throwable cause) {
+        super(cause);
+    }
+
+    public EntityNotFoundException(String message, Throwable cause, boolean enableSuppression,
+            boolean writableStackTrace) {
+        super(message, cause, enableSuppression, writableStackTrace);
+    }
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/exception/NotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/exception/NotFoundException.java b/server-api/src/main/java/org/apache/atlas/exception/NotFoundException.java
new file mode 100644
index 0000000..c24789d
--- /dev/null
+++ b/server-api/src/main/java/org/apache/atlas/exception/NotFoundException.java
@@ -0,0 +1,46 @@
+/**
+ * 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.exception;
+
+import org.apache.atlas.AtlasException;
+
+/**
+ * A simple wrapper for 404.
+ */
+public class NotFoundException extends AtlasException {
+    public NotFoundException() {
+    }
+
+    public NotFoundException(String message) {
+        super(message);
+    }
+
+    public NotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public NotFoundException(Throwable cause) {
+        super(cause);
+    }
+
+    public NotFoundException(String message, Throwable cause, boolean enableSuppression,
+                             boolean writableStackTrace) {
+        super(message, cause, enableSuppression, writableStackTrace);
+    }
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/exception/SchemaNotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/exception/SchemaNotFoundException.java b/server-api/src/main/java/org/apache/atlas/exception/SchemaNotFoundException.java
new file mode 100644
index 0000000..981ef2a
--- /dev/null
+++ b/server-api/src/main/java/org/apache/atlas/exception/SchemaNotFoundException.java
@@ -0,0 +1,40 @@
+/**
+ * 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.exception;
+
+public class SchemaNotFoundException extends NotFoundException {
+    public SchemaNotFoundException() {
+    }
+
+    public SchemaNotFoundException(String message) {
+        super(message);
+    }
+
+    public SchemaNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public SchemaNotFoundException(Throwable cause) {
+        super(cause);
+    }
+
+    public SchemaNotFoundException(String message, Throwable cause, boolean enableSuppression,
+        boolean writableStackTrace) {
+        super(message, cause, enableSuppression, writableStackTrace);
+    }
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/exception/TraitNotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/exception/TraitNotFoundException.java b/server-api/src/main/java/org/apache/atlas/exception/TraitNotFoundException.java
new file mode 100644
index 0000000..ba46a2e
--- /dev/null
+++ b/server-api/src/main/java/org/apache/atlas/exception/TraitNotFoundException.java
@@ -0,0 +1,45 @@
+/**
+ * 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.exception;
+
+/**
+ * A simple wrapper for  404.
+ * Thrown when a requested trait can not be found.
+ */
+public class TraitNotFoundException extends NotFoundException {
+    public TraitNotFoundException() {
+    }
+
+    public TraitNotFoundException(String message) {
+        super(message);
+    }
+
+    public TraitNotFoundException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public TraitNotFoundException(Throwable cause) {
+        super(cause);
+    }
+
+    public TraitNotFoundException(String message, Throwable cause, boolean enableSuppression,
+            boolean writableStackTrace) {
+        super(message, cause, enableSuppression, writableStackTrace);
+    }
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/listener/EntityChangeListener.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/listener/EntityChangeListener.java b/server-api/src/main/java/org/apache/atlas/listener/EntityChangeListener.java
index e05a775..19fae4f 100644
--- a/server-api/src/main/java/org/apache/atlas/listener/EntityChangeListener.java
+++ b/server-api/src/main/java/org/apache/atlas/listener/EntityChangeListener.java
@@ -19,8 +19,8 @@
 package org.apache.atlas.listener;
 
 import org.apache.atlas.AtlasException;
-import org.apache.atlas.typesystem.IStruct;
-import org.apache.atlas.typesystem.ITypedReferenceableInstance;
+import org.apache.atlas.v1.model.instance.Referenceable;
+import org.apache.atlas.v1.model.instance.Struct;
 
 import java.util.Collection;
 
@@ -36,7 +36,7 @@ public interface EntityChangeListener {
      * @param isImport
      * @throws AtlasException if the listener notification fails
      */
-    void onEntitiesAdded(Collection<ITypedReferenceableInstance> entities, boolean isImport) throws AtlasException;
+    void onEntitiesAdded(Collection<Referenceable> entities, boolean isImport) throws AtlasException;
 
     /**
      * This is upon updating an entity.
@@ -46,7 +46,7 @@ public interface EntityChangeListener {
      * @param isImport
      * @throws AtlasException if the listener notification fails
      */
-    void onEntitiesUpdated(Collection<ITypedReferenceableInstance> entities, boolean isImport) throws AtlasException;
+    void onEntitiesUpdated(Collection<Referenceable> entities, boolean isImport) throws AtlasException;
 
     /**
      * This is upon adding a new trait to a typed instance.
@@ -56,7 +56,7 @@ public interface EntityChangeListener {
      *
      * @throws AtlasException if the listener notification fails
      */
-    void onTraitsAdded(ITypedReferenceableInstance entity, Collection<? extends IStruct> traits) throws AtlasException;
+    void onTraitsAdded(Referenceable entity, Collection<? extends Struct> traits) throws AtlasException;
 
     /**
      * This is upon deleting a trait from a typed instance.
@@ -66,7 +66,7 @@ public interface EntityChangeListener {
      *
      * @throws AtlasException if the listener notification fails
      */
-    void onTraitsDeleted(ITypedReferenceableInstance entity, Collection<String> traitNames) throws AtlasException;
+    void onTraitsDeleted(Referenceable entity, Collection<String> traitNames) throws AtlasException;
 
     /**
      * This is upon updating a trait from a typed instance.
@@ -76,7 +76,7 @@ public interface EntityChangeListener {
      *
      * @throws AtlasException if the listener notification fails
      */
-    void onTraitsUpdated(ITypedReferenceableInstance entity, Collection<? extends IStruct> traits) throws AtlasException;
+    void onTraitsUpdated(Referenceable entity, Collection<? extends Struct> traits) throws AtlasException;
     
     /**
      * This is upon deleting entities from the repository.
@@ -85,5 +85,5 @@ public interface EntityChangeListener {
      * @param isImport
      * @throws AtlasException
      */
-    void onEntitiesDeleted(Collection<ITypedReferenceableInstance> entities, boolean isImport) throws AtlasException;
+    void onEntitiesDeleted(Collection<Referenceable> entities, boolean isImport) throws AtlasException;
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/listener/TypesChangeListener.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/listener/TypesChangeListener.java b/server-api/src/main/java/org/apache/atlas/listener/TypesChangeListener.java
index 5ff6d4a..0fcec50 100644
--- a/server-api/src/main/java/org/apache/atlas/listener/TypesChangeListener.java
+++ b/server-api/src/main/java/org/apache/atlas/listener/TypesChangeListener.java
@@ -19,7 +19,7 @@
 package org.apache.atlas.listener;
 
 import org.apache.atlas.AtlasException;
-import org.apache.atlas.typesystem.types.IDataType;
+import org.apache.atlas.type.AtlasType;
 
 import java.util.Collection;
 
@@ -31,19 +31,19 @@ public interface TypesChangeListener {
     /**
      * This is upon adding new type(s) to Store.
      *
-     * @param dataTypes data type
+     * @param dataTypes the data types
      * @throws AtlasException
      */
-    void onAdd(Collection<? extends IDataType> dataTypes) throws AtlasException;
+    void onAdd(Collection<? extends AtlasType> dataTypes) throws AtlasException;
 
     /**
      * This is upon removing an existing type from the Store.
      *
-     * @param typeName type name
+     * @param dataTypes the data types
      * @throws AtlasException
      */
     // void onRemove(String typeName) throws MetadataException;
 
      //This is upon updating an existing type to the store
-     void onChange(Collection<? extends IDataType> dataTypes) throws AtlasException;
+     void onChange(Collection<? extends AtlasType> dataTypes) throws AtlasException;
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/services/MetadataService.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/services/MetadataService.java b/server-api/src/main/java/org/apache/atlas/services/MetadataService.java
deleted file mode 100644
index d2aa457..0000000
--- a/server-api/src/main/java/org/apache/atlas/services/MetadataService.java
+++ /dev/null
@@ -1,317 +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.services;
-
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.CreateUpdateEntitiesResult;
-import org.apache.atlas.EntityAuditEvent;
-import org.apache.atlas.listener.EntityChangeListener;
-import org.apache.atlas.model.legacy.EntityResult;
-import org.apache.atlas.typesystem.IReferenceableInstance;
-import org.apache.atlas.typesystem.IStruct;
-import org.apache.atlas.typesystem.ITypedReferenceableInstance;
-import org.apache.atlas.typesystem.ITypedStruct;
-import org.apache.atlas.typesystem.Referenceable;
-import org.apache.atlas.typesystem.Struct;
-import org.apache.atlas.typesystem.types.cache.TypeCache;
-import org.codehaus.jettison.json.JSONObject;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Metadata service.
- */
-@Deprecated
-public interface MetadataService {
-
-    /**
-     * Creates a new type based on the type system to enable adding
-     * entities (instances for types).
-     *
-     * @param typeDefinition definition as json
-     * @return a unique id for this type
-     */
-    JSONObject createType(String typeDefinition) throws AtlasException;
-
-    /**z
-     * Updates the given types in the type definition
-     * @param typeDefinition
-     * @return
-     * @throws AtlasException
-     */
-    JSONObject updateType(String typeDefinition) throws AtlasException;
-
-    /**
-     * Return the definition for the given type.
-     *
-     * @param typeName name for this type, must be unique
-     * @return type definition as JSON
-     */
-    String getTypeDefinition(String typeName) throws AtlasException;
-
-    /**
-     * Return the list of type names in the type system which match the specified filter.
-     *
-     * @return list of type names
-     * @param filterMap - Map of filter for type names. Valid keys are CATEGORY, SUPERTYPE, NOT_SUPERTYPE
-     * For example, CATEGORY = TRAIT && SUPERTYPE contains 'X' && SUPERTYPE !contains 'Y'
-     * If there is no filter, all the types are returned
-     */
-    List<String> getTypeNames(Map<TypeCache.TYPE_FILTER, String> filterMap) throws AtlasException;
-
-    /**
-     * Creates an entity, instance of the type.
-     *
-     * @param entityDefinition definition
-     * @return CreateUpdateEntitiesResult with the guids of the entities created
-     */
-   CreateUpdateEntitiesResult createEntities(String entityDefinition) throws AtlasException;
-
-    /**
-     * Get a typed entity instance.
-     *
-     * @param entity entity
-     * @return typed entity instance
-     *
-     * @throws AtlasException if any failure occurs
-     */
-    ITypedReferenceableInstance getTypedReferenceableInstance(Referenceable entity) throws AtlasException;
-
-    /**
-     * Create entity instances.
-     *
-     * @param typedInstances  instance to create
-     * @return CreateUpdateEntitiesResult with the guids of the entities created
-     *
-     * @throws AtlasException if unable to create the entities
-     */
-    CreateUpdateEntitiesResult createEntities(ITypedReferenceableInstance[] typedInstances) throws AtlasException;
-
-
-    /**
-     * Return the definition for the given guid.
-     *
-     * @param guid guid
-     * @return entity definition as JSON
-     */
-    String getEntityDefinitionJson(String guid) throws AtlasException;
-
-    ITypedReferenceableInstance getEntityDefinition(String guid) throws AtlasException;
-
-
-    /**
-     * Return the definition given type and attribute. The attribute has to be unique attribute for the type
-     * @param entityType - type name
-     * @param attribute - attribute name
-     * @param value - attribute value
-     * @return
-     * @throws AtlasException
-     */
-    ITypedReferenceableInstance getEntityDefinitionReference(String entityType, String attribute, String value) throws AtlasException;
-
-    /**
-     * Return the definition given type and attribute. The attribute has to be unique attribute for the type
-     * @param entityType - type name
-     * @param attribute - attribute name
-     * @param value - attribute value
-     * @return
-     * @throws AtlasException
-     */
-    String getEntityDefinition(String entityType, String attribute, String value) throws AtlasException;
-
-    /**
-     * Return the list of entity names for the given type in the repository.
-     *
-     * @param entityType type
-     * @return list of entity names for the given type in the repository
-     */
-    List<String> getEntityList(String entityType) throws AtlasException;
-
-    /**
-     * Adds the property to the given entity id(guid).
-     * Currently supports updates only on PRIMITIVE, CLASS attribute types
-     *  @param guid entity id
-     * @param attribute property name
-     * @param value    property value
-     * @return {@link CreateUpdateEntitiesResult} with the guids of the entities that were created/updated
-     */
-    CreateUpdateEntitiesResult updateEntityAttributeByGuid(String guid, String attribute, String value) throws AtlasException;
-
-    /**
-     * Supports Partial updates of an entity. Users can update a subset of attributes for an entity identified by its guid
-     * Note however that it cannot be used to set attribute values to null or delete attrbute values
-     * @param guid entity id
-     * @param entity
-     * @return {@link CreateUpdateEntitiesResult} with the guids of the entities that were created/updated
-     * @throws AtlasException
-     */
-    CreateUpdateEntitiesResult updateEntityPartialByGuid(String guid, Referenceable entity) throws AtlasException;
-
-    /**
-     * Batch API - Adds/Updates the given entity id(guid).
-     *
-     * @param entityJson entity json
-     * @return {@link CreateUpdateEntitiesResult} with the guids of the entities that were created/updated
-     */
-    CreateUpdateEntitiesResult updateEntities(String entityJson) throws AtlasException;
-
-
-    /**
-     * Batch API - Adds/Updates the given entity id(guid).
-     *
-     * @param entityJson entity json
-     * @return {@link CreateUpdateEntitiesResult} with the guids of the entities that were created/updated
-     */
-    CreateUpdateEntitiesResult updateEntities(ITypedReferenceableInstance[] iTypedReferenceableInstances) throws AtlasException;
-
-    // Trait management functions
-
-    /**
-     * Updates entity identified by a qualified name
-     *
-     * @param typeName
-     * @param uniqueAttributeName
-     * @param attrValue
-     * @param updatedEntity
-     * @return Guid of updated entity
-     * @throws AtlasException
-     */
-    CreateUpdateEntitiesResult updateEntityByUniqueAttribute(String typeName, String uniqueAttributeName,
-                                                           String attrValue,
-                                                           Referenceable updatedEntity) throws AtlasException;
-
-    /**
-     * Gets the list of trait names for a given entity represented by a guid.
-     *
-     * @param guid globally unique identifier for the entity
-     * @return a list of trait names for the given entity guid
-     * @throws AtlasException
-     */
-    List<String> getTraitNames(String guid) throws AtlasException;
-
-    /**
-     * Adds a new trait to an existing entity represented by a guid.
-     *
-     * @param guid          globally unique identifier for the entity
-     * @param traitInstanceDefinition trait instance that needs to be added to entity
-     * @throws AtlasException
-     */
-    void addTrait(String guid, String traitInstanceDefinition) throws AtlasException;
-
-    /**
-     * Adds a new trait to an existing entity represented by a guid.
-     *
-     * @param guid           globally unique identifier for the entity
-     * @param traitInstance  trait instance to add     *
-     * @throws AtlasException if unable to add the trait instance
-     */
-    void addTrait(String guid, ITypedStruct traitInstance) throws AtlasException;
-
-
-    /**
-     * Adds a new trait to a list of existing entities represented by their respective guids
-     * @param entityGuids   list of guids of entities
-     * @param traitInstance trait instance json that needs to be added to entities
-     * @throws AtlasException
-     */
-    void addTrait(List<String> entityGuids, ITypedStruct traitInstance) throws AtlasException;
-
-    /**
-     * Create a typed trait instance.
-     *
-     * @param traitInstance  trait instance
-     * @return a typed trait instance
-     * @throws AtlasException if unable to create the typed trait instance
-     */
-    ITypedStruct createTraitInstance(Struct traitInstance) throws AtlasException;
-
-    /**
-     * Return trait definition of a single trait for a given entity
-     * @param guid - Guid of the entity to which the trait is tagged
-     * @param traitName - Name of the trait
-     * @return
-     * @throws AtlasException
-     */
-    IStruct getTraitDefinition(String guid, String traitName) throws AtlasException;
-
-    /**
-     * Deletes a given trait from an existing entity represented by a guid.
-     *
-     * @param guid                 globally unique identifier for the entity
-     * @param traitNameToBeDeleted name of the trait
-     * @throws AtlasException
-     */
-    void deleteTrait(String guid, String traitNameToBeDeleted) throws AtlasException;
-
-    /**
-     * Delete the specified entities from the repository
-     * 
-     * @param guids entity guids to be deleted
-     * @return List of guids for deleted entities
-     * @throws AtlasException
-     */
-    EntityResult deleteEntities(List<String> guids) throws AtlasException;
-    
-    /**
-     * Register a listener for entity change.
-     *
-     * @param listener  the listener to register
-     */
-    void registerListener(EntityChangeListener listener);
-
-    /**
-     * Unregister an entity change listener.
-     *
-     * @param listener  the listener to unregister
-     */
-    void unregisterListener(EntityChangeListener listener);
-
-    /**
-     * Delete the specified entity from the repository identified by its unique attribute (including its composite references)
-     *
-     * @param typeName The entity's type
-     * @param uniqueAttributeName attribute name by which the entity could be identified uniquely
-     * @param attrValue attribute value by which the entity could be identified uniquely
-     * @return List of guids for deleted entities (including their composite references)
-     * @throws AtlasException
-     */
-    EntityResult deleteEntityByUniqueAttribute(String typeName, String uniqueAttributeName,
-                                               String attrValue) throws AtlasException;
-
-    /**
-     * Returns entity audit events for entity id in the decreasing order of timestamp
-     * @param guid entity id
-     * @param startKey key for the first event, used for pagination
-     * @param count number of events to be returned
-     * @return
-     */
-    List<EntityAuditEvent> getAuditEvents(String guid, String startKey, short count) throws AtlasException;
-
-    /**
-     * Deserializes entity instances into ITypedReferenceableInstance array.
-     * @param entityInstanceDefinition
-     * @return ITypedReferenceableInstance[]
-     * @throws AtlasException
-     */
-    ITypedReferenceableInstance[] deserializeClassInstances(String entityInstanceDefinition) throws AtlasException;
-
-    ITypedReferenceableInstance validateAndConvertToTypedInstance(IReferenceableInstance updatedEntity, String typeName)
-                                                                                                throws AtlasException;
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityExistsException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityExistsException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityExistsException.java
deleted file mode 100644
index b16cfa9..0000000
--- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityExistsException.java
+++ /dev/null
@@ -1,32 +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
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * 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.typesystem.exception;
-
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.typesystem.IReferenceableInstance;
-
-public class EntityExistsException extends AtlasException {
-    public EntityExistsException(IReferenceableInstance typedInstance, Exception e) {
-        super("Model violation for type "+ typedInstance.getTypeName(), e);
-    }
-
-    public EntityExistsException(IReferenceableInstance typedInstance) {
-        super("Model violation for type "+ typedInstance.getTypeName());
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityNotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityNotFoundException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityNotFoundException.java
deleted file mode 100644
index 7579b80..0000000
--- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/EntityNotFoundException.java
+++ /dev/null
@@ -1,44 +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.typesystem.exception;
-
-/**
- * A simple wrapper for 404.
- */
-public class EntityNotFoundException extends NotFoundException {
-    public EntityNotFoundException() {
-    }
-
-    public EntityNotFoundException(String message) {
-        super(message);
-    }
-
-    public EntityNotFoundException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public EntityNotFoundException(Throwable cause) {
-        super(cause);
-    }
-
-    public EntityNotFoundException(String message, Throwable cause, boolean enableSuppression,
-            boolean writableStackTrace) {
-        super(message, cause, enableSuppression, writableStackTrace);
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/NotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/NotFoundException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/NotFoundException.java
deleted file mode 100644
index b45b970..0000000
--- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/NotFoundException.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.typesystem.exception;
-
-import org.apache.atlas.AtlasException;
-
-/**
- * A simple wrapper for 404.
- */
-public class NotFoundException extends AtlasException {
-    public NotFoundException() {
-    }
-
-    public NotFoundException(String message) {
-        super(message);
-    }
-
-    public NotFoundException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public NotFoundException(Throwable cause) {
-        super(cause);
-    }
-
-    public NotFoundException(String message, Throwable cause, boolean enableSuppression,
-                             boolean writableStackTrace) {
-        super(message, cause, enableSuppression, writableStackTrace);
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/NullRequiredAttributeException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/NullRequiredAttributeException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/NullRequiredAttributeException.java
deleted file mode 100644
index db4b054..0000000
--- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/NullRequiredAttributeException.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.typesystem.exception;
-
-import org.apache.atlas.AtlasException;
-import org.apache.atlas.typesystem.types.Multiplicity;
-
-
-/**
- * Thrown when a repository operation attempts to
- * unset an attribute that is defined as required in the
- * type system.  A required attribute has a non-zero
- * lower bound in its multiplicity.
- *
- * @see Multiplicity#REQUIRED
- * @see Multiplicity#COLLECTION
- * @see Multiplicity#SET
- *
- */
-public class NullRequiredAttributeException extends AtlasException {
-
-    private static final long serialVersionUID = 4023597038462910948L;
-
-    public NullRequiredAttributeException() {
-        super();
-    }
-
-    public NullRequiredAttributeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
-        super(message, cause, enableSuppression, writableStackTrace);
-    }
-
-    public NullRequiredAttributeException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public NullRequiredAttributeException(String message) {
-        super(message);
-    }
-
-    public NullRequiredAttributeException(Throwable cause) {
-        super(cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/435fe3fb/server-api/src/main/java/org/apache/atlas/typesystem/exception/SchemaNotFoundException.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/typesystem/exception/SchemaNotFoundException.java b/server-api/src/main/java/org/apache/atlas/typesystem/exception/SchemaNotFoundException.java
deleted file mode 100644
index 55b4088..0000000
--- a/server-api/src/main/java/org/apache/atlas/typesystem/exception/SchemaNotFoundException.java
+++ /dev/null
@@ -1,40 +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.typesystem.exception;
-
-public class SchemaNotFoundException extends NotFoundException {
-    public SchemaNotFoundException() {
-    }
-
-    public SchemaNotFoundException(String message) {
-        super(message);
-    }
-
-    public SchemaNotFoundException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public SchemaNotFoundException(Throwable cause) {
-        super(cause);
-    }
-
-    public SchemaNotFoundException(String message, Throwable cause, boolean enableSuppression,
-        boolean writableStackTrace) {
-        super(message, cause, enableSuppression, writableStackTrace);
-    }
-}