summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java37
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java2
-rw-r--r--orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/ApplicationSuspensionResource.java2
5 files changed, 25 insertions, 32 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 2ece6d12f7d..e1f8ef9b672 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
@@ -40,28 +40,27 @@ public final class ApplicationId implements Comparable<ApplicationId> {
return new ApplicationId(TenantName.from(tenant), ApplicationName.from(application), InstanceName.from(instance));
}
- /** Creates an application id from a string on the form application:environment:region:instance */
+ /**
+ * Creates an application id from a string on the form application:environment:region:instance
+ *
+ * @deprecated don't pass TenantName
+ */
+ @Deprecated // TODO: Remove when no version older than 6.90 is in use
public static ApplicationId fromSerializedForm(TenantName tenant, String idString) {
String[] parts = idString.split(":");
- if (parts.length < 3) {
- throw new IllegalArgumentException("Illegal id string '" + idString + "'. Id string must consist of at least three parts separated by ':'");
- }
+ if (parts.length < 3)
+ throw new IllegalArgumentException("Application ids must be on the form tenant:application:instance, but was " + idString);
- // Legacy id from 5.50 and backwards
- if (parts.length < 4) {
- return new Builder()
- .tenant(parts[0])
- .applicationName(parts[1])
- .instanceName(parts[2])
- .build();
-
- } else {
- return new Builder()
- .applicationName(parts[0])
- .instanceName(parts[3])
- .tenant(tenant)
- .build();
- }
+ return new Builder().tenant(parts[0]).applicationName(parts[1]).instanceName(parts[2]).build();
+ }
+
+
+ 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 new Builder().tenant(parts[0]).applicationName(parts[1]).instanceName(parts[2]).build();
}
@Override
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
index 33f5d0ce00a..c4ec02f3a9c 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java
@@ -60,21 +60,15 @@ public class ApplicationIdTest {
@Test
public void require_that_idstring_can_be_parsed() {
- ApplicationId id = ApplicationId.fromSerializedForm(TenantName.from("bim"), "foo:prod:baz:bim");
- assertThat(id.application().value(), is("foo"));
- assertThat(id.instance().value(), is("bim"));
- assertThat(id.tenant().value(), is("bim"));
-
- id = ApplicationId.fromSerializedForm(TenantName.from("unused"), "ten:foo:bim");
+ ApplicationId id = ApplicationId.fromSerializedForm("ten:foo:bim");
assertThat(id.tenant().value(), is("ten"));
assertThat(id.application().value(), is("foo"));
assertThat(id.instance().value(), is("bim"));
}
- // TODO: Probably more test cases to break parsing.
@Test(expected = IllegalArgumentException.class)
public void require_that_invalid_idstring_throws_exception() {
- ApplicationId.fromSerializedForm(TenantName.defaultName(), "foo:baz");
+ ApplicationId.fromSerializedForm("foo:baz");
}
@Test
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
index 814c29504ed..5d6aba7b65b 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
@@ -118,7 +118,7 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
private Optional<ApplicationId> parseApplication(String appNode) {
try {
- return Optional.of(ApplicationId.fromSerializedForm(tenant, appNode));
+ return Optional.of(ApplicationId.fromSerializedForm(appNode));
} catch (IllegalArgumentException e) {
log.log(LogLevel.INFO, Tenants.logPre(tenant)+"Unable to parse application with id '" + appNode + "', ignoring.");
return Optional.empty();
@@ -156,10 +156,10 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception {
switch (event.getType()) {
case CHILD_ADDED:
- applicationAdded(ApplicationId.fromSerializedForm(tenant, Path.fromString(event.getData().getPath()).getName()));
+ applicationAdded(ApplicationId.fromSerializedForm(Path.fromString(event.getData().getPath()).getName()));
break;
case CHILD_REMOVED:
- applicationRemoved(ApplicationId.fromSerializedForm(tenant, Path.fromString(event.getData().getPath()).getName()));
+ applicationRemoved(ApplicationId.fromSerializedForm(Path.fromString(event.getData().getPath()).getName()));
break;
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
index da1fda43f9f..ecb5d0980bb 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
@@ -159,7 +159,7 @@ public class SessionZooKeeperClient {
log.log(LogLevel.INFO, "Unable to locate application id at '" + path + "', returning default");
return ApplicationId.defaultId();
}
- return ApplicationId.fromSerializedForm(tenant, configCurator.getData(path));
+ return ApplicationId.fromSerializedForm(configCurator.getData(path));
} catch (RuntimeException e) {
throw new RuntimeException("Unable to read application id from '" + path + "'", e);
}
diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/ApplicationSuspensionResource.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/ApplicationSuspensionResource.java
index 6fc413bee9a..438517591f9 100644
--- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/ApplicationSuspensionResource.java
+++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/ApplicationSuspensionResource.java
@@ -113,7 +113,7 @@ public class ApplicationSuspensionResource implements ApplicationSuspensionApi {
private ApplicationId toApplicationId(String applicationIdString) {
try {
- return ApplicationId.fromSerializedForm(null, applicationIdString);
+ return ApplicationId.fromSerializedForm(applicationIdString);
} catch (IllegalArgumentException e) {
throw new BadRequestException(e);
}