From 638590dcc41d0500a6e40008cd775f2b9237cea2 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Fri, 10 Nov 2017 13:25:02 +0100 Subject: Revert "Wire in deployment so that we can copy the file in when the old way i…" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/provider/FileReferenceCreator.java | 26 ++++++++++++++++++++++ .../application/provider/MockFileRegistry.java | 6 ++--- .../provider/PreGeneratedFileRegistry.java | 4 ++-- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 config-application-package/src/main/java/com/yahoo/config/model/application/provider/FileReferenceCreator.java (limited to 'config-application-package/src/main/java/com/yahoo/config/model/application/provider') diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FileReferenceCreator.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FileReferenceCreator.java new file mode 100644 index 00000000000..7e1d247281c --- /dev/null +++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FileReferenceCreator.java @@ -0,0 +1,26 @@ +// 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 java.lang.reflect.Constructor; + +/** + * Convenience for creating a {@link com.yahoo.config.FileReference}. + * + * @author gjoranv + */ +public class FileReferenceCreator { + + public static FileReference create(String stringVal) { + try { + Constructor ctor = FileReference.class.getDeclaredConstructor(String.class); + ctor.setAccessible(true); + return ctor.newInstance(stringVal); + } catch (Exception e) { + throw new RuntimeException("Could not create a new " + FileReference.class.getName() + + ". This should never happen!", e); + } + } + +} 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 d635fe90ded..ca0b37d8cc3 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 @@ -17,7 +17,7 @@ import java.util.Set; public class MockFileRegistry implements FileRegistry { public FileReference addFile(String relativePath) { - return new FileReference("0123456789abcdef"); + return FileReferenceCreator.create("0123456789abcdef"); } @Override @@ -25,8 +25,8 @@ public class MockFileRegistry implements FileRegistry { return "localhost.fortestingpurposesonly"; } - public static final Entry entry1 = new Entry("component/path1", new FileReference("1234")); - public static final Entry entry2 = new Entry("component/path2", new FileReference("56789")); + public static final Entry entry1 = new Entry("component/path1", FileReferenceCreator.create("1234")); + public static final Entry entry2 = new Entry("component/path2", FileReferenceCreator.create("56789")); public List export() { List result = new ArrayList<>(); 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 0b0b799f47f..29e83e00305 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 @@ -70,7 +70,7 @@ public class PreGeneratedFileRegistry implements FileRegistry { } public FileReference addFile(String relativePath) { - return new FileReference(path2Hash.get(relativePath)); + return FileReferenceCreator.create(path2Hash.get(relativePath)); } @Override @@ -86,7 +86,7 @@ public class PreGeneratedFileRegistry implements FileRegistry { public List export() { List entries = new ArrayList<>(); for (Map.Entry entry : path2Hash.entrySet()) { - entries.add(new Entry(entry.getKey(), new FileReference(entry.getValue()))); + entries.add(new Entry(entry.getKey(), FileReferenceCreator.create(entry.getValue()))); } return entries; } -- cgit v1.2.3