Friday, 9 September 2022

Atlas Client: Get Detailed Glossary including terms and categories

AtlasClientV2#getGlossaryExtInfo method return the complete gloassry information including terms and categories.

 

Signature

public AtlasGlossary.AtlasGlossaryExtInfo getGlossaryExtInfo(String glossaryGuid) throws AtlasServiceException

Example

AtlasGlossary.AtlasGlossaryExtInfo atlasGlossary = atlasClient.getGlossaryExtInfo("844a3e1a-110c-4bef-91bf-622dc1eab3e7");

Find the below working application.

 

atlas-application.properties

atlas.client.readTimeoutMSecs=30000
atlas.client.connectTimeoutMSecs=30000

JsonUtil.java

package com.sample.app.util;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

public class JsonUtil {
	public static String marshal(Object obj) throws JsonProcessingException {
		ObjectMapper mapper = new ObjectMapper();
		return mapper.writeValueAsString(obj);
	}

	public static <T> T unmarshal(Class<T> clazz, String json)
			throws JsonParseException, JsonMappingException, IOException {
		ObjectMapper mapper = new ObjectMapper();
		return (T) mapper.readValue(json, clazz);
	}

	public static String prettyPrintJson(Object obj) throws JsonProcessingException {
		ObjectMapper mapper = new ObjectMapper();
		mapper.enable(SerializationFeature.INDENT_OUTPUT);
		return mapper.writeValueAsString(obj);
	}
}

DetailedGlossary.java

package com.sample.app.glossary;

import org.apache.atlas.AtlasClientV2;
import org.apache.atlas.AtlasServiceException;
import org.apache.atlas.model.glossary.AtlasGlossary;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.sample.app.util.JsonUtil;

public class DetailedGlossary {
  public static void main(String[] args) throws AtlasServiceException, JsonProcessingException {
    AtlasClientV2 atlasClient = new AtlasClientV2(new String[] { "http://localhost:21000" },
        new String[] { "admin", "admin" });

    AtlasGlossary.AtlasGlossaryExtInfo atlasGlossary = atlasClient.getGlossaryExtInfo("844a3e1a-110c-4bef-91bf-622dc1eab3e7");
    
    if(atlasGlossary == null) {
      System.out.println("Glossary not exists");
    }else {
      System.out.println("atlasGlossary : \n" + JsonUtil.prettyPrintJson(atlasGlossary));
    }
    
  }
}

Output

atlasGlossary : 
{
  "guid" : "844a3e1a-110c-4bef-91bf-622dc1eab3e7",
  "qualifiedName" : "myGlosary3",
  "name" : "myGlosary3",
  "shortDescription" : "Demo Glossary",
  "longDescription" : "Demo GLossary.......",
  "terms" : [ {
    "termGuid" : "cd2dbbc5-0440-477e-a6e6-175eb13e3d46",
    "relationGuid" : "607768b1-d47a-4659-aa63-9acc8d175c80"
  }, {
    "termGuid" : "8d0451be-bfe9-497c-aae9-f1892b156c94",
    "relationGuid" : "8fe3ae77-0a42-42a5-8230-5a1c954b819b"
  } ],
  "categories" : [ {
    "categoryGuid" : "80e199fb-f924-4470-adc1-8227b5650f6c",
    "relationGuid" : "c9e00acf-17ce-4e06-b570-3c47a05dedb3"
  } ],
  "termInfo" : {
    "8d0451be-bfe9-497c-aae9-f1892b156c94" : {
      "guid" : "8d0451be-bfe9-497c-aae9-f1892b156c94",
      "qualifiedName" : "term2@myGlosary3",
      "name" : "term2",
      "shortDescription" : "term2...",
      "longDescription" : "term2......",
      "anchor" : {
        "glossaryGuid" : "844a3e1a-110c-4bef-91bf-622dc1eab3e7",
        "relationGuid" : "8fe3ae77-0a42-42a5-8230-5a1c954b819b"
      },
      "glossaryTermHeader" : {
        "termGuid" : "8d0451be-bfe9-497c-aae9-f1892b156c94",
        "qualifiedName" : "term2@myGlosary3"
      }
    },
    "cd2dbbc5-0440-477e-a6e6-175eb13e3d46" : {
      "guid" : "cd2dbbc5-0440-477e-a6e6-175eb13e3d46",
      "qualifiedName" : "term1@myGlosary3",
      "name" : "term1",
      "shortDescription" : "term1...",
      "longDescription" : "term1...........",
      "anchor" : {
        "glossaryGuid" : "844a3e1a-110c-4bef-91bf-622dc1eab3e7",
        "relationGuid" : "607768b1-d47a-4659-aa63-9acc8d175c80"
      },
      "glossaryTermHeader" : {
        "termGuid" : "cd2dbbc5-0440-477e-a6e6-175eb13e3d46",
        "qualifiedName" : "term1@myGlosary3"
      }
    }
  },
  "categoryInfo" : {
    "80e199fb-f924-4470-adc1-8227b5650f6c" : {
      "guid" : "80e199fb-f924-4470-adc1-8227b5650f6c",
      "qualifiedName" : "category1@myGlosary3",
      "name" : "category1",
      "shortDescription" : "category1...",
      "longDescription" : "category1....",
      "anchor" : {
        "glossaryGuid" : "844a3e1a-110c-4bef-91bf-622dc1eab3e7",
        "relationGuid" : "c9e00acf-17ce-4e06-b570-3c47a05dedb3"
      }
    }
  }
}

  

Previous                                                    Next                                                    Home

No comments:

Post a Comment