aboutsummaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/impl
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-11-01 22:11:07 +0100
committerjonmv <venstad@gmail.com>2022-11-01 22:11:07 +0100
commit116afffc4920705f8d0ce2b016700216a2a0cbb3 (patch)
tree59219dc968c7c6addbed5375e062d835a34a6f0d /config/src/main/java/com/yahoo/config/subscription/impl
parent4984373de8e6b5b4b6d62d13e7efbaf0f025b2c5 (diff)
No real changes
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/impl')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSetSubscription.java7
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java32
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/FileConfigSubscription.java8
3 files changed, 17 insertions, 30 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSetSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSetSubscription.java
index 68f1dc2df17..15c6ce2441e 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSetSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSetSubscription.java
@@ -18,11 +18,10 @@ public class ConfigSetSubscription<T extends ConfigInstance> extends ConfigSubsc
private final ConfigSet set;
private final ConfigKey<T> subKey;
- ConfigSetSubscription(ConfigKey<T> key, ConfigSource cset) {
+ ConfigSetSubscription(ConfigKey<T> key, ConfigSet cset) {
super(key);
- if (!(cset instanceof ConfigSet)) throw new IllegalArgumentException("Source is not a ConfigSet: " + cset);
- this.set = (ConfigSet) cset;
- subKey = new ConfigKey<>(configClass, key.getConfigId());
+ this.set = cset;
+ this.subKey = new ConfigKey<>(configClass, key.getConfigId());
if (!set.contains(subKey)) {
throw new IllegalArgumentException("The given ConfigSet " + set + " does not contain a config for " + subKey);
}
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
index 5d720a74b15..2c5899df461 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
@@ -121,10 +121,9 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
if (source instanceof FileSource || configId.startsWith("file:")) return getFileSub(key, source);
if (source instanceof DirSource || configId.startsWith("dir:")) return getDirFileSub(key, source);
if (source instanceof JarSource || configId.startsWith("jar:")) return getJarSub(key, source);
- if (source instanceof ConfigSet) return new ConfigSetSubscription<>(key, source);
- if (source instanceof ConfigSourceSet) {
- JRTConfigRequester requester = requesters.getRequester((ConfigSourceSet) source, timingValues);
- return new JRTConfigSubscription<>(key, requester, timingValues);
+ if (source instanceof ConfigSet cset) return new ConfigSetSubscription<>(key, cset);
+ if (source instanceof ConfigSourceSet csset) {
+ return new JRTConfigSubscription<>(key, requesters.getRequester(csset, timingValues), timingValues);
}
throw new IllegalArgumentException("Unknown source type: " + source);
}
@@ -132,21 +131,19 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
private static <T extends ConfigInstance> JarConfigSubscription<T> getJarSub(ConfigKey<T> key, ConfigSource source) {
String jarName;
String path = "config/";
- if (source instanceof JarSource) {
- JarSource js = (JarSource) source;
+ if (source instanceof JarSource js) {
jarName = js.getJarFile().getName();
if (js.getPath() != null) path = js.getPath();
} else {
- jarName = key.getConfigId().replace("jar:", "").replaceFirst("\\!/.*", "");
- if (key.getConfigId().contains("!/")) path = key.getConfigId().replaceFirst(".*\\!/", "");
+ jarName = key.getConfigId().replace("jar:", "").replaceFirst("!/.*", "");
+ if (key.getConfigId().contains("!/")) path = key.getConfigId().replaceFirst(".*!/", "");
}
return new JarConfigSubscription<>(key, jarName, path);
}
private static <T extends ConfigInstance> ConfigSubscription<T> getFileSub(ConfigKey<T> key, ConfigSource source) {
- File file = ((source instanceof FileSource))
- ? ((FileSource) source).getFile()
- : new File(key.getConfigId().replace("file:", ""));
+ File file = source instanceof FileSource fileSource ? fileSource.getFile()
+ : new File(key.getConfigId().replace("file:", ""));
return new FileConfigSubscription<>(key, file);
}
@@ -158,17 +155,8 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
}
private static <T extends ConfigInstance> ConfigSubscription<T> getDirFileSub(ConfigKey<T> key, ConfigSource source) {
- String dir = key.getConfigId().replace("dir:", "");
- if (source instanceof DirSource) {
- dir = ((DirSource) source).getDir().toString();
- }
- if (!dir.endsWith(File.separator)) dir = dir + File.separator;
- String name = getConfigFilename(key);
- File file = new File(dir + name);
- if (!file.exists()) {
- throw new IllegalArgumentException("Could not find a config file for '" + key.getName() + "' in '" + dir + "'");
- }
- return new FileConfigSubscription<>(key, file);
+ File dir = source instanceof DirSource dirSource ? dirSource.getDir() : new File(key.getConfigId().replace("dir:", ""));
+ return new FileConfigSubscription<>(key, new File(dir, getConfigFilename(key)));
}
@SuppressWarnings("unchecked")
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/FileConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/FileConfigSubscription.java
index 5311b91c31f..47ac0dfbf85 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/FileConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/FileConfigSubscription.java
@@ -11,6 +11,7 @@ import com.yahoo.vespa.config.ConfigPayload;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
import java.util.Arrays;
import static java.util.logging.Level.FINE;
@@ -29,13 +30,12 @@ public class FileConfigSubscription<T extends ConfigInstance> extends ConfigSubs
super(key);
setGeneration(0L);
file = f;
- if (!file.exists() && !file.isFile())
- throw new IllegalArgumentException("Not a file: " + file);
+ if ( ! file.isFile()) throw new IllegalArgumentException("Not a file: " + file);
}
@Override
public boolean nextConfig(long timeout) {
- if (!file.exists() && !file.isFile()) throw new IllegalArgumentException("Not a file: " + file);
+ if ( ! file.isFile()) throw new IllegalArgumentException("Not a file: " + file);
if (checkReloaded()) {
log.log(FINE, () -> "User forced config reload at " + System.currentTimeMillis());
// User forced reload
@@ -61,7 +61,7 @@ public class FileConfigSubscription<T extends ConfigInstance> extends ConfigSubs
private T updateConfig() {
ts = file.lastModified();
try {
- ConfigPayload payload = new CfgConfigPayloadBuilder().deserialize(Arrays.asList(IOUtils.readFile(file).split("\n")));
+ ConfigPayload payload = new CfgConfigPayloadBuilder().deserialize(Files.readAllLines(file.toPath()));
return payload.toInstance(configClass, key.getConfigId());
} catch (IOException e) {
throw new ConfigurationRuntimeException(e);