summaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java25
1 files changed, 12 insertions, 13 deletions
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 52d0fa4ccb8..bcbcaaea39f 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
@@ -258,13 +258,15 @@ public class ApplicationSerializer {
}
private void toSlime(ApplicationVersion applicationVersion, Cursor object) {
- applicationVersion.buildNumber().ifPresent(buildNumber -> object.setLong(applicationBuildNumberField, buildNumber));
- applicationVersion.source().ifPresent(source -> toSlime(source, object.setObject(sourceRevisionField)));
- applicationVersion.authorEmail().ifPresent(email -> object.setString(authorEmailField, email));
- applicationVersion.compileVersion().ifPresent(version -> object.setString(compileVersionField, version.toString()));
- applicationVersion.buildTime().ifPresent(time -> object.setLong(buildTimeField, time.toEpochMilli()));
- applicationVersion.sourceUrl().ifPresent(url -> object.setString(sourceUrlField, url));
- applicationVersion.commit().ifPresent(commit -> object.setString(commitField, commit));
+ if (applicationVersion.buildNumber().isPresent() && applicationVersion.source().isPresent()) {
+ object.setLong(applicationBuildNumberField, applicationVersion.buildNumber().getAsLong());
+ toSlime(applicationVersion.source().get(), object.setObject(sourceRevisionField));
+ applicationVersion.authorEmail().ifPresent(email -> object.setString(authorEmailField, email));
+ applicationVersion.compileVersion().ifPresent(version -> object.setString(compileVersionField, version.toString()));
+ applicationVersion.buildTime().ifPresent(time -> object.setLong(buildTimeField, time.toEpochMilli()));
+ applicationVersion.sourceUrl().ifPresent(url -> object.setString(sourceUrlField, url));
+ applicationVersion.commit().ifPresent(commit -> object.setString(commitField, commit));
+ }
}
private void toSlime(SourceRevision sourceRevision, Cursor object) {
@@ -487,12 +489,9 @@ public class ApplicationSerializer {
private Optional<SourceRevision> sourceRevisionFromSlime(Inspector object) {
if ( ! object.valid()) return Optional.empty();
- var repository = object.field(repositoryField).asString();
- var branch = object.field(branchField).asString();
- var commit = object.field(commitField).asString();
- // TODO(mpolden): Remove this check after February 2020 after these are always written non-blank or not at all
- if (repository.isBlank() && branch.isBlank() && commit.isBlank()) return Optional.empty();
- return Optional.of(new SourceRevision(repository, branch, commit));
+ return Optional.of(new SourceRevision(object.field(repositoryField).asString(),
+ object.field(branchField).asString(),
+ object.field(commitField).asString()));
}
private Map<JobType, Instant> jobPausesFromSlime(Inspector object) {