diff --git a/src/main/java/io/github/jpmorganchase/fusion/Fusion.java b/src/main/java/io/github/jpmorganchase/fusion/Fusion.java index c0b3de2..5256927 100644 --- a/src/main/java/io/github/jpmorganchase/fusion/Fusion.java +++ b/src/main/java/io/github/jpmorganchase/fusion/Fusion.java @@ -235,8 +235,10 @@ public Map> dataDictionaryAttributeResources(String * @throws ParsingException if the response from Fusion could not be parsed successfully * @throws OAuthException if a token could not be retrieved for authentication */ - public DataDictionaryAttributeLineage dataDictionaryAttributeLineage(String catalogName, String attributeIdentifier) { - String url = String.format("%1scatalogs/%2s/attributes/%3s/lineage", this.rootURL, catalogName, attributeIdentifier); + public DataDictionaryAttributeLineage dataDictionaryAttributeLineage( + String catalogName, String attributeIdentifier) { + String url = + String.format("%1scatalogs/%2s/attributes/%3s/lineage", this.rootURL, catalogName, attributeIdentifier); String json = this.api.callAPI(url); return responseParser.parseDataDictionaryAttributeLineageResponse(json, catalogName, attributeIdentifier); } diff --git a/src/main/java/io/github/jpmorganchase/fusion/parsing/APIResponseParser.java b/src/main/java/io/github/jpmorganchase/fusion/parsing/APIResponseParser.java index 34697c3..3a8f5e7 100644 --- a/src/main/java/io/github/jpmorganchase/fusion/parsing/APIResponseParser.java +++ b/src/main/java/io/github/jpmorganchase/fusion/parsing/APIResponseParser.java @@ -13,7 +13,10 @@ public interface APIResponseParser { Map parseAttributeResponse(String json, String dataset); Map parseDataDictionaryAttributeResponse(String json); - DataDictionaryAttributeLineage parseDataDictionaryAttributeLineageResponse(String json, String baseCatalogIdentifier, String baseIdentifier); + + DataDictionaryAttributeLineage parseDataDictionaryAttributeLineageResponse( + String json, String baseCatalogIdentifier, String baseIdentifier); + Map parseDataProductResponse(String json); Map parseDatasetSeriesResponse(String json); diff --git a/src/main/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParser.java b/src/main/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParser.java index ed6f8c0..25d12cf 100644 --- a/src/main/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParser.java +++ b/src/main/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParser.java @@ -70,7 +70,8 @@ public Map parseDataDictionaryAttributeResponse } @Override - public DataDictionaryAttributeLineage parseDataDictionaryAttributeLineageResponse(String json, String baseCatalogIdentifier, String baseIdentifier) { + public DataDictionaryAttributeLineage parseDataDictionaryAttributeLineageResponse( + String json, String baseCatalogIdentifier, String baseIdentifier) { return parseResourceFromResponse( json, DataDictionaryAttributeLineage.class, (resource, mc) -> resource.toBuilder() .varArgs(mc.getVarArgs()) @@ -82,7 +83,6 @@ public DataDictionaryAttributeLineage parseDataDictionaryAttributeLineageRespons .build()); } - @Override public Map parseAttributeResponse(String json, String dataset) { return parseResourcesWithVarArgsFromResponse(json, Attribute.class, (resource, mc) -> resource.toBuilder() @@ -199,10 +199,7 @@ private ParsingException generateNoResourceException() { } private T parseResourceWithVarArgs( - Set excludes, - T obj, - Map untypedResource, - ResourceMutationFactory mutator) { + Set excludes, T obj, Map untypedResource, ResourceMutationFactory mutator) { Map varArgs = getVarArgsToInclude(untypedResource, excludes); return mutator.mutate( diff --git a/src/test/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParserDataDictionaryAttributeLineageTest.java b/src/test/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParserDataDictionaryAttributeLineageTest.java index 9359e67..b11855c 100644 --- a/src/test/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParserDataDictionaryAttributeLineageTest.java +++ b/src/test/java/io/github/jpmorganchase/fusion/parsing/GsonAPIResponseParserDataDictionaryAttributeLineageTest.java @@ -1,25 +1,21 @@ package io.github.jpmorganchase.fusion.parsing; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.*; + import io.github.jpmorganchase.fusion.api.APIManager; import io.github.jpmorganchase.fusion.api.context.APIContext; import io.github.jpmorganchase.fusion.model.Application; import io.github.jpmorganchase.fusion.model.Catalog; -import io.github.jpmorganchase.fusion.model.DataDictionaryAttribute; import io.github.jpmorganchase.fusion.model.DataDictionaryAttributeLineage; -import org.hamcrest.Matchers; -import org.junit.jupiter.api.Test; -import org.mockito.Mockito; - import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; -import java.util.Map; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; public class GsonAPIResponseParserDataDictionaryAttributeLineageTest { @@ -47,7 +43,6 @@ public class GsonAPIResponseParserDataDictionaryAttributeLineageTest { .baseIdentifier("BA0001") .build(); - private static final APIContext apiContext = APIContext.builder() .apiManager(Mockito.mock(APIManager.class)) .rootUrl("http://foobar/api/v1/") @@ -58,14 +53,13 @@ public class GsonAPIResponseParserDataDictionaryAttributeLineageTest { @Test public void singleDataDictionaryAttributeResourceIsParsedCorrectly() { - DataDictionaryAttributeLineage l = - responseParser.parseDataDictionaryAttributeLineageResponse(singleDataDictionaryAttributeLineageJson, "base", "BA0001"); + DataDictionaryAttributeLineage l = responseParser.parseDataDictionaryAttributeLineageResponse( + singleDataDictionaryAttributeLineageJson, "base", "BA0001"); assertThat(l, is(notNullValue())); assertThat(l, is(equalTo(lineage))); } - private static String loadTestResource(String resourceName) { URL url = GsonAPIResponseParser.class.getResource(resourceName); try {