mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-18 12:27:15 +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
|
// 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 =
|
List<List<DsOwner>> updatedList =
|
||||||
diffOwnerList(dsOwners, owners, datasetId, datasetUrn, (int) (auditStamp.time / 1000));
|
diffOwnerList(dsOwners, owners, datasetId, datasetUrn, (int) (auditStamp.time / 1000));
|
||||||
@ -94,7 +94,7 @@ public class DatasetOwnerDao extends BaseDao {
|
|||||||
dsOwner.setOwnerId(owner.owner.toString());
|
dsOwner.setOwnerId(owner.owner.toString());
|
||||||
dsOwner.setOwnerIdType(owner.ownerType.name());
|
dsOwner.setOwnerIdType(owner.ownerType.name());
|
||||||
dsOwner.setOwnerType(owner.ownerCategory.name());
|
dsOwner.setOwnerType(owner.ownerCategory.name());
|
||||||
dsOwner.setOwnerSource(owner.ownershipProvider == null ? "" : owner.ownershipProvider.name());
|
dsOwner.setOwnerSource(enumNameOrDefault(owner.ownershipProvider, ""));
|
||||||
|
|
||||||
if (owner.ownerType == OwnerType.USER) {
|
if (owner.ownerType == OwnerType.USER) {
|
||||||
dsOwner.setAppId(300);
|
dsOwner.setAppId(300);
|
||||||
|
@ -149,4 +149,14 @@ public class UrnUtil {
|
|||||||
|
|
||||||
return s.substring(0, Math.min(s.length(), maxLength));
|
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.DataOrigin;
|
||||||
import com.linkedin.events.metadata.DatasetIdentifier;
|
import com.linkedin.events.metadata.DatasetIdentifier;
|
||||||
|
import com.linkedin.events.metadata.OwnershipProvider;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import static org.testng.Assert.*;
|
import static org.testng.Assert.*;
|
||||||
@ -172,4 +173,13 @@ public class UrnUtilTest {
|
|||||||
assertEquals(trimToLength(s, 3), "foo");
|
assertEquals(trimToLength(s, 3), "foo");
|
||||||
assertEquals(trimToLength(s, 6), "foobar");
|
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