summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-11-10 13:25:02 +0100
committerGitHub <noreply@github.com>2017-11-10 13:25:02 +0100
commit638590dcc41d0500a6e40008cd775f2b9237cea2 (patch)
tree1c624ab4563af96310d0e233c7af432c5fe8a601 /config-application-package
parent12f7a4363ffd5877ce62cd835dd111703f3b87bf (diff)
Revert "Wire in deployment so that we can copy the file in when the old way i…"
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FileReferenceCreator.java26
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/MockFileRegistry.java6
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/PreGeneratedFileRegistry.java4
3 files changed, 31 insertions, 5 deletions
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<FileReference> 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<Entry> export() {
List<Entry> 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<Entry> export() {
List<Entry> entries = new ArrayList<>();
for (Map.Entry<String, String> 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;
}