diff options
Diffstat (limited to 'config-application-package/src')
2 files changed, 0 insertions, 154 deletions
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 deleted file mode 100644 index 5a7f2db1968..00000000000 --- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -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 java.io.BufferedReader; -import java.io.IOException; -import java.io.Reader; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.regex.Pattern; - -/** - * Registry of files added earlier (i.e. during deployment) - * - * @author Tony Vaagenes - */ -public class PreGeneratedFileRegistry implements FileRegistry { - - private final String fileSourceHost; - private final Map<String, FileReference> path2Hash; - - private static final String entryDelimiter = "\t"; - private static final Pattern entryDelimiterPattern = Pattern.compile(entryDelimiter, Pattern.LITERAL); - - public static Map<String, FileReference> decode(BufferedReader reader) { - Map<String, FileReference> refs = new HashMap<>(); - try { - String line; - while ((line = reader.readLine()) != null) { - String[] parts = entryDelimiterPattern.split(line); - if (parts.length < 2) - throw new IllegalArgumentException("Cannot split '" + line + "' into two parts"); - refs.put(parts[0], new FileReference(parts[1])); - } - } catch (IOException e) { - throw new RuntimeException("Error while reading pre-generated file registry", e); - } - return refs; - } - private PreGeneratedFileRegistry(Reader readerArg) { - try (BufferedReader reader = new BufferedReader(readerArg)) { - fileSourceHost = reader.readLine(); - if (fileSourceHost == null) - throw new RuntimeException("Error while reading pre-generated file registry"); - - path2Hash = decode(reader); - } catch (IOException e) { - throw new RuntimeException("Error while reading pre-generated file registry", e); - } - } - - public static String exportRegistry(FileRegistry registry) { - List<Entry> entries = registry.export(); - StringBuilder builder = new StringBuilder(); - - builder.append(HostName.getLocalhost()).append('\n'); - for (FileRegistry.Entry entry : entries) { - builder.append(entry.relativePath).append(entryDelimiter).append(entry.reference.value()).append('\n'); - } - - return builder.toString(); - } - - public static PreGeneratedFileRegistry importRegistry(Reader reader) { - return new PreGeneratedFileRegistry(reader); - } - - public FileReference addFile(String relativePath) { - FileReference reference = path2Hash.get(relativePath); - if (reference == null) { - throw new IllegalArgumentException("File '" + relativePath + "' not found"); - } - return reference; - } - - @Override - public FileReference addUri(String uri) { - FileReference reference = path2Hash.get(uri); - if (reference == null) { - throw new IllegalArgumentException("Uri '" + uri + "' not found"); - } - return reference; - } - @Override - public FileReference addBlob(ByteBuffer blob) { - String blobName = FileRegistry.blobName(blob); - FileReference reference = path2Hash.get(blobName); - if (reference == null) { - throw new IllegalArgumentException("Blob '" + blobName + "(" + blob.remaining()+ ")' not found"); - } - return reference; - } - - public Set<String> getPaths() { - return path2Hash.keySet(); - } - - @Override - public List<Entry> export() { - List<Entry> entries = new ArrayList<>(); - for (Map.Entry<String, FileReference> entry : path2Hash.entrySet()) { - entries.add(new Entry(entry.getKey(), entry.getValue())); - } - return entries; - } -} diff --git a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistryTestCase.java b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistryTestCase.java deleted file mode 100644 index 532ebb1ab81..00000000000 --- a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistryTestCase.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.config.model.application.provider; - -import com.yahoo.config.application.api.FileRegistry; -import org.junit.Test; - -import java.io.StringReader; -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.util.Set; - -import static org.junit.Assert.assertEquals; - -/** - * @author Tony Vaagenes - */ -public class PreGeneratedFileRegistryTestCase { - - private static final String BLOB = "Some blob"; - @Test - public void importAndExport() { - FileRegistry fileRegistry = new MockFileRegistry(); - fileRegistry.addFile("1234"); - fileRegistry.addBlob(ByteBuffer.wrap(BLOB.getBytes(StandardCharsets.UTF_8))); - String serializedRegistry = PreGeneratedFileRegistry.exportRegistry(fileRegistry); - - PreGeneratedFileRegistry importedRegistry = PreGeneratedFileRegistry.importRegistry(new StringReader(serializedRegistry)); - - assertEquals(Set.of("1234", "c5674b55c15c9c95.blob"), importedRegistry.getPaths()); - - assertEquals(2, importedRegistry.getPaths().size()); - - checkConsistentEntry(fileRegistry.export().get(0), importedRegistry); - checkConsistentEntry(fileRegistry.export().get(1), importedRegistry); - } - - void checkConsistentEntry(FileRegistry.Entry entry, FileRegistry registry) { - assertEquals(entry.reference, registry.addFile(entry.relativePath)); - } -} |