diff options
Diffstat (limited to 'infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java')
-rw-r--r-- | infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java b/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java index fb4ebc69d..e7a654c7d 100644 --- a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java +++ b/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/PersistingDataTreeProvider.java @@ -34,8 +34,10 @@ public abstract class PersistingDataTreeProvider extends ProviderTrait<DataTree> @Inject protected HoneycombConfiguration config; - public PersistingDataTreeAdapter create() { - return new PersistingDataTreeAdapter(getDelegate(), schemaService, Paths.get(getPath())); + public DataTree create() { + return isEnabled() + ? new PersistingDataTreeAdapter(getDelegate(), schemaService, Paths.get(getPath())) + : getDelegate(); } public abstract String getPath(); @@ -44,6 +46,8 @@ public abstract class PersistingDataTreeProvider extends ProviderTrait<DataTree> public abstract DataTree getDelegate(); + protected abstract boolean isEnabled(); + public static final class ConfigPersistingDataTreeProvider extends PersistingDataTreeProvider { @Inject @@ -61,6 +65,11 @@ public abstract class PersistingDataTreeProvider extends ProviderTrait<DataTree> public DataTree getDelegate() { return delegate; } + + @Override + protected boolean isEnabled() { + return config.isConfigPersistenceEnabled(); + } } public static final class ContextPersistingDataTreeProvider extends PersistingDataTreeProvider { @@ -80,5 +89,11 @@ public abstract class PersistingDataTreeProvider extends ProviderTrait<DataTree> public DataTree getDelegate() { return delegate; } + + @Override + protected boolean isEnabled() { + return config.isContextPersistenceEnabled(); + } + } } |