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);
+ }
}