ATLAS-2895: Server full name processing
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/84c6fb2b Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/84c6fb2b Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/84c6fb2b Branch: refs/heads/master Commit: 84c6fb2bc3c6ec68315ed522027a566bfed8f678 Parents: f4dac18 Author: Ashutosh Mestry <[email protected]> Authored: Wed Sep 26 14:24:13 2018 -0700 Committer: Ashutosh Mestry <[email protected]> Committed: Thu Oct 11 17:21:27 2018 -0700 ---------------------------------------------------------------------- .../apache/atlas/model/impexp/AtlasExportRequest.java | 14 ++++++++------ .../apache/atlas/repository/impexp/AuditsWriter.java | 9 ++++++++- .../impexp/ReplicationEntityAttributeTest.java | 14 +++++++++++++- 3 files changed, 29 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6fb2b/intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportRequest.java ---------------------------------------------------------------------- diff --git a/intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportRequest.java b/intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportRequest.java index e78bb53..8fb7c68 100644 --- a/intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportRequest.java +++ b/intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportRequest.java @@ -81,7 +81,7 @@ public class AtlasExportRequest implements Serializable { } public String getFetchTypeOptionValue() { - if(getOptions() == null || !getOptions().containsKey(OPTION_FETCH_TYPE)) { + if(MapUtils.isEmpty(getOptions()) || !getOptions().containsKey(OPTION_FETCH_TYPE)) { return FETCH_TYPE_FULL; } @@ -94,7 +94,8 @@ public class AtlasExportRequest implements Serializable { } public boolean getSkipLineageOptionValue() { - if(!getOptions().containsKey(AtlasExportRequest.OPTION_SKIP_LINEAGE)) { + if(MapUtils.isEmpty(getOptions()) || + !getOptions().containsKey(AtlasExportRequest.OPTION_SKIP_LINEAGE)) { return false; } @@ -123,12 +124,13 @@ public class AtlasExportRequest implements Serializable { } public long getChangeTokenFromOptions() { - if(getFetchTypeOptionValue().equalsIgnoreCase(FETCH_TYPE_INCREMENTAL) && - getOptions().containsKey(AtlasExportRequest.FETCH_TYPE_INCREMENTAL_CHANGE_MARKER)) { - return Long.parseLong(getOptions().get(AtlasExportRequest.FETCH_TYPE_INCREMENTAL_CHANGE_MARKER).toString()); + if (MapUtils.isEmpty(getOptions()) || + !getFetchTypeOptionValue().equalsIgnoreCase(FETCH_TYPE_INCREMENTAL) || + !getOptions().containsKey(AtlasExportRequest.FETCH_TYPE_INCREMENTAL_CHANGE_MARKER)) { + return 0L; } - return 0L; + return Long.parseLong(getOptions().get(AtlasExportRequest.FETCH_TYPE_INCREMENTAL_CHANGE_MARKER).toString()); } public StringBuilder toString(StringBuilder sb) { http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6fb2b/repository/src/main/java/org/apache/atlas/repository/impexp/AuditsWriter.java ---------------------------------------------------------------------- diff --git a/repository/src/main/java/org/apache/atlas/repository/impexp/AuditsWriter.java b/repository/src/main/java/org/apache/atlas/repository/impexp/AuditsWriter.java index cc10660..7737197 100644 --- a/repository/src/main/java/org/apache/atlas/repository/impexp/AuditsWriter.java +++ b/repository/src/main/java/org/apache/atlas/repository/impexp/AuditsWriter.java @@ -127,7 +127,14 @@ public class AuditsWriter { return fullName; } - return StringUtils.split(fullName, "$")[1]; + String[] splits = StringUtils.split(fullName, DC_SERVER_NAME_SEPARATOR); + if (splits == null || splits.length < 1) { + return ""; + } else if (splits.length >= 2) { + return splits[1]; + } else { + return splits[0]; + } } private void saveCurrentServer() throws AtlasBaseException { http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6fb2b/repository/src/test/java/org/apache/atlas/repository/impexp/ReplicationEntityAttributeTest.java ---------------------------------------------------------------------- diff --git a/repository/src/test/java/org/apache/atlas/repository/impexp/ReplicationEntityAttributeTest.java b/repository/src/test/java/org/apache/atlas/repository/impexp/ReplicationEntityAttributeTest.java index 94483f5..81b9106 100644 --- a/repository/src/test/java/org/apache/atlas/repository/impexp/ReplicationEntityAttributeTest.java +++ b/repository/src/test/java/org/apache/atlas/repository/impexp/ReplicationEntityAttributeTest.java @@ -123,7 +123,19 @@ public class ReplicationEntityAttributeTest extends ExportImportTestBase { assertReplicationAttribute(Constants.ATTR_NAME_REPLICATED_TO); } - @Test(dependsOnMethods = "exportWithReplicationToOption_AddsClusterObjectIdToReplicatedFromAttribute", enabled = false) + @Test + public void fullServerName() { + final String expectedClusterName = "cl1"; + + assertEquals(AuditsWriter.getServerNameFromFullName(""), ""); + assertEquals(AuditsWriter.getServerNameFromFullName(expectedClusterName), expectedClusterName); + assertEquals(AuditsWriter.getServerNameFromFullName("SFO$cl1"), expectedClusterName); + assertEquals(AuditsWriter.getServerNameFromFullName("cl1$"), expectedClusterName); + assertEquals(AuditsWriter.getServerNameFromFullName("$cl1"), expectedClusterName); + } + + + @Test(dependsOnMethods = "exportWithReplicationToOption_AddsClusterObjectIdToReplicatedFromAttribute") public void importWithReplicationFromOption_AddsClusterObjectIdToReplicatedFromAttribute() throws AtlasBaseException, IOException { AtlasImportRequest request = getImportRequestWithReplicationOption(); AtlasImportResult importResult = runImportWithParameters(importService, request, zipSource);
