summaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
diff options
context:
space:
mode:
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java44
1 files changed, 15 insertions, 29 deletions
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 d107d1e30b5..fd8398afdfc 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
@@ -31,7 +31,6 @@ import static com.yahoo.vespa.config.PayloadChecksum.Type.MD5;
public abstract class ConfigSubscription<T extends ConfigInstance> {
protected static final Logger log = Logger.getLogger(ConfigSubscription.class.getName());
- protected final ConfigSubscriber subscriber;
private final AtomicReference<ConfigState<T>> config = new AtomicReference<>();
protected final ConfigKey<T> key;
protected final Class<T> configClass;
@@ -100,12 +99,10 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
* Initializes one subscription
*
* @param key a {@link ConfigKey}
- * @param subscriber the subscriber for this subscription
*/
- ConfigSubscription(ConfigKey<T> key, ConfigSubscriber subscriber) {
+ ConfigSubscription(ConfigKey<T> key) {
this.key = key;
this.configClass = key.getConfigClass();
- this.subscriber = subscriber;
this.config.set(new ConfigState<>());
getConfigState().getChecksums().removeChecksumsOfType(MD5); // TODO: Temporary until we don't use md5 anymore
}
@@ -120,17 +117,16 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
public static <T extends ConfigInstance> ConfigSubscription<T> get(ConfigKey<T> key, ConfigSubscriber subscriber,
ConfigSource source, TimingValues timingValues) {
String configId = key.getConfigId();
- if (source instanceof RawSource || configId.startsWith("raw:")) return getRawSub(key, subscriber, source);
- if (source instanceof FileSource || configId.startsWith("file:")) return getFileSub(key, subscriber, source);
- if (source instanceof DirSource || configId.startsWith("dir:")) return getDirFileSub(key, subscriber, source);
- if (source instanceof JarSource || configId.startsWith("jar:")) return getJarSub(key, subscriber, source);
- if (source instanceof ConfigSet) return new ConfigSetSubscription<>(key, subscriber, source);
+ if (source instanceof RawSource || configId.startsWith("raw:")) return getRawSub(key, source);
+ 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) return new JRTConfigSubscription<>(key, subscriber, source, timingValues);
throw new IllegalArgumentException("Unknown source type: " + source);
}
- private static <T extends ConfigInstance> JarConfigSubscription<T> getJarSub(
- ConfigKey<T> key, ConfigSubscriber subscriber, ConfigSource source) {
+ private static <T extends ConfigInstance> JarConfigSubscription<T> getJarSub(ConfigKey<T> key, ConfigSource source) {
String jarName;
String path = "config/";
if (source instanceof JarSource) {
@@ -141,29 +137,24 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
jarName = key.getConfigId().replace("jar:", "").replaceFirst("\\!/.*", "");
if (key.getConfigId().contains("!/")) path = key.getConfigId().replaceFirst(".*\\!/", "");
}
- return new JarConfigSubscription<>(key, subscriber, jarName, path);
+ return new JarConfigSubscription<>(key, jarName, path);
}
- private static <T extends ConfigInstance> ConfigSubscription<T> getFileSub(
- ConfigKey<T> key, ConfigSubscriber subscriber, ConfigSource source) {
+ 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:", ""));
- return new FileConfigSubscription<>(key, subscriber, file);
+ return new FileConfigSubscription<>(key, file);
}
- private static <T extends ConfigInstance> ConfigSubscription<T> getRawSub(ConfigKey<T> key,
- ConfigSubscriber subscriber,
- ConfigSource source) {
+ private static <T extends ConfigInstance> ConfigSubscription<T> getRawSub(ConfigKey<T> key, ConfigSource source) {
String payload = ((source instanceof RawSource)
? ((RawSource) source).payload
: key.getConfigId().replace("raw:", ""));
- return new RawConfigSubscription<>(key, subscriber, payload);
+ return new RawConfigSubscription<>(key, payload);
}
- private static <T extends ConfigInstance> ConfigSubscription<T> getDirFileSub(ConfigKey<T> key,
- ConfigSubscriber subscriber,
- ConfigSource source) {
+ 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();
@@ -174,7 +165,7 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
if (!file.exists()) {
throw new IllegalArgumentException("Could not find a config file for '" + key.getName() + "' in '" + dir + "'");
}
- return new FileConfigSubscription<>(key, subscriber, file);
+ return new FileConfigSubscription<>(key, file);
}
@SuppressWarnings("unchecked")
@@ -182,8 +173,7 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
public boolean equals(Object o) {
if (o instanceof ConfigSubscription) {
ConfigSubscription<T> other = (ConfigSubscription<T>) o;
- return key.equals(other.key) &&
- subscriber.equals(other.subscriber);
+ return key.equals(other.key);
}
return false;
}
@@ -331,10 +321,6 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
public boolean isClosed() { return state == State.CLOSED; }
- State getState() {
- return state;
- }
-
/**
* Returns the file name corresponding to the given key's defName.
*