ATLAS-4376: AtlasClientV2 getRelationshipDefByName does not work

Signed-off-by: Nikhil Bonte <nbonte@apache.org>
diff --git a/client/client-v2/src/main/java/org/apache/atlas/AtlasClientV2.java b/client/client-v2/src/main/java/org/apache/atlas/AtlasClientV2.java
index eb0e630..85ca78b 100644
--- a/client/client-v2/src/main/java/org/apache/atlas/AtlasClientV2.java
+++ b/client/client-v2/src/main/java/org/apache/atlas/AtlasClientV2.java
@@ -1125,19 +1125,19 @@
         return callAPI(api, typeDefClass, null);
     }
 
-    private <T> String getPathForType(Class<T> typeDefClass) {
+    protected  <T> String getPathForType(Class<T> typeDefClass) {
         if (AtlasEnumDef.class.isAssignableFrom(typeDefClass)) {
             return "enumdef";
         } else if (AtlasEntityDef.class.isAssignableFrom(typeDefClass)) {
             return "entitydef";
         } else if (AtlasClassificationDef.class.isAssignableFrom(typeDefClass)) {
             return "classificationdef";
-        } else if (AtlasStructDef.class.isAssignableFrom(typeDefClass)) {
-            return "structdef";
         } else if (AtlasRelationshipDef.class.isAssignableFrom(typeDefClass)) {
             return "relationshipdef";
         } else if (AtlasBusinessMetadataDef.class.isAssignableFrom(typeDefClass)) {
             return "businessmetadatadef";
+        }else if (AtlasStructDef.class.isAssignableFrom(typeDefClass)) {
+            return "structdef";
         }
 
         // Code should never reach this point
diff --git a/client/client-v2/src/test/java/org/apache/atlas/AtlasClientV2Test.java b/client/client-v2/src/test/java/org/apache/atlas/AtlasClientV2Test.java
index 83a3391..26086be 100644
--- a/client/client-v2/src/test/java/org/apache/atlas/AtlasClientV2Test.java
+++ b/client/client-v2/src/test/java/org/apache/atlas/AtlasClientV2Test.java
@@ -22,6 +22,12 @@
 import com.sun.jersey.api.client.ClientResponse;
 import com.sun.jersey.api.client.WebResource;
 import org.apache.atlas.model.instance.AtlasClassification;
+import org.apache.atlas.model.typedef.AtlasRelationshipDef;
+import org.apache.atlas.model.typedef.AtlasClassificationDef;
+import org.apache.atlas.model.typedef.AtlasEnumDef;
+import org.apache.atlas.model.typedef.AtlasBusinessMetadataDef;
+import org.apache.atlas.model.typedef.AtlasStructDef;
+import org.apache.atlas.model.typedef.AtlasEntityDef;
 import org.apache.commons.configuration.Configuration;
 import org.mockito.Matchers;
 import org.mockito.Mock;
@@ -124,6 +130,21 @@
 
     }
 
-
+    @Test
+    public void restRequestCheck() {
+        AtlasClientV2 atlasClient = new AtlasClientV2(service, configuration);
+        String pathForRelationshipTypeDef           = atlasClient.getPathForType(AtlasRelationshipDef.class);
+        Assert.assertEquals("relationshipdef", pathForRelationshipTypeDef);
+        String pathForStructTypeDef                 = atlasClient.getPathForType(AtlasStructDef.class);
+        Assert.assertEquals("structdef", pathForStructTypeDef);
+        String pathForBusinessMetadataTypeDef       = atlasClient.getPathForType(AtlasBusinessMetadataDef.class);
+        Assert.assertEquals("businessmetadatadef", pathForBusinessMetadataTypeDef);
+        String pathForEnumTypeDef                   = atlasClient.getPathForType(AtlasEnumDef.class);
+        Assert.assertEquals("enumdef", pathForEnumTypeDef);
+        String pathForClassificationTypeDef         = atlasClient.getPathForType(AtlasClassificationDef.class);
+        Assert.assertEquals("classificationdef", pathForClassificationTypeDef);
+        String pathForEntityTypeDef                 = atlasClient.getPathForType(AtlasEntityDef.class);
+        Assert.assertEquals("entitydef", pathForEntityTypeDef);
+    }
 }