mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-17 11:58:10 +00:00
Fix issue with ownership null value when writing to DB
This commit is contained in:
parent
ddc9171eba
commit
ecbcdd920f
@ -70,7 +70,7 @@ public class DatasetOwnerDao extends BaseDao {
|
||||
}
|
||||
|
||||
// find dataset owners of same source if exist
|
||||
List<DsOwner> dsOwners = findByIdAndSource(datasetId, owners.get(0).ownershipProvider.name());
|
||||
List<DsOwner> dsOwners = findByIdAndSource(datasetId, enumNameOrDefault(owners.get(0).ownershipProvider, ""));
|
||||
|
||||
List<List<DsOwner>> updatedList =
|
||||
diffOwnerList(dsOwners, owners, datasetId, datasetUrn, (int) (auditStamp.time / 1000));
|
||||
@ -94,7 +94,7 @@ public class DatasetOwnerDao extends BaseDao {
|
||||
dsOwner.setOwnerId(owner.owner.toString());
|
||||
dsOwner.setOwnerIdType(owner.ownerType.name());
|
||||
dsOwner.setOwnerType(owner.ownerCategory.name());
|
||||
dsOwner.setOwnerSource(owner.ownershipProvider == null ? "" : owner.ownershipProvider.name());
|
||||
dsOwner.setOwnerSource(enumNameOrDefault(owner.ownershipProvider, ""));
|
||||
|
||||
if (owner.ownerType == OwnerType.USER) {
|
||||
dsOwner.setAppId(300);
|
||||
|
@ -149,4 +149,14 @@ public class UrnUtil {
|
||||
|
||||
return s.substring(0, Math.min(s.length(), maxLength));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the enum name or return default value if enum is null
|
||||
* @param e Enum
|
||||
* @param defaultValue String
|
||||
* @return String
|
||||
*/
|
||||
public static String enumNameOrDefault(@Nullable Enum e, @Nullable String defaultValue) {
|
||||
return e == null ? defaultValue : e.name();
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ package wherehows.util;
|
||||
|
||||
import com.linkedin.events.metadata.DataOrigin;
|
||||
import com.linkedin.events.metadata.DatasetIdentifier;
|
||||
import com.linkedin.events.metadata.OwnershipProvider;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static org.testng.Assert.*;
|
||||
@ -172,4 +173,13 @@ public class UrnUtilTest {
|
||||
assertEquals(trimToLength(s, 3), "foo");
|
||||
assertEquals(trimToLength(s, 6), "foobar");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEnumNameOrDefault() {
|
||||
assertEquals(enumNameOrDefault(null, "default"), "default");
|
||||
|
||||
OwnershipProvider o = OwnershipProvider.DB;
|
||||
|
||||
assertEquals(enumNameOrDefault(o, "default"), "DB");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user