summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
index c8712064cc0..49e0b0f478d 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java
@@ -5,8 +5,11 @@ import com.yahoo.cloud.config.ApplicationIdConfig;
import java.util.Comparator;
import java.util.Objects;
+import java.util.logging.Logger;
import java.util.regex.Pattern;
+import static java.util.logging.Level.SEVERE;
+
/**
* A complete, immutable identification of an application instance.
*
@@ -16,6 +19,8 @@ import java.util.regex.Pattern;
*/
public class ApplicationId implements Comparable<ApplicationId> {
+ private static final Logger log = Logger.getLogger(ApplicationId.class.getName());
+
static final Pattern namePattern = Pattern.compile("[a-zA-Z0-9_-]{1,256}");
private static final ApplicationId global = new ApplicationId(TenantName.from("hosted-vespa"),
@@ -53,19 +58,15 @@ public class ApplicationId implements Comparable<ApplicationId> {
return new ApplicationId(TenantName.from(tenant), ApplicationName.from(application), InstanceName.from(instance));
}
- public static ApplicationId fromSerializedForm(String idString) {
- String[] parts = idString.split(":");
- if (parts.length < 3)
- throw new IllegalArgumentException("Application ids must be on the form tenant:application:instance, but was " + idString);
-
- return from(parts[0], parts[1], parts[2]);
- }
+ public static ApplicationId fromSerializedForm(String idString) { return fromIdString(idString, ":"); }
- public static ApplicationId fromFullString(String idString) {
- String[] parts = idString.split("\\.");
- if (parts.length < 3)
- throw new IllegalArgumentException("Application ids must be on the form tenant.application.instance, but was " + idString);
+ public static ApplicationId fromFullString(String idString) { return fromIdString(idString, "."); }
+ private static ApplicationId fromIdString(String idString, String splitCharacter) {
+ String[] parts = idString.split(Pattern.quote(splitCharacter));
+ if (parts.length != 3)
+ throw new IllegalArgumentException("Application ids must be on the form tenant" +
+ splitCharacter + "application" + splitCharacter + "instance, but was " + idString);
return from(parts[0], parts[1], parts[2]);
}