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/f3a153b9
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/f3a153b9
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/f3a153b9

Branch: refs/heads/branch-1.0
Commit: f3a153b976f90b84d3728d72190662c0db038f3e
Parents: 88b980b
Author: Ashutosh Mestry <ames...@hortonworks.com>
Authored: Wed Sep 26 14:24:13 2018 -0700
Committer: Ashutosh Mestry <ames...@hortonworks.com>
Committed: Thu Nov 1 15:42:56 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/f3a153b9/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/f3a153b9/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/f3a153b9/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);

Reply via email to