aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-02-08 09:20:08 +0100
committerMartin Polden <mpolden@mpolden.no>2019-02-08 16:06:07 +0100
commit1b4595fb4b2e9a87c7a99224b18d8a3709e7a552 (patch)
treef4449d36003127cdca7339731722d1380f673ef2 /controller-server/src
parente65f658045f276fa506a7d8e2e49bc8ccd908276 (diff)
Reduce boxing
Diffstat (limited to 'controller-server/src')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java13
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java11
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java3
5 files changed, 23 insertions, 16 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
index 963dca8d3b5..910d4ba6508 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
@@ -10,11 +10,11 @@ import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.vespa.hosted.controller.api.integration.MetricsService.ApplicationMetrics;
+import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueId;
import com.yahoo.vespa.hosted.controller.api.integration.organization.User;
import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.application.ApplicationActivity;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.Deployment;
import com.yahoo.vespa.hosted.controller.application.DeploymentJobs;
@@ -29,6 +29,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.OptionalInt;
import java.util.OptionalLong;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -52,7 +53,7 @@ public class Application {
private final Change outstandingChange;
private final Optional<IssueId> ownershipIssueId;
private final Optional<User> owner;
- private final Optional<Integer> majorVersion;
+ private final OptionalInt majorVersion;
private final ApplicationMetrics metrics;
private final Optional<RotationId> rotation;
private final Map<HostName, RotationStatus> rotationStatus;
@@ -61,7 +62,7 @@ public class Application {
public Application(ApplicationId id, Instant now) {
this(id, now, DeploymentSpec.empty, ValidationOverrides.empty, Collections.emptyMap(),
new DeploymentJobs(OptionalLong.empty(), Collections.emptyList(), Optional.empty(), false),
- Change.empty(), Change.empty(), Optional.empty(), Optional.empty(), Optional.empty(),
+ Change.empty(), Change.empty(), Optional.empty(), Optional.empty(), OptionalInt.empty(),
new ApplicationMetrics(0, 0),
Optional.empty(), Collections.emptyMap());
}
@@ -70,7 +71,7 @@ public class Application {
public Application(ApplicationId id, Instant createdAt, DeploymentSpec deploymentSpec, ValidationOverrides validationOverrides,
List<Deployment> deployments, DeploymentJobs deploymentJobs, Change change,
Change outstandingChange, Optional<IssueId> ownershipIssueId, Optional<User> owner,
- Optional<Integer> majorVersion, ApplicationMetrics metrics,
+ OptionalInt majorVersion, ApplicationMetrics metrics,
Optional<RotationId> rotation, Map<HostName, RotationStatus> rotationStatus) {
this(id, createdAt, deploymentSpec, validationOverrides,
deployments.stream().collect(Collectors.toMap(Deployment::zone, d -> d)),
@@ -81,7 +82,7 @@ public class Application {
Application(ApplicationId id, Instant createdAt, DeploymentSpec deploymentSpec, ValidationOverrides validationOverrides,
Map<ZoneId, Deployment> deployments, DeploymentJobs deploymentJobs, Change change,
Change outstandingChange, Optional<IssueId> ownershipIssueId, Optional<User> owner,
- Optional<Integer> majorVersion, ApplicationMetrics metrics,
+ OptionalInt majorVersion, ApplicationMetrics metrics,
Optional<RotationId> rotation, Map<HostName, RotationStatus> rotationStatus) {
this.id = Objects.requireNonNull(id, "id cannot be null");
this.createdAt = Objects.requireNonNull(createdAt, "instant of creation cannot be null");
@@ -156,7 +157,7 @@ public class Application {
* Overrides the system major version for this application. This override takes effect if the deployment
* spec does not specify a major version.
*/
- public Optional<Integer> majorVersion() { return majorVersion; }
+ public OptionalInt majorVersion() { return majorVersion; }
/** Returns metrics for this */
public ApplicationMetrics metrics() {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java
index 130519335ce..1fb22d28ac7 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.OptionalInt;
import java.util.OptionalLong;
import java.util.stream.Collectors;
@@ -54,7 +55,7 @@ public class LockedApplication {
private final Change outstandingChange;
private final Optional<IssueId> ownershipIssueId;
private final Optional<User> owner;
- private final Optional<Integer> majorVersion;
+ private final OptionalInt majorVersion;
private final ApplicationMetrics metrics;
private final Optional<RotationId> rotation;
private final Map<HostName, RotationStatus> rotationStatus;
@@ -78,7 +79,7 @@ public class LockedApplication {
DeploymentSpec deploymentSpec, ValidationOverrides validationOverrides,
Map<ZoneId, Deployment> deployments, DeploymentJobs deploymentJobs, Change change,
Change outstandingChange, Optional<IssueId> ownershipIssueId, Optional<User> owner,
- Optional<Integer> majorVersion, ApplicationMetrics metrics,
+ OptionalInt majorVersion, ApplicationMetrics metrics,
Optional<RotationId> rotation, Map<HostName, RotationStatus> rotationStatus) {
this.lock = lock;
this.id = id;
@@ -231,7 +232,9 @@ public class LockedApplication {
public LockedApplication withMajorVersion(Integer majorVersion) {
return new LockedApplication(lock, id, createdAt, deploymentSpec, validationOverrides, deployments,
deploymentJobs, change, outstandingChange,
- ownershipIssueId, owner, Optional.ofNullable(majorVersion), metrics, rotation, rotationStatus);
+ ownershipIssueId, owner,
+ majorVersion == null ? OptionalInt.empty() : OptionalInt.of(majorVersion),
+ metrics, rotation, rotationStatus);
}
public LockedApplication with(MetricsService.ApplicationMetrics metrics) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
index 74edfcea6f7..7f052fd7574 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
@@ -14,11 +14,12 @@ import com.yahoo.slime.Slime;
import com.yahoo.vespa.config.SlimeUtils;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.api.integration.MetricsService.ApplicationMetrics;
+import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
+import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueId;
import com.yahoo.vespa.hosted.controller.api.integration.organization.User;
import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.ClusterInfo;
import com.yahoo.vespa.hosted.controller.application.ClusterUtilization;
@@ -29,7 +30,6 @@ import com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobError;
import com.yahoo.vespa.hosted.controller.application.DeploymentMetrics;
import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.application.RotationStatus;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
import com.yahoo.vespa.hosted.controller.rotation.RotationId;
import java.time.Instant;
@@ -41,6 +41,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.OptionalDouble;
+import java.util.OptionalInt;
import java.util.OptionalLong;
import java.util.TreeMap;
@@ -325,7 +326,7 @@ public class ApplicationSerializer {
Change outstandingChange = changeFromSlime(root.field(outstandingChangeField));
Optional<IssueId> ownershipIssueId = optionalString(root.field(ownershipIssueIdField)).map(IssueId::from);
Optional<User> owner = optionalString(root.field(ownerField)).map(User::from);
- Optional<Integer> majorVersion = optionalInteger(root.field(majorVersionField));
+ OptionalInt majorVersion = optionalInteger(root.field(majorVersionField));
ApplicationMetrics metrics = new ApplicationMetrics(root.field(queryQualityField).asDouble(),
root.field(writeQualityField).asDouble());
Optional<RotationId> rotation = rotationFromSlime(root.field(rotationField));
@@ -519,8 +520,8 @@ public class ApplicationSerializer {
return field.valid() ? OptionalLong.of(field.asLong()) : OptionalLong.empty();
}
- private Optional<Integer> optionalInteger(Inspector field) {
- return field.valid() ? Optional.of((int)field.asLong()) : Optional.empty();
+ private OptionalInt optionalInteger(Inspector field) {
+ return field.valid() ? OptionalInt.of((int) field.asLong()) : OptionalInt.empty();
}
private OptionalDouble optionalDouble(Inspector field) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
index 7953b462ab2..9df9c4c249f 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
@@ -23,6 +23,7 @@ import java.time.Duration;
import java.time.Instant;
import java.util.Collections;
import java.util.Optional;
+import java.util.OptionalInt;
import static com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType.component;
import static com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType.productionUsCentral1;
@@ -943,7 +944,7 @@ public class UpgraderTest {
Application canary0 = tester.createAndDeploy("canary0", 1, "canary");
Application default0 = tester.createAndDeploy("default0", 2, default0ApplicationPackage);
tester.applications().lockOrThrow(default0.id(), a -> tester.applications().store(a.withMajorVersion(6)));
- assertEquals(Optional.of(6), tester.applications().get(default0.id()).get().majorVersion());
+ assertEquals(OptionalInt.of(6), tester.applications().get(default0.id()).get().majorVersion());
// New major version is released
version = Version.fromString("7.0");
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
index e46119dc0b5..849b251a230 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
@@ -41,6 +41,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.OptionalDouble;
+import java.util.OptionalInt;
import java.util.OptionalLong;
import java.util.TreeMap;
@@ -110,7 +111,7 @@ public class ApplicationSerializerTest {
Change.of(ApplicationVersion.from(new SourceRevision("repo", "master", "deadcafe"), 42)),
Optional.of(IssueId.from("1234")),
Optional.of(User.from("by-username")),
- Optional.of(7),
+ OptionalInt.of(7),
new MetricsService.ApplicationMetrics(0.5, 0.9),
Optional.of(new RotationId("my-rotation")),
rotationStatus);