diff --git a/li-utils/src/main/java/com/linkedin/common/urn/AzkabanFlowUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/AzkabanFlowUrn.java index 811b79deac..85e780104c 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/AzkabanFlowUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/AzkabanFlowUrn.java @@ -38,6 +38,7 @@ public final class AzkabanFlowUrn extends Urn { } public static AzkabanFlowUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String content = new Urn(rawUrn).getContent(); String[] parts = content.substring(1, content.length() - 1).split(","); return new AzkabanFlowUrn(parts[0], parts[1], parts[2]); diff --git a/li-utils/src/main/java/com/linkedin/common/urn/AzkabanJobUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/AzkabanJobUrn.java index bd95370756..c42a1a2cf7 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/AzkabanJobUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/AzkabanJobUrn.java @@ -31,6 +31,7 @@ public final class AzkabanJobUrn extends Urn { } public static AzkabanJobUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String content = new Urn(rawUrn).getContent(); String flowParts = content.substring(1, content.lastIndexOf(",") + 1); String[] parts = content.substring(1, content.length() - 1).split(","); diff --git a/li-utils/src/main/java/com/linkedin/common/urn/ChartUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/ChartUrn.java index dc99857885..93f9ada94a 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/ChartUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/ChartUrn.java @@ -31,9 +31,8 @@ public final class ChartUrn extends Urn { } public static ChartUrn createFromString(String rawUrn) throws URISyntaxException { - Urn urn = new Urn(rawUrn); - validateUrn(urn, ENTITY_TYPE); - String[] urnParts = urn.getContent().split(","); + validateUrn(rawUrn, ENTITY_TYPE); + String[] urnParts = new Urn(rawUrn).getContent().split(","); return new ChartUrn(urnParts[0], urnParts[1]); } diff --git a/li-utils/src/main/java/com/linkedin/common/urn/CorpGroupUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/CorpGroupUrn.java index 1d61edf418..7a2431f405 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/CorpGroupUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/CorpGroupUrn.java @@ -25,14 +25,13 @@ public final class CorpGroupUrn extends Urn { } public static CorpGroupUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String groupName = new Urn(rawUrn).getContent(); return new CorpGroupUrn(groupName); } public static CorpGroupUrn createFromUrn(Urn urn) throws URISyntaxException { - if (!ENTITY_TYPE.equals(urn.getEntityType())) { - throw new URISyntaxException(urn.toString(), "Can't cast URN to CorpGroupUrn, not same ENTITY"); - } + validateUrn(urn, ENTITY_TYPE); Matcher matcher = URN_PATTERN.matcher(urn.toString()); if (matcher.find()) { diff --git a/li-utils/src/main/java/com/linkedin/common/urn/CorpuserUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/CorpuserUrn.java index aec3cf1162..d09c1a2cd9 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/CorpuserUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/CorpuserUrn.java @@ -26,14 +26,13 @@ public final class CorpuserUrn extends Urn { } public static CorpuserUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String username = new Urn(rawUrn).getContent(); return new CorpuserUrn(username); } public static CorpuserUrn createFromUrn(Urn urn) throws URISyntaxException { - if (!ENTITY_TYPE.equals(urn.getEntityType())) { - throw new URISyntaxException(urn.toString(), "Can't cast URN to CorpuserUrn, not same ENTITY"); - } + validateUrn(urn, ENTITY_TYPE); Matcher matcher = URN_PATTERN.matcher(urn.toString()); if (matcher.find()) { diff --git a/li-utils/src/main/java/com/linkedin/common/urn/DashboardUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/DashboardUrn.java index c33401af50..cabcb478f8 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/DashboardUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/DashboardUrn.java @@ -31,9 +31,8 @@ public final class DashboardUrn extends Urn { } public static DashboardUrn createFromString(String rawUrn) throws URISyntaxException { - Urn urn = new Urn(rawUrn); - validateUrn(urn, ENTITY_TYPE); - String[] urnParts = urn.getContent().split(","); + validateUrn(rawUrn, ENTITY_TYPE); + String[] urnParts = new Urn(rawUrn).getContent().split(","); return new DashboardUrn(urnParts[0], urnParts[1]); } diff --git a/li-utils/src/main/java/com/linkedin/common/urn/DataPlatformUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/DataPlatformUrn.java index 72712bb44e..6d53141700 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/DataPlatformUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/DataPlatformUrn.java @@ -23,6 +23,7 @@ public final class DataPlatformUrn extends Urn { } public static DataPlatformUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String platformName = new Urn(rawUrn).getContent(); return new DataPlatformUrn(platformName); } diff --git a/li-utils/src/main/java/com/linkedin/common/urn/DataProcessUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/DataProcessUrn.java index f882112746..341ef7037c 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/DataProcessUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/DataProcessUrn.java @@ -40,6 +40,7 @@ public class DataProcessUrn extends Urn { } public static DataProcessUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String content = new Urn(rawUrn).getContent(); String[] parts = content.substring(1, content.length() - 1).split(","); return new DataProcessUrn(parts[0], parts[1], toFabricType(parts[2])); diff --git a/li-utils/src/main/java/com/linkedin/common/urn/DatasetUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/DatasetUrn.java index 20a42ad42a..d75ad503d9 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/DatasetUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/DatasetUrn.java @@ -41,6 +41,7 @@ public final class DatasetUrn extends Urn { } public static DatasetUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String content = new Urn(rawUrn).getContent(); String[] parts = content.substring(1, content.length() - 1).split(","); return new DatasetUrn(DataPlatformUrn.createFromString(parts[0]), parts[1], toFabricType(parts[2])); diff --git a/li-utils/src/main/java/com/linkedin/common/urn/MLModelUrn.java b/li-utils/src/main/java/com/linkedin/common/urn/MLModelUrn.java index eb81c9a64f..db5ed1a2a1 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/MLModelUrn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/MLModelUrn.java @@ -39,6 +39,7 @@ public final class MLModelUrn extends Urn { } public static MLModelUrn createFromString(String rawUrn) throws URISyntaxException { + validateUrn(rawUrn, ENTITY_TYPE); String content = new Urn(rawUrn).getContent(); String[] parts = content.substring(1, content.length() - 1).split(","); return new MLModelUrn(DataPlatformUrn.createFromString(parts[0]), parts[1], toFabricType(parts[2])); diff --git a/li-utils/src/main/java/com/linkedin/common/urn/Urn.java b/li-utils/src/main/java/com/linkedin/common/urn/Urn.java index aa9418fe33..981eeb4eb5 100644 --- a/li-utils/src/main/java/com/linkedin/common/urn/Urn.java +++ b/li-utils/src/main/java/com/linkedin/common/urn/Urn.java @@ -91,6 +91,12 @@ public class Urn { return createFromString(rawUrn); } + public static void validateUrn(@Nonnull String rawUrn, @Nonnull String entityType) + throws URISyntaxException { + final Urn urn = new Urn(rawUrn); + validateUrn(urn, entityType); + } + public static void validateUrn(@Nonnull Urn urn, @Nonnull String entityType) throws URISyntaxException { if (!entityType.equals(urn.getEntityType())) {