http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
----------------------------------------------------------------------
diff --git a/intg/src/test/java/org/apache/atlas/TestUtilsV2.java 
b/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
index 91fdb47..5564955 100755
--- a/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
+++ b/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
@@ -18,8 +18,6 @@
 
 package org.apache.atlas;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
 import org.apache.atlas.model.instance.AtlasEntity;
 import org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo;
 import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
@@ -30,7 +28,6 @@ import org.apache.atlas.model.typedef.AtlasClassificationDef;
 import org.apache.atlas.model.typedef.AtlasEntityDef;
 import org.apache.atlas.model.typedef.AtlasEnumDef;
 import org.apache.atlas.model.typedef.AtlasEnumDef.AtlasEnumElementDef;
-import org.apache.atlas.model.typedef.AtlasRelationshipDef;
 import org.apache.atlas.model.typedef.AtlasStructDef;
 import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef;
 import 
org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality;
@@ -92,7 +89,7 @@ public final class TestUtilsV2 {
                         AtlasTypeUtil.createRequiredAttrDef("city", "string"));
 
         AtlasEntityDef deptTypeDef =
-                AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description, ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Employee"), true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false,
@@ -100,7 +97,7 @@ public final class TestUtilsV2 {
                                 add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                             }}));
 
-        AtlasEntityDef personTypeDef = 
AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description, 
ImmutableSet.<String>of(),
+        AtlasEntityDef personTypeDef = 
AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description, 
Collections.<String>emptySet(),
                 AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
                 AtlasTypeUtil.createOptionalAttrDef("address", "Address"),
                 AtlasTypeUtil.createOptionalAttrDef("birthday", "date"),
@@ -113,7 +110,7 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createOptionalAttrDef("approximationOfPi", 
"bigdecimal")
         );
 
-        AtlasEntityDef employeeTypeDef = 
AtlasTypeUtil.createClassTypeDef("Employee", "Employee"+_description, 
ImmutableSet.of("Person"),
+        AtlasEntityDef employeeTypeDef = 
AtlasTypeUtil.createClassTypeDef("Employee", "Employee"+_description, 
Collections.singleton("Person"),
                 AtlasTypeUtil.createOptionalAttrDef("orgLevel", "OrgLevel"),
                 new AtlasAttributeDef("department", "Department", false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
@@ -142,18 +139,18 @@ public final class TestUtilsV2 {
                 put(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, 
"employees");
             }}));
 
-        AtlasEntityDef managerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Manager", "Manager"+_description, 
ImmutableSet.of("Employee"),
+        AtlasEntityDef managerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Manager", "Manager"+_description, 
Collections.singleton("Employee"),
                 new AtlasAttributeDef("subordinates", 
String.format("array<%s>", "Employee"), false, 
AtlasAttributeDef.Cardinality.SET,
                         1, 10, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         AtlasClassificationDef securityClearanceTypeDef =
-                AtlasTypeUtil.createTraitTypeDef("SecurityClearance", 
"SecurityClearance"+_description, ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef("SecurityClearance", 
"SecurityClearance"+_description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
-        AtlasTypesDef ret = new AtlasTypesDef(ImmutableList.of(orgLevelEnum), 
ImmutableList.of(addressDetails),
-                ImmutableList.of(securityClearanceTypeDef),
-                ImmutableList.of(deptTypeDef, personTypeDef, employeeTypeDef, 
managerTypeDef));
+        AtlasTypesDef ret = new 
AtlasTypesDef(Collections.singletonList(orgLevelEnum), 
Collections.singletonList(addressDetails),
+                Collections.singletonList(securityClearanceTypeDef),
+                Arrays.asList(deptTypeDef, personTypeDef, employeeTypeDef, 
managerTypeDef));
 
         populateSystemAttributes(ret);
 
@@ -161,7 +158,7 @@ public final class TestUtilsV2 {
     }
 
     public static AtlasTypesDef defineInverseReferenceTestTypes() {
-        AtlasEntityDef aDef = AtlasTypeUtil.createClassTypeDef("A", 
ImmutableSet.<String>of(),
+        AtlasEntityDef aDef = AtlasTypeUtil.createClassTypeDef("A", 
Collections.<String>emptySet(),
             AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
             new AtlasAttributeDef("b", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-1
             new AtlasAttributeDef("oneB", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-*
@@ -170,7 +167,7 @@ public final class TestUtilsV2 {
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
                 AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, 
"mappedFromA"))))); // *-*
 
-        AtlasEntityDef bDef = AtlasTypeUtil.createClassTypeDef("B", 
ImmutableSet.<String>of(),
+        AtlasEntityDef bDef = AtlasTypeUtil.createClassTypeDef("B", 
Collections.<String>emptySet(),
             AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
             new AtlasAttributeDef("a", "A", true, Cardinality.SINGLE, 0, 1, 
false, false,
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
@@ -183,7 +180,7 @@ public final class TestUtilsV2 {
                     AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, "manyB")))),
             new AtlasAttributeDef("mappedFromA", "A", true, 
Cardinality.SINGLE, 0, 1, false, false, 
Collections.<AtlasConstraintDef>emptyList()));
 
-        AtlasTypesDef ret = new 
AtlasTypesDef(ImmutableList.<AtlasEnumDef>of(), 
ImmutableList.<AtlasStructDef>of(), ImmutableList.<AtlasClassificationDef>of(), 
ImmutableList.<AtlasEntityDef>of(aDef, bDef));
+        AtlasTypesDef ret = new 
AtlasTypesDef(Collections.<AtlasEnumDef>emptyList(), 
Collections.<AtlasStructDef>emptyList(), 
Collections.<AtlasClassificationDef>emptyList(), Arrays.asList(aDef, bDef));
 
         populateSystemAttributes(ret);
 
@@ -207,7 +204,7 @@ public final class TestUtilsV2 {
 
         AtlasEntityDef deptTypeDef =
                 AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description,
-                        ImmutableSet.<String>of(),
+                        Collections.<String>emptySet(),
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("dep-code", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Employee"), true,
@@ -217,7 +214,7 @@ public final class TestUtilsV2 {
                             }}));
 
         AtlasEntityDef personTypeDef = 
AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description,
-                ImmutableSet.<String>of(),
+                Collections.<String>emptySet(),
                 AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
                 AtlasTypeUtil.createOptionalAttrDef("email", "string"),
                 AtlasTypeUtil.createOptionalAttrDef("address", "Address"),
@@ -232,7 +229,7 @@ public final class TestUtilsV2 {
         );
 
         AtlasEntityDef employeeTypeDef = 
AtlasTypeUtil.createClassTypeDef("Employee", "Employee"+_description,
-                ImmutableSet.of("Person"),
+                Collections.singleton("Person"),
                 AtlasTypeUtil.createOptionalAttrDef("orgLevel", "OrgLevel"),
                 AtlasTypeUtil.createOptionalAttrDef("empCode", "string"),
                 new AtlasAttributeDef("department", "Department", false,
@@ -258,19 +255,19 @@ public final class TestUtilsV2 {
         );
 
         AtlasEntityDef managerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Manager", "Manager"+_description,
-                ImmutableSet.of("Employee"),
+                Collections.singleton("Employee"),
                 new AtlasAttributeDef("subordinates", 
String.format("array<%s>", "Employee"), false, 
AtlasAttributeDef.Cardinality.SET,
                         1, 10, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         AtlasClassificationDef securityClearanceTypeDef =
-                AtlasTypeUtil.createTraitTypeDef("SecurityClearance", 
"SecurityClearance"+_description, ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef("SecurityClearance", 
"SecurityClearance"+_description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
-        AtlasTypesDef ret = new AtlasTypesDef(ImmutableList.of(orgLevelEnum),
-                ImmutableList.of(addressDetails),
-                ImmutableList.of(securityClearanceTypeDef),
-                ImmutableList.of(deptTypeDef, personTypeDef, employeeTypeDef, 
managerTypeDef));
+        AtlasTypesDef ret = new 
AtlasTypesDef(Collections.singletonList(orgLevelEnum),
+                Collections.singletonList(addressDetails),
+                Collections.singletonList(securityClearanceTypeDef),
+                Arrays.asList(deptTypeDef, personTypeDef, employeeTypeDef, 
managerTypeDef));
 
         populateSystemAttributes(ret);
 
@@ -295,7 +292,7 @@ public final class TestUtilsV2 {
                         AtlasTypeUtil.createRequiredAttrDef("zip", "int"));
 
         AtlasEntityDef deptTypeDef =
-                AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description, ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("name", "string"),
                         AtlasTypeUtil.createRequiredAttrDef("dep-code", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Person"), true,
@@ -304,7 +301,7 @@ public final class TestUtilsV2 {
                                 add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                             }}));
 
-        AtlasEntityDef personTypeDef = 
AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description, 
ImmutableSet.<String>of(),
+        AtlasEntityDef personTypeDef = 
AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description, 
Collections.<String>emptySet(),
                 AtlasTypeUtil.createRequiredAttrDef("name", "string"),
                 AtlasTypeUtil.createRequiredAttrDef("emp-code", "string"),
                 AtlasTypeUtil.createOptionalAttrDef("orgLevel", "OrgLevel"),
@@ -338,10 +335,10 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createOptionalAttrDef("approximationOfPi", 
"bigdecimal")
         );
 
-        AtlasTypesDef ret = new AtlasTypesDef(ImmutableList.of(orgLevelEnum),
-                ImmutableList.of(addressDetails),
-                ImmutableList.<AtlasClassificationDef>of(),
-                ImmutableList.of(deptTypeDef, personTypeDef));
+        AtlasTypesDef ret = new 
AtlasTypesDef(Collections.singletonList(orgLevelEnum),
+                                              
Collections.singletonList(addressDetails),
+                                              
Collections.<AtlasClassificationDef>emptyList(),
+                                              Arrays.asList(deptTypeDef, 
personTypeDef));
 
         populateSystemAttributes(ret);
 
@@ -390,7 +387,7 @@ public final class TestUtilsV2 {
             julius.setAttribute("name", "Julius");
             julius.setAttribute("department", hrDeptId);
             julius.setAttribute("address", juliusAddr);
-            julius.setAttribute("subordinates", ImmutableList.of());
+            julius.setAttribute("subordinates", Collections.emptyList());
 
         /******* Employee - Max (Manager: Jane, Mentor: Julius) *******/
         AtlasEntity   max   = new AtlasEntity(EMPLOYEE_TYPE);
@@ -430,8 +427,8 @@ public final class TestUtilsV2 {
             john.setAttribute("numberOfStarsEstimate", new 
BigInteger("1000000000000000000000"));
             john.setAttribute("approximationOfPi", new 
BigDecimal("3.141592653589793238462643383279502884197169399375105820974944592307816406286"));
 
-        jane.setAttribute("subordinates", ImmutableList.of(johnId, maxId));
-        hrDept.setAttribute("employees", ImmutableList.of(janeId, juliusId, 
maxId, johnId));
+        jane.setAttribute("subordinates", Arrays.asList(johnId, maxId));
+        hrDept.setAttribute("employees", Arrays.asList(janeId, juliusId, 
maxId, johnId));
 
         entitiesWithExtInfo.addEntity(hrDept);
         entitiesWithExtInfo.addEntity(jane);
@@ -487,7 +484,7 @@ public final class TestUtilsV2 {
         juliusAddr.setAttribute("street", "Madison Ave");
         juliusAddr.setAttribute("city", "Newtonville");
         julius.setAttribute("address", juliusAddr);
-        julius.setAttribute("subordinates", ImmutableList.of());
+        julius.setAttribute("subordinates", Collections.emptyList());
 
         AtlasObjectId janeId = AtlasTypeUtil.getAtlasObjectId(jane);
         AtlasObjectId johnId = AtlasTypeUtil.getAtlasObjectId(john);
@@ -516,9 +513,9 @@ public final class TestUtilsV2 {
 
         john.setAttribute("manager", janeId);
         john.setAttribute("mentor", maxId);
-        hrDept.setAttribute("employees", ImmutableList.of(johnId, janeId, 
juliusId, maxId));
+        hrDept.setAttribute("employees", Arrays.asList(johnId, janeId, 
juliusId, maxId));
 
-        jane.setAttribute("subordinates", ImmutableList.of(johnId, maxId));
+        jane.setAttribute("subordinates", Arrays.asList(johnId, maxId));
 
         deptEmpEntities.put(jane.getGuid(), jane);
         deptEmpEntities.put(john.getGuid(), john);
@@ -549,20 +546,20 @@ public final class TestUtilsV2 {
 
     public static AtlasTypesDef simpleType(){
         AtlasEntityDef superTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef("h_type", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef("h_type", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createOptionalAttrDef("attr", "string"));
 
         AtlasStructDef structTypeDefinition = new AtlasStructDef("s_type", 
"structType", "1.0",
                 Arrays.asList(AtlasTypeUtil.createRequiredAttrDef("name", 
"string")));
 
         AtlasClassificationDef traitTypeDefinition =
-                AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", 
ImmutableSet.<String>of());
+                AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", 
Collections.<String>emptySet());
 
         AtlasEnumDef enumTypeDefinition = new AtlasEnumDef("e_type", 
"enumType", "1.0",
                 Arrays.asList(new AtlasEnumElementDef("ONE", "Element 
Description", 1)));
 
-        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(ImmutableList.of(enumTypeDefinition), 
ImmutableList.of(structTypeDefinition),
-                ImmutableList.of(traitTypeDefinition), 
ImmutableList.of(superTypeDefinition));
+        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(Collections.singletonList(enumTypeDefinition), 
Collections.singletonList(structTypeDefinition),
+                Collections.singletonList(traitTypeDefinition), 
Collections.singletonList(superTypeDefinition));
 
         populateSystemAttributes(ret);
 
@@ -571,23 +568,23 @@ public final class TestUtilsV2 {
 
     public static AtlasTypesDef simpleTypeUpdated(){
         AtlasEntityDef superTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef("h_type", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef("h_type", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createOptionalAttrDef("attr", "string"));
 
         AtlasEntityDef newSuperTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef("new_h_type", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef("new_h_type", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createOptionalAttrDef("attr", "string"));
 
         AtlasStructDef structTypeDefinition = new AtlasStructDef("s_type", 
"structType", "1.0",
                 Arrays.asList(AtlasTypeUtil.createRequiredAttrDef("name", 
"string")));
 
         AtlasClassificationDef traitTypeDefinition =
-                AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", 
ImmutableSet.<String>of());
+                AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", 
Collections.<String>emptySet());
 
         AtlasEnumDef enumTypeDefinition = new AtlasEnumDef("e_type", 
"enumType",
                 Arrays.asList(new AtlasEnumElementDef("ONE", "Element 
Description", 1)));
-        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(ImmutableList.of(enumTypeDefinition), 
ImmutableList.of(structTypeDefinition),
-                ImmutableList.of(traitTypeDefinition), 
ImmutableList.of(superTypeDefinition, newSuperTypeDefinition));
+        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(Collections.singletonList(enumTypeDefinition), 
Collections.singletonList(structTypeDefinition),
+                Collections.singletonList(traitTypeDefinition), 
Arrays.asList(superTypeDefinition, newSuperTypeDefinition));
 
         populateSystemAttributes(ret);
 
@@ -596,13 +593,13 @@ public final class TestUtilsV2 {
 
     public static AtlasTypesDef simpleTypeUpdatedDiff() {
         AtlasEntityDef newSuperTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef("new_h_type", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef("new_h_type", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createOptionalAttrDef("attr", "string"));
 
-        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(ImmutableList.<AtlasEnumDef>of(),
-                ImmutableList.<AtlasStructDef>of(),
-                ImmutableList.<AtlasClassificationDef>of(),
-                ImmutableList.of(newSuperTypeDefinition));
+        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(Collections.<AtlasEnumDef>emptyList(),
+                Collections.<AtlasStructDef>emptyList(),
+                Collections.<AtlasClassificationDef>emptyList(),
+                Collections.singletonList(newSuperTypeDefinition));
 
         populateSystemAttributes(ret);
 
@@ -613,12 +610,12 @@ public final class TestUtilsV2 {
     public static AtlasTypesDef defineHiveTypes() {
         String _description = "_description";
         AtlasEntityDef superTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef(SUPER_TYPE_NAME, 
"SuperType_description", ImmutableSet.<String>of(),
+                AtlasTypeUtil.createClassTypeDef(SUPER_TYPE_NAME, 
"SuperType_description", Collections.<String>emptySet(),
                         AtlasTypeUtil.createOptionalAttrDef("namespace", 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("cluster", 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("colo", "string"));
         AtlasEntityDef databaseTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef(DATABASE_TYPE, DATABASE_TYPE 
+ _description,ImmutableSet.of(SUPER_TYPE_NAME),
+                AtlasTypeUtil.createClassTypeDef(DATABASE_TYPE, DATABASE_TYPE 
+ _description,Collections.singleton(SUPER_TYPE_NAME),
                         AtlasTypeUtil.createUniqueRequiredAttrDef(NAME, 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("isReplicated", 
"boolean"),
                         AtlasTypeUtil.createOptionalAttrDef("created", 
"string"),
@@ -640,7 +637,7 @@ public final class TestUtilsV2 {
 
         AtlasEntityDef columnsDefinition =
                 AtlasTypeUtil.createClassTypeDef(COLUMN_TYPE, COLUMN_TYPE + 
"_description",
-                        ImmutableSet.<String>of(),
+                        Collections.<String>emptySet(),
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         AtlasTypeUtil.createRequiredAttrDef("type", "string"),
                         AtlasTypeUtil.createOptionalAttrDef("description", 
"string"),
@@ -684,7 +681,7 @@ public final class TestUtilsV2 {
 
         AtlasEntityDef storageDescClsDef =
                 new AtlasEntityDef(STORAGE_DESC_TYPE, STORAGE_DESC_TYPE + 
_description, "1.0",
-                        Arrays.asList(attributeDefinitions), 
ImmutableSet.of(SUPER_TYPE_NAME));
+                        Arrays.asList(attributeDefinitions), 
Collections.singleton(SUPER_TYPE_NAME));
 
         AtlasAttributeDef[] partClsAttributes = new AtlasAttributeDef[]{
                 new AtlasAttributeDef("values", "array<string>",
@@ -720,7 +717,7 @@ public final class TestUtilsV2 {
 
         AtlasEntityDef partClsDef =
                 new AtlasEntityDef("partition_class_type", 
"partition_class_type" + _description, "1.0",
-                        Arrays.asList(partClsAttributes), 
ImmutableSet.of(SUPER_TYPE_NAME));
+                        Arrays.asList(partClsAttributes), 
Collections.singleton(SUPER_TYPE_NAME));
 
         AtlasEntityDef processClsType =
                 new AtlasEntityDef(PROCESS_TYPE, PROCESS_TYPE + _description, 
"1.0",
@@ -728,10 +725,10 @@ public final class TestUtilsV2 {
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
                                 false, false,
                                 Collections.<AtlasConstraintDef>emptyList())),
-                        ImmutableSet.<String>of());
+                        Collections.<String>emptySet());
 
         AtlasEntityDef tableTypeDefinition =
-                AtlasTypeUtil.createClassTypeDef(TABLE_TYPE, TABLE_TYPE + 
_description, ImmutableSet.of(SUPER_TYPE_NAME),
+                AtlasTypeUtil.createClassTypeDef(TABLE_TYPE, TABLE_TYPE + 
_description, Collections.singleton(SUPER_TYPE_NAME),
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("description", 
"string"),
                         AtlasTypeUtil.createRequiredAttrDef("type", "string"),
@@ -810,26 +807,25 @@ public final class TestUtilsV2 {
                         ));
 
         AtlasClassificationDef piiTypeDefinition =
-                AtlasTypeUtil.createTraitTypeDef(PII, PII + _description, 
ImmutableSet.<String>of());
+                AtlasTypeUtil.createTraitTypeDef(PII, PII + _description, 
Collections.<String>emptySet());
 
         AtlasClassificationDef classificationTypeDefinition =
-                AtlasTypeUtil.createTraitTypeDef(CLASSIFICATION, 
CLASSIFICATION + _description, ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef(CLASSIFICATION, 
CLASSIFICATION + _description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("tag", "string"));
 
         AtlasClassificationDef fetlClassificationTypeDefinition =
-                AtlasTypeUtil.createTraitTypeDef("fetl" + CLASSIFICATION, 
"fetl" + CLASSIFICATION + _description, ImmutableSet.of(CLASSIFICATION),
+                AtlasTypeUtil.createTraitTypeDef("fetl" + CLASSIFICATION, 
"fetl" + CLASSIFICATION + _description, Collections.singleton(CLASSIFICATION),
                         AtlasTypeUtil.createRequiredAttrDef("tag", "string"));
 
-        AtlasClassificationDef phiTypeDefinition = 
AtlasTypeUtil.createTraitTypeDef(PHI, PHI + _description, 
ImmutableSet.<String>of(),
+        AtlasClassificationDef phiTypeDefinition = 
AtlasTypeUtil.createTraitTypeDef(PHI, PHI + _description, 
Collections.<String>emptySet(),
                                                                                
     AtlasTypeUtil.createRequiredAttrDef("stringAttr", "string"),
                                                                                
     AtlasTypeUtil.createRequiredAttrDef("booleanAttr", "boolean"),
                                                                                
     AtlasTypeUtil.createRequiredAttrDef("integerAttr", "int"));
 
-        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(ImmutableList.of(enumTypeDefinition),
-                ImmutableList.of(structTypeDefinition, partitionDefinition),
-                ImmutableList.of(classificationTypeDefinition, 
fetlClassificationTypeDefinition, piiTypeDefinition, phiTypeDefinition),
-                ImmutableList.of(superTypeDefinition, databaseTypeDefinition, 
columnsDefinition, tableTypeDefinition,
-                        storageDescClsDef, partClsDef, processClsType));
+        AtlasTypesDef ret = 
AtlasTypeUtil.getTypesDef(Collections.singletonList(enumTypeDefinition),
+                                                      
Arrays.asList(structTypeDefinition, partitionDefinition),
+                                                      
Arrays.asList(classificationTypeDefinition, fetlClassificationTypeDefinition, 
piiTypeDefinition, phiTypeDefinition),
+                                                      
Arrays.asList(superTypeDefinition, databaseTypeDefinition, columnsDefinition, 
tableTypeDefinition, storageDescClsDef, partClsDef, processClsType));
 
         populateSystemAttributes(ret);
 
@@ -990,11 +986,11 @@ public final class TestUtilsV2 {
 
     public static List<AtlasClassificationDef> 
getClassificationWithValidSuperType() {
         AtlasClassificationDef securityClearanceTypeDef =
-                AtlasTypeUtil.createTraitTypeDef("SecurityClearance1", 
"SecurityClearance_description", ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef("SecurityClearance1", 
"SecurityClearance_description", Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
         AtlasClassificationDef janitorSecurityClearanceTypeDef =
-                AtlasTypeUtil.createTraitTypeDef("JanitorClearance", 
"JanitorClearance_description", ImmutableSet.of("SecurityClearance1"),
+                AtlasTypeUtil.createTraitTypeDef("JanitorClearance", 
"JanitorClearance_description", Collections.singleton("SecurityClearance1"),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
         List<AtlasClassificationDef> ret = 
Arrays.asList(securityClearanceTypeDef, janitorSecurityClearanceTypeDef);
@@ -1006,7 +1002,7 @@ public final class TestUtilsV2 {
 
     public static List<AtlasClassificationDef> 
getClassificationWithName(String name) {
         AtlasClassificationDef classificationTypeDef =
-                AtlasTypeUtil.createTraitTypeDef(name, "s_description", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef(name, "s_description", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
 
@@ -1019,7 +1015,7 @@ public final class TestUtilsV2 {
 
     public static AtlasClassificationDef 
getSingleClassificationWithName(String name) {
         AtlasClassificationDef classificaitonTypeDef =
-                AtlasTypeUtil.createTraitTypeDef(name, "s_description", 
ImmutableSet.<String>of(),
+                AtlasTypeUtil.createTraitTypeDef(name, "s_description", 
Collections.<String>emptySet(),
                         AtlasTypeUtil.createRequiredAttrDef("level", "int"));
 
         populateSystemAttributes(classificaitonTypeDef);
@@ -1032,7 +1028,7 @@ public final class TestUtilsV2 {
     }
 
     public static List<AtlasEntityDef> getEntityWithValidSuperType() {
-        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Developer", "Developer_description", 
ImmutableSet.of("Employee"),
+        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Developer", "Developer_description", 
Collections.singleton("Employee"),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
                         1, 10, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
@@ -1045,7 +1041,7 @@ public final class TestUtilsV2 {
     }
 
     public static List<AtlasEntityDef> getEntityWithName(String name) {
-        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
ImmutableSet.<String>of(),
+        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
Collections.<String>emptySet(),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
                         1, 10, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
@@ -1058,7 +1054,7 @@ public final class TestUtilsV2 {
     }
 
     public static AtlasEntityDef getSingleEntityWithName(String name) {
-        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
ImmutableSet.<String>of(),
+        AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
Collections.<String>emptySet(),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
                         1, 10, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/java/org/apache/atlas/type/TestAtlasRelationshipType.java
----------------------------------------------------------------------
diff --git 
a/intg/src/test/java/org/apache/atlas/type/TestAtlasRelationshipType.java 
b/intg/src/test/java/org/apache/atlas/type/TestAtlasRelationshipType.java
index 8f3ac5b..819dfe5 100644
--- a/intg/src/test/java/org/apache/atlas/type/TestAtlasRelationshipType.java
+++ b/intg/src/test/java/org/apache/atlas/type/TestAtlasRelationshipType.java
@@ -17,7 +17,6 @@
  */
 package org.apache.atlas.type;
 
-import com.google.common.collect.ImmutableSet;
 import org.apache.atlas.AtlasErrorCode;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.model.typedef.AtlasBaseTypeDef;
@@ -33,10 +32,7 @@ import 
org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinali
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import static org.testng.Assert.fail;
 
@@ -195,22 +191,22 @@ public class TestAtlasRelationshipType {
     }
 
     private void createEmployeeTypes() throws AtlasBaseException {
-        AtlasEntityDef phoneDef      = 
AtlasTypeUtil.createClassTypeDef(PHONE_TYPE, getDescription(PHONE_TYPE), 
ImmutableSet.<String>of(),
+        AtlasEntityDef phoneDef      = 
AtlasTypeUtil.createClassTypeDef(PHONE_TYPE, getDescription(PHONE_TYPE), 
Collections.<String>emptySet(),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("phone_number", "int"),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("area_code", "int"),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("owner", EMPLOYEE_TYPE));
 
-        AtlasEntityDef employeeDef   = 
AtlasTypeUtil.createClassTypeDef(EMPLOYEE_TYPE, getDescription(EMPLOYEE_TYPE), 
ImmutableSet.<String>of(),
+        AtlasEntityDef employeeDef   = 
AtlasTypeUtil.createClassTypeDef(EMPLOYEE_TYPE, getDescription(EMPLOYEE_TYPE), 
Collections.<String>emptySet(),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("name", "string"),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("dob", "date"),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("age", "int"),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("phone_no", PHONE_TYPE));
 
-        AtlasEntityDef departmentDef = 
AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
getDescription(DEPARTMENT_TYPE), ImmutableSet.<String>of(),
+        AtlasEntityDef departmentDef = 
AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
getDescription(DEPARTMENT_TYPE), Collections.<String>emptySet(),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("name", "string"),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("count", "int"));
 
-        AtlasEntityDef addressDef    = 
AtlasTypeUtil.createClassTypeDef(ADDRESS_TYPE, getDescription(ADDRESS_TYPE), 
ImmutableSet.<String>of(),
+        AtlasEntityDef addressDef    = 
AtlasTypeUtil.createClassTypeDef(ADDRESS_TYPE, getDescription(ADDRESS_TYPE), 
Collections.<String>emptySet(),
                                                                         
AtlasTypeUtil.createOptionalAttrDef("street", "string"),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("city", "string"),
                                                                         
AtlasTypeUtil.createRequiredAttrDef("state", "string"),

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/intg/src/test/resources/atlas-application.properties 
b/intg/src/test/resources/atlas-application.properties
new file mode 100644
index 0000000..b937c33
--- /dev/null
+++ b/intg/src/test/resources/atlas-application.properties
@@ -0,0 +1,145 @@
+#
+# 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.
+#
+
+#system property
+atlas.data=${sys:user.dir}/target/data
+
+
+
+#re-use existing property
+atlas.graph.data=${atlas.data}/graph
+
+#plain property
+atlas.service=atlas
+
+#invalid system property
+atlas.db=${atlasdb}
+
+atlas.TypeSystem.impl=org.apache.atlas.typesystem.types.TypeSystem
+
+
+
+#########  Atlas Server Configs #########
+atlas.rest.address=http://localhost:31000
+
+#########  Graph Database Configs  #########
+
+
+# Graph database implementation.  Value inserted by maven.
+atlas.graphdb.backend=${graphdb.backend.impl}
+
+# Graph Storage
+atlas.graph.storage.backend=${graph.storage.backend}
+
+# Entity repository implementation
+atlas.EntityAuditRepository.impl=${entity.repository.impl}
+
+# Graph Search Index Backend
+atlas.graph.index.search.backend=${graph.index.backend}
+
+#Berkeley storage directory
+atlas.graph.storage.directory=${sys:atlas.data}/berkley
+
+#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}
+atlas.graph.index.search.max-result-set-size=150
+
+#########  Hive Lineage Configs  #########
+## Schema
+atlas.lineage.schema.query.hive_table=hive_table where __guid='%s'\, columns
+atlas.lineage.schema.query.hive_table_v1=hive_table_v1 where __guid='%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=4000
+atlas.kafka.auto.commit.interval.ms=100
+atlas.kafka.hook.group.id=atlas
+atlas.kafka.entities.group.id=atlas_entities
+#atlas.kafka.auto.commit.enable=false
+
+atlas.kafka.enable.auto.commit=false
+atlas.kafka.auto.offset.reset=earliest
+atlas.kafka.session.timeout.ms=30000
+
+
+
+#########  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
+
+#########  JAAS Configuration ########
+
+atlas.jaas.KafkaClient.loginModuleName = 
com.sun.security.auth.module.Krb5LoginModule
+atlas.jaas.KafkaClient.loginModuleControlFlag = required
+atlas.jaas.KafkaClient.option.useKeyTab = true
+atlas.jaas.KafkaClient.option.storeKey = true
+atlas.jaas.KafkaClient.option.serviceName = kafka
+atlas.jaas.KafkaClient.option.keyTab = 
/etc/security/keytabs/atlas.service.keytab
+atlas.jaas.KafkaClient.option.principal = atlas/_h...@example.com
+
+#########  High Availability Configuration ########
+atlas.server.ha.enabled=false
+#atlas.server.ids=id1
+#atlas.server.address.id1=localhost:21000
+
+#########POLICY FILE PATH #########
+# atlas.auth.policy.file=policy-store.txt
+
+atlas.authentication.method.file=true
+atlas.authentication.method.ldap.type=none
+# atlas.authentication.method.file.filename=users-credentials.properties
+atlas.authentication.method.kerberos=false
+
+#########  Gremlin Search Configuration  #########
+# Set to false to disable gremlin search.
+atlas.search.gremlin.enable=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/resources/policy-store.txt
----------------------------------------------------------------------
diff --git a/intg/src/test/resources/policy-store.txt 
b/intg/src/test/resources/policy-store.txt
new file mode 100644
index 0000000..048affe
--- /dev/null
+++ b/intg/src/test/resources/policy-store.txt
@@ -0,0 +1,9 @@
+##Policy Format
+##r-READ, w-WRITE, u-UPDATE, d-DELETE
+##Policy_Name;;User_Name1:Operations_Allowed,User_Name2:Operations_Allowed;;Group_Name1:Operations_Allowed,Group_Name2:Operations_Allowed;;Resource_Type1:Resource_Name,Resource_Type2:Resource_Name
+##
+adminPolicy;;admin:rwud;;ROLE_ADMIN:rwud;;type:*,entity:*,operation:*
+dataScientistPolicy;;;;DATA_SCIENTIST:r;;type:*,entity:*
+dataStewardPolicy;;;;DATA_STEWARD:rwu;;type:*,entity:*
+hadoopPolicy;;;;hadoop:rwud;;type:*,entity:*,operation:*
+rangerTagSyncPolicy;;;;RANGER_TAG_SYNC:r;;type:*,entity:*

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/resources/sampleInstance.json
----------------------------------------------------------------------
diff --git a/intg/src/test/resources/sampleInstance.json 
b/intg/src/test/resources/sampleInstance.json
new file mode 100755
index 0000000..efcc48d
--- /dev/null
+++ b/intg/src/test/resources/sampleInstance.json
@@ -0,0 +1,72 @@
+{
+  "$typeName$": "Department",
+  "$id$": {
+    "id": -1420494283853484000,
+    "$typeName$": "Department",
+    "version": 0
+  },
+  "employees": [
+    {
+      "$typeName$": "Person",
+      "$id$": {
+        "id": -1420494283853508000,
+        "$typeName$": "Person",
+        "version": 0
+      },
+      "manager": {
+        "id": -1420494283853511000,
+        "$typeName$": "Manager",
+        "version": 0
+      },
+      "department": {
+        "id": -1420494283853484000,
+        "$typeName$": "Department",
+        "version": 0
+      },
+      "name": "John"
+    },
+    {
+      "$typeName$": "Manager",
+      "$id$": {
+        "id": -1420494283853511000,
+        "$typeName$": "Manager",
+        "version": 0
+      },
+      "manager": null,
+      "subordinates": [
+        {
+          "$typeName$": "Person",
+          "$id$": {
+            "id": -1420494283853508000,
+            "$typeName$": "Person",
+            "version": 0
+          },
+          "manager": {
+            "id": -1420494283853511000,
+            "$typeName$": "Manager",
+            "version": 0
+          },
+          "department": {
+            "id": -1420494283853484000,
+            "$typeName$": "Department",
+            "version": 0
+          },
+          "name": "John"
+        }
+      ],
+      "department": {
+        "id": -1420494283853484000,
+        "$typeName$": "Department",
+        "version": 0
+      },
+      "name": "Jane",
+      "$traits$": {
+        "SecurityClearance": {
+          "$typeName$": "SecurityClearance",
+          "level": 1
+        }
+      }
+    }
+  ],
+  "name": "hr"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/resources/sampleTypes.json
----------------------------------------------------------------------
diff --git a/intg/src/test/resources/sampleTypes.json 
b/intg/src/test/resources/sampleTypes.json
new file mode 100755
index 0000000..d0ac311
--- /dev/null
+++ b/intg/src/test/resources/sampleTypes.json
@@ -0,0 +1,633 @@
+{
+  "enumTypes": [
+    {
+      "name": "HiveObjectType",
+      "enumValues": [
+        {
+          "value": "GLOBAL",
+          "ordinal": 1
+        },
+        {
+          "value": "DATABASE",
+          "ordinal": 2
+        },
+        {
+          "value": "TABLE",
+          "ordinal": 3
+        },
+        {
+          "value": "PARTITION",
+          "ordinal": 4
+        },
+        {
+          "value": "COLUMN",
+          "ordinal": 5
+        }
+      ]
+    },
+    {
+      "name": "LockLevel",
+      "enumValues": [
+        {
+          "value": "DB",
+          "ordinal": 1
+        },
+        {
+          "value": "TABLE",
+          "ordinal": 2
+        },
+        {
+          "value": "PARTITION",
+          "ordinal": 3
+        }
+      ]
+    },
+    {
+      "name": "TxnState",
+      "enumValues": [
+        {
+          "value": "COMMITTED",
+          "ordinal": 1
+        },
+        {
+          "value": "ABORTED",
+          "ordinal": 2
+        },
+        {
+          "value": "OPEN",
+          "ordinal": 3
+        }
+      ]
+    },
+    {
+      "name": "PrincipalType",
+      "enumValues": [
+        {
+          "value": "USER",
+          "ordinal": 1
+        },
+        {
+          "value": "ROLE",
+          "ordinal": 2
+        },
+        {
+          "value": "GROUP",
+          "ordinal": 3
+        }
+      ]
+    }
+  ],
+  "structTypes": [
+    {
+      "typeName": "t2",
+      "attributeDefinitions": [
+        {
+          "name": "a",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "s",
+          "dataTypeName": "t2",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "typeName": "t1",
+      "attributeDefinitions": [
+        {
+          "name": "a",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "b",
+          "dataTypeName": "boolean",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "c",
+          "dataTypeName": "byte",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "d",
+          "dataTypeName": "short",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "e",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "f",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "g",
+          "dataTypeName": "long",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "h",
+          "dataTypeName": "float",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "i",
+          "dataTypeName": "double",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "j",
+          "dataTypeName": "biginteger",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "k",
+          "dataTypeName": "bigdecimal",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "l",
+          "dataTypeName": "date",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "m",
+          "dataTypeName": "array<int>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "n",
+          "dataTypeName": "array<bigdecimal>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "o",
+          "dataTypeName": "map<string,double>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "typeName": "ts1",
+      "attributeDefinitions": [
+        {
+          "name": "a",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "b",
+          "dataTypeName": "boolean",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "c",
+          "dataTypeName": "byte",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "d",
+          "dataTypeName": "short",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "e",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "f",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "g",
+          "dataTypeName": "long",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "h",
+          "dataTypeName": "float",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "i",
+          "dataTypeName": "double",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "j",
+          "dataTypeName": "biginteger",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "k",
+          "dataTypeName": "bigdecimal",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "l",
+          "dataTypeName": "date",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "m",
+          "dataTypeName": "array<int>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "n",
+          "dataTypeName": "array<bigdecimal>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "o",
+          "dataTypeName": "map<string,double>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    }
+  ],
+  "traitTypes": [
+    {
+      "superTypes": [
+        "B",
+        "C"
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.TraitType",
+      "typeName": "D",
+      "attributeDefinitions": [
+        {
+          "name": "d",
+          "dataTypeName": "short",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "superTypes": [
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.TraitType",
+      "typeName": "A",
+      "attributeDefinitions": [
+        {
+          "name": "a",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "b",
+          "dataTypeName": "boolean",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "c",
+          "dataTypeName": "byte",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "d",
+          "dataTypeName": "short",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "superTypes": [
+        "A"
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.TraitType",
+      "typeName": "B",
+      "attributeDefinitions": [
+        {
+          "name": "b",
+          "dataTypeName": "boolean",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "superTypes": [
+        "A"
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.TraitType",
+      "typeName": "C",
+      "attributeDefinitions": [
+        {
+          "name": "c",
+          "dataTypeName": "byte",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "superTypes": [
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.TraitType",
+      "typeName": "SecurityClearance",
+      "attributeDefinitions": [
+        {
+          "name": "level",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    }
+  ],
+  "classTypes": [
+    {
+      "superTypes": [
+        "Person"
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.ClassType",
+      "typeName": "Manager",
+      "attributeDefinitions": [
+        {
+          "name": "subordinates",
+          "dataTypeName": "array<Person>",
+          "multiplicity": "collection",
+          "isComposite": false,
+          "reverseAttributeName": "manager"
+        }
+      ]
+    },
+    {
+      "superTypes": [
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.ClassType",
+      "typeName": "Department",
+      "attributeDefinitions": [
+        {
+          "name": "name",
+          "dataTypeName": "string",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "employees",
+          "dataTypeName": "array<Person>",
+          "multiplicity": "collection",
+          "isComposite": true,
+          "reverseAttributeName": "department"
+        }
+      ]
+    },
+    {
+      "superTypes": [
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.ClassType",
+      "typeName": "t4",
+      "attributeDefinitions": [
+        {
+          "name": "a",
+          "dataTypeName": "int",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "b",
+          "dataTypeName": "boolean",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "c",
+          "dataTypeName": "byte",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "d",
+          "dataTypeName": "short",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "enum1",
+          "dataTypeName": "HiveObjectType",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "e",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "f",
+          "dataTypeName": "int",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "g",
+          "dataTypeName": "long",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "enum2",
+          "dataTypeName": "PrincipalType",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "h",
+          "dataTypeName": "float",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "i",
+          "dataTypeName": "double",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "j",
+          "dataTypeName": "biginteger",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "k",
+          "dataTypeName": "bigdecimal",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "enum3",
+          "dataTypeName": "TxnState",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "l",
+          "dataTypeName": "date",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "m",
+          "dataTypeName": "array<int>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "n",
+          "dataTypeName": "array<bigdecimal>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "o",
+          "dataTypeName": "map<string,double>",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "enum4",
+          "dataTypeName": "LockLevel",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": null
+        }
+      ]
+    },
+    {
+      "superTypes": [
+      ],
+      "hierarchicalMetaTypeName": "org.apache.atlas.types.ClassType",
+      "typeName": "Person",
+      "attributeDefinitions": [
+        {
+          "name": "name",
+          "dataTypeName": "string",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": null
+        },
+        {
+          "name": "department",
+          "dataTypeName": "Department",
+          "multiplicity": "required",
+          "isComposite": false,
+          "reverseAttributeName": "employees"
+        },
+        {
+          "name": "manager",
+          "dataTypeName": "Manager",
+          "multiplicity": "optional",
+          "isComposite": false,
+          "reverseAttributeName": "subordinates"
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/intg/src/test/resources/users-credentials.properties
----------------------------------------------------------------------
diff --git a/intg/src/test/resources/users-credentials.properties 
b/intg/src/test/resources/users-credentials.properties
new file mode 100644
index 0000000..3fc3bb1
--- /dev/null
+++ b/intg/src/test/resources/users-credentials.properties
@@ -0,0 +1,3 @@
+#username=group::sha256-password
+admin=ADMIN::8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
+rangertagsync=RANGER_TAG_SYNC::e3f67240f5117d1753c940dae9eea772d36ed5fe9bd9c94a300e40413f1afb9d

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/notification/pom.xml
----------------------------------------------------------------------
diff --git a/notification/pom.xml b/notification/pom.xml
index 9b36940..079d424 100644
--- a/notification/pom.xml
+++ b/notification/pom.xml
@@ -42,12 +42,12 @@
 
         <dependency>
             <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-typesystem</artifactId>
+            <artifactId>atlas-server-api</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-server-api</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
         </dependency>
 
         <dependency>
@@ -57,7 +57,7 @@
 
         <dependency>
             <groupId>org.apache.kafka</groupId>
-            <artifactId>kafka_${scala.binary.version}</artifactId>
+            <artifactId>kafka_${kafka.scala.binary.version}</artifactId>
         </dependency>
 
         <dependency>
@@ -77,11 +77,10 @@
 
         <dependency>
             <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-typesystem</artifactId>
+            <artifactId>atlas-intg</artifactId>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
-
     </dependencies>
 
     <build>
@@ -159,7 +158,7 @@
                                 </artifactItem>
                                 <artifactItem>
                                     <groupId>org.apache.kafka</groupId>
-                                    
<artifactId>kafka_${scala.binary.version}</artifactId>
+                                    
<artifactId>kafka_${kafka.scala.binary.version}</artifactId>
                                     <version>${kafka.version}</version>
                                 </artifactItem>
                                 <artifactItem>
@@ -168,26 +167,6 @@
                                     <version>${kafka.version}</version>
                                 </artifactItem>
                                 <artifactItem>
-                                    <groupId>org.scala-lang</groupId>
-                                    <artifactId>scala-compiler</artifactId>
-                                    <version>${scala.version}</version>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.scala-lang</groupId>
-                                    <artifactId>scala-reflect</artifactId>
-                                    <version>${scala.version}</version>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.scala-lang</groupId>
-                                    <artifactId>scala-library</artifactId>
-                                    <version>${scala.version}</version>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.scala-lang</groupId>
-                                    <artifactId>scalap</artifactId>
-                                    <version>${scala.version}</version>
-                                </artifactItem>
-                                <artifactItem>
                                     <groupId>com.101tec</groupId>
                                     <artifactId>zkclient</artifactId>
                                     <version>${zkclient.version}</version>

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/notification/src/test/java/org/apache/atlas/kafka/KafkaNotificationMockTest.java
----------------------------------------------------------------------
diff --git 
a/notification/src/test/java/org/apache/atlas/kafka/KafkaNotificationMockTest.java
 
b/notification/src/test/java/org/apache/atlas/kafka/KafkaNotificationMockTest.java
index 09e2e43..78d2a90 100644
--- 
a/notification/src/test/java/org/apache/atlas/kafka/KafkaNotificationMockTest.java
+++ 
b/notification/src/test/java/org/apache/atlas/kafka/KafkaNotificationMockTest.java
@@ -25,6 +25,7 @@ import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.clients.producer.RecordMetadata;
 import org.apache.kafka.common.TopicPartition;
 import org.testng.annotations.Test;
+import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -32,7 +33,6 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
-import scala.actors.threadpool.Arrays;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 5a6add6..3c14501 100644
--- a/pom.xml
+++ b/pom.xml
@@ -535,13 +535,10 @@
         <hbase.version>1.1.2</hbase.version>
         <solr.version>5.5.1</solr.version>
         <kafka.version>0.10.0.0</kafka.version>
+               <kafka.scala.binary.version>2.11</kafka.scala.binary.version>
         <curator.version>2.11.0</curator.version>
         <zookeeper.version>3.4.6</zookeeper.version>
 
-        <!-- scala versions -->
-        <scala.version>2.11.8</scala.version>
-        <scala.binary.version>2.11</scala.binary.version>
-        <scala.macros.version>2.0.1</scala.macros.version>
         <json.version>3.2.11</json.version>
         <log4j.version>1.2.17</log4j.version>
         <akka.version>2.3.7</akka.version>
@@ -582,7 +579,7 @@
         <jetty-maven-plugin.stopWait>10</jetty-maven-plugin.stopWait>
 
         <!-- The following graph.{storage|index}.backend definitions dictate 
the backends for test
-             resources in typesystem and each of the graph profiles. They do 
not affect packaging
+             resources in intg and each of the graph profiles. They do not 
affect packaging
              which is handled by defaults and profiles set in atlas-distro POM 
-->
         <graph.storage.backend>berkeleyje</graph.storage.backend>
         <graph.index.backend>elasticsearch</graph.index.backend>
@@ -725,7 +722,6 @@
         <module>build-tools</module>
         <module>intg</module>
         <module>common</module>
-        <module>typesystem</module>
         <module>server-api</module>
         <module>notification</module>
         <module>client</module>
@@ -1342,20 +1338,6 @@
 
             <dependency>
                 <groupId>org.apache.atlas</groupId>
-                <artifactId>atlas-typesystem</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.atlas</groupId>
-                <artifactId>atlas-typesystem</artifactId>
-                <version>${project.version}</version>
-                <classifier>tests</classifier>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.atlas</groupId>
                 <artifactId>atlas-graphdb-api</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -1537,109 +1519,6 @@
             </dependency>
 
 
-            <!--Scala dependencies-->
-            <dependency>
-                <groupId>org.scala-lang</groupId>
-                <artifactId>scala-compiler</artifactId>
-                <version>${scala.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.scala-lang</groupId>
-                <artifactId>scala-reflect</artifactId>
-                <version>${scala.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.scala-lang</groupId>
-                <artifactId>scala-library</artifactId>
-                <version>${scala.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.scala-lang</groupId>
-                <artifactId>scala-actors</artifactId>
-                <version>${scala.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.scala-lang</groupId>
-                <artifactId>scalap</artifactId>
-                <version>${scala.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.json4s</groupId>
-                <artifactId>json4s-native_${scala.binary.version}</artifactId>
-                <version>${json.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.github.nscala-time</groupId>
-                <artifactId>nscala-time_${scala.binary.version}</artifactId>
-                <version>1.6.0</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.typesafe</groupId>
-                <artifactId>config</artifactId>
-                <version>1.2.1</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.typesafe.akka</groupId>
-                <artifactId>akka-actor_${scala.binary.version}</artifactId>
-                <version>${akka.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.typesafe.akka</groupId>
-                <artifactId>akka-testkit_${scala.binary.version}</artifactId>
-                <version>${akka.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.typesafe.akka</groupId>
-                <artifactId>akka-slf4j_${scala.binary.version}</artifactId>
-                <version>${akka.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>io.spray</groupId>
-                <artifactId>spray-routing</artifactId>
-                <version>${spray.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>io.spray</groupId>
-                <artifactId>spray-can</artifactId>
-                <version>${spray.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>io.spray</groupId>
-                <artifactId>spray-httpx</artifactId>
-                <version>${spray.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>io.spray</groupId>
-                <artifactId>spray-testkit</artifactId>
-                <version>${spray.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>com.google.code.gson</groupId>
-                <artifactId>gson</artifactId>
-                <version>${gson.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>it.unimi.dsi</groupId>
-                <artifactId>fastutil</artifactId>
-                <version>${fastutil.version}</version>
-            </dependency>
-
             <!-- API documentation  -->
             <dependency>
                 <groupId>com.webcohesion.enunciate</groupId>
@@ -1710,7 +1589,7 @@
 
             <dependency>
                 <groupId>org.apache.kafka</groupId>
-                <artifactId>kafka_${scala.binary.version}</artifactId>
+                <artifactId>kafka_${kafka.scala.binary.version}</artifactId>
                 <version>${kafka.version}</version>
                 <exclusions>
                     <exclusion>
@@ -1784,10 +1663,6 @@
                 <directory>src/test/resources</directory>
                 <filtering>true</filtering>
             </testResource>
-            <testResource>
-                <directory>typesystem/src/test/resources</directory>
-                <filtering>true</filtering>
-            </testResource>
         </testResources>
 
         <pluginManagement>
@@ -2034,12 +1909,6 @@
             </plugin>
 
             <plugin>
-                <groupId>net.alchim31.maven</groupId>
-                <artifactId>scala-maven-plugin</artifactId>
-                <version>3.2.0</version>
-            </plugin>
-
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>buildnumber-maven-plugin</artifactId>
                 <executions>

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/repository/pom.xml
----------------------------------------------------------------------
diff --git a/repository/pom.xml b/repository/pom.xml
index f981c76..51ddb76 100755
--- a/repository/pom.xml
+++ b/repository/pom.xml
@@ -32,7 +32,6 @@
     <packaging>jar</packaging>
 
     <dependencies>
-
         <dependency>
             <groupId>org.apache.atlas</groupId>
             <artifactId>atlas-intg</artifactId>
@@ -40,11 +39,6 @@
 
         <dependency>
             <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-typesystem</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
             <artifactId>atlas-server-api</artifactId>
         </dependency>
 
@@ -58,6 +52,11 @@
             <artifactId>atlas-graphdb-api</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+
            <dependency>
             <groupId>joda-time</groupId>
             <artifactId>joda-time</artifactId>
@@ -69,36 +68,6 @@
         </dependency>
 
         <dependency>
-            <groupId>com.googlecode.json-simple</groupId>
-            <artifactId>json-simple</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-reflect</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-library</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scala-actors</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.scala-lang</groupId>
-            <artifactId>scalap</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.skyscreamer</groupId>
-            <artifactId>jsonassert</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
         </dependency>
@@ -108,13 +77,6 @@
             <artifactId>mockito-all</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-typesystem</artifactId>
-            <classifier>tests</classifier>
-            <scope>test</scope>
-        </dependency>
-
         <!-- Test dependencies -->
 
         <dependency>
@@ -173,43 +135,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>net.alchim31.maven</groupId>
-                <artifactId>scala-maven-plugin</artifactId>
-                <version>3.2.0</version>
-                <executions>
-                    <execution>
-                        <id>scala-compile-first</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>compile</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>scala-test-compile-first</id>
-                        <phase>process-test-resources</phase>
-                        <goals>
-                            <goal>testCompile</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <scalaVersion>${scala.version}</scalaVersion>
-                    <recompileMode>incremental</recompileMode>
-                    <useZincServer>true</useZincServer>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                    <args>
-                        <arg>-unchecked</arg>
-                        <arg>-deprecation</arg>
-                        <arg>-feature</arg>
-                    </args>
-                    <jvmArgs>
-                        <jvmArg>-Xmx512m</jvmArg>
-                    </jvmArgs>
-                </configuration>
-            </plugin>
-
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>2.4</version>

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
 
b/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
index cfaeda2..03a86f4 100644
--- 
a/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
+++ 
b/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java
@@ -68,9 +68,6 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
-import scala.Option;
-import scala.util.Either;
-import scala.util.parsing.combinator.Parsers.NoSuccess;
 
 import javax.inject.Inject;
 import javax.script.Bindings;
@@ -681,13 +678,12 @@ public class EntityDiscoveryService implements 
AtlasDiscoveryService {
 
     private GremlinQuery toGremlinQuery(String query, int limit, int offset) 
throws AtlasBaseException {
         QueryParams params = validateSearchParams(limit, offset);
-        Either<NoSuccess, Expression> either = QueryParser.apply(query, 
params);
+        Expression expression = QueryParser.apply(query, params);
 
-        if (either.isLeft()) {
+        if (expression == null) {
             throw new AtlasBaseException(DISCOVERY_QUERY_FAILED, query);
         }
 
-        Expression   expression      = either.right().get();
         Expression   validExpression = QueryProcessor.validate(expression);
         GremlinQuery gremlinQuery    = new 
GremlinTranslator(validExpression).translate();
 
@@ -726,9 +722,9 @@ public class EntityDiscoveryService implements 
AtlasDiscoveryService {
         List<List<Object>> values = new ArrayList<>();
 
         // extract select attributes from gremlin query
-        Option<SelectExpression> selectExpr = 
SelectExpressionHelper.extractSelectExpression(query.expr());
-        if (selectExpr.isDefined()) {
-            List<AliasExpression> aliases = selectExpr.get().toJavaList();
+        SelectExpression selectExpr = 
SelectExpressionHelper.extractSelectExpression(query.expr());
+        if (selectExpr != null) {
+            List<AliasExpression> aliases = selectExpr.toJavaList();
 
             if (CollectionUtils.isNotEmpty(aliases)) {
                 for (AliasExpression alias : aliases) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/repository/src/main/java/org/apache/atlas/query/QueryParser.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/query/QueryParser.java 
b/repository/src/main/java/org/apache/atlas/query/QueryParser.java
index 3e5c297..be2d9b1 100644
--- a/repository/src/main/java/org/apache/atlas/query/QueryParser.java
+++ b/repository/src/main/java/org/apache/atlas/query/QueryParser.java
@@ -20,16 +20,14 @@ package org.apache.atlas.query;
 import org.apache.atlas.query.Expressions.Expression;
 
 
-import scala.util.Either;
-import scala.util.parsing.combinator.Parsers.NoSuccess;
 
 public class QueryParser {
     public static boolean isKeyword(String word) {
         return false; // TODO:
     }
 
-    public static Either<NoSuccess, Expression> apply(String queryStr, 
QueryParams params) {
-        Either<NoSuccess, Expression> ret = null;
+    public static Expression apply(String queryStr, QueryParams params) {
+        Expression ret = null;
 
         return ret;
     }

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/repository/src/main/java/org/apache/atlas/query/SelectExpressionHelper.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/query/SelectExpressionHelper.java 
b/repository/src/main/java/org/apache/atlas/query/SelectExpressionHelper.java
index 80f0a7a..a8748ef 100644
--- 
a/repository/src/main/java/org/apache/atlas/query/SelectExpressionHelper.java
+++ 
b/repository/src/main/java/org/apache/atlas/query/SelectExpressionHelper.java
@@ -19,11 +19,11 @@ package org.apache.atlas.query;
 
 import org.apache.atlas.query.Expressions.Expression;
 import org.apache.atlas.query.Expressions.SelectExpression;
-import scala.Option;
+
 
 public class SelectExpressionHelper {
-    public static Option<SelectExpression> extractSelectExpression(Expression 
expr) {
-        Option<SelectExpression> ret = null;
+    public static SelectExpression extractSelectExpression(Expression expr) {
+        SelectExpression ret = null;
 
         return ret;
     }

http://git-wip-us.apache.org/repos/asf/atlas/blob/0a00dcb1/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/0a00dcb1/typesystem/.gitignore
----------------------------------------------------------------------
diff --git a/typesystem/.gitignore b/typesystem/.gitignore
deleted file mode 100755
index c7029f8..0000000
--- a/typesystem/.gitignore
+++ /dev/null
@@ -1,35 +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.
-
-# Eclipse
-.classpath
-.project
-.settings/
-
-# Intellij
-.idea/
-*.iml
-*.iws
-
-# Mac
-.DS_Store
-
-# Maven
-log/
-target/
-
-# Emacs
-*~

Reply via email to