diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-06-09 15:01:02 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-06-09 18:28:05 +0200 |
commit | c6f31c85c466234df03228d997522860214a4501 (patch) | |
tree | 855b466f7293e97ff59cd9baf6f871caf915dd9d /config-application-package/src/main/java/com/yahoo/config/model | |
parent | 18956afb738ba5f72631b880c7af9a16acee7589 (diff) |
Add option for adding blobs
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/model')
2 files changed, 16 insertions, 0 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/MockFileRegistry.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/MockFileRegistry.java index b3d2b061430..5d71376aa5b 100644 --- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/MockFileRegistry.java +++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/MockFileRegistry.java @@ -4,7 +4,9 @@ package com.yahoo.config.model.application.provider; import com.yahoo.config.FileReference; import com.yahoo.config.application.api.FileRegistry; import com.yahoo.net.HostName; +import net.jpountz.xxhash.XXHashFactory; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -33,4 +35,13 @@ public class MockFileRegistry implements FileRegistry { throw new IllegalArgumentException("FileReference addUri(String uri) is not implemented for " + getClass().getCanonicalName()); } + @Override + public FileReference addBlob(ByteBuffer blob) { + long blobHash = XXHashFactory.fastestJavaInstance().hash64().hash(blob, 0); + String relativePath = Long.toHexString(blobHash) + ".blob"; + FileReference fileReference = new FileReference(relativePath); + entries.add(new Entry(relativePath, fileReference)); + return fileReference; + } + } diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java index e779d59ba24..75482ded05d 100644 --- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java +++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java @@ -7,6 +7,7 @@ import com.yahoo.config.application.api.FileRegistry; import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -81,6 +82,10 @@ public class PreGeneratedFileRegistry implements FileRegistry { public FileReference addUri(String uri) { return new FileReference(path2Hash.get(uri)); } + @Override + public FileReference addBlob(ByteBuffer blob) { + return new FileReference(path2Hash.get(blob)); + } @Override public String fileSourceHost() { |