Commit dc71d3d4 by rmani Committed by Madhan Neethiraj

ATLAS-2542: import-Hbase doesn't update entity already present in Atlas

parent 37d7b8b8
...@@ -52,6 +52,7 @@ import java.io.File; ...@@ -52,6 +52,7 @@ import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -449,6 +450,7 @@ public class HBaseBridge { ...@@ -449,6 +450,7 @@ public class HBaseBridge {
try { try {
ret = findEntityInAtlas(HBaseDataTypes.HBASE_NAMESPACE.getName(), nsQualifiedName); ret = findEntityInAtlas(HBaseDataTypes.HBASE_NAMESPACE.getName(), nsQualifiedName);
clearRelationshipAttributes(ret);
} catch (Exception e) { } catch (Exception e) {
ret = null; // entity doesn't exist in Atlas ret = null; // entity doesn't exist in Atlas
} }
...@@ -461,6 +463,7 @@ public class HBaseBridge { ...@@ -461,6 +463,7 @@ public class HBaseBridge {
try { try {
ret = findEntityInAtlas(HBaseDataTypes.HBASE_TABLE.getName(), tableQualifiedName); ret = findEntityInAtlas(HBaseDataTypes.HBASE_TABLE.getName(), tableQualifiedName);
clearRelationshipAttributes(ret);
} catch (Exception e) { } catch (Exception e) {
ret = null; // entity doesn't exist in Atlas ret = null; // entity doesn't exist in Atlas
} }
...@@ -473,6 +476,7 @@ public class HBaseBridge { ...@@ -473,6 +476,7 @@ public class HBaseBridge {
try { try {
ret = findEntityInAtlas(HBaseDataTypes.HBASE_COLUMN_FAMILY.getName(), columnFamilyQualifiedName); ret = findEntityInAtlas(HBaseDataTypes.HBASE_COLUMN_FAMILY.getName(), columnFamilyQualifiedName);
clearRelationshipAttributes(ret);
} catch (Exception e) { } catch (Exception e) {
ret = null; // entity doesn't exist in Atlas ret = null; // entity doesn't exist in Atlas
} }
...@@ -658,4 +662,28 @@ public class HBaseBridge { ...@@ -658,4 +662,28 @@ public class HBaseBridge {
System.out.println(" namespace1:tbl2"); System.out.println(" namespace1:tbl2");
System.out.println(" namespace2:tbl1"); System.out.println(" namespace2:tbl1");
} }
private void clearRelationshipAttributes(AtlasEntityWithExtInfo entity) {
if (entity != null) {
clearRelationshipAttributes(entity.getEntity());
if (entity.getReferredEntities() != null) {
clearRelationshipAttributes(entity.getReferredEntities().values());
}
}
}
private void clearRelationshipAttributes(Collection<AtlasEntity> entities) {
if (entities != null) {
for (AtlasEntity entity : entities) {
clearRelationshipAttributes(entity);
}
}
}
private void clearRelationshipAttributes(AtlasEntity entity) {
if (entity != null && entity.getRelationshipAttributes() != null) {
entity.getRelationshipAttributes().clear();
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment