diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-02-08 09:20:08 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-02-08 16:06:07 +0100 |
commit | 1b4595fb4b2e9a87c7a99224b18d8a3709e7a552 (patch) | |
tree | f4449d36003127cdca7339731722d1380f673ef2 /controller-server/src | |
parent | e65f658045f276fa506a7d8e2e49bc8ccd908276 (diff) |
Reduce boxing
Diffstat (limited to 'controller-server/src')
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); |