From 2f0d7614d47d0828eeefcce727f02826fdb9f80b Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Sun, 19 Jan 2014 02:25:23 +0100 Subject: [configuration] Move the responsibility to stop bubbling to the iterator --- .../lombok/core/configuration/BubblingConfigurationResolver.java | 4 ---- src/core/lombok/core/configuration/FileSystemSourceCache.java | 9 +++++++++ 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/core/lombok/core/configuration/BubblingConfigurationResolver.java b/src/core/lombok/core/configuration/BubblingConfigurationResolver.java index 2e7a76dc..3bcc331c 100644 --- a/src/core/lombok/core/configuration/BubblingConfigurationResolver.java +++ b/src/core/lombok/core/configuration/BubblingConfigurationResolver.java @@ -30,8 +30,6 @@ import lombok.core.configuration.ConfigurationSource.Result; public class BubblingConfigurationResolver implements ConfigurationResolver { - private static final ConfigurationKey STOP_BUBBLING = new ConfigurationKey("stop-bubbling") {}; - private final Iterable sources; public BubblingConfigurationResolver(Iterable sources) { @@ -59,8 +57,6 @@ public class BubblingConfigurationResolver implements ConfigurationResolver { } return (T) result.getValue(); } - Result stop = source.resolve(STOP_BUBBLING); - if (stop != null && Boolean.TRUE.equals(stop.getValue())) break; } if (!isList) { return null; diff --git a/src/core/lombok/core/configuration/FileSystemSourceCache.java b/src/core/lombok/core/configuration/FileSystemSourceCache.java index 3c51fbff..61e060ed 100644 --- a/src/core/lombok/core/configuration/FileSystemSourceCache.java +++ b/src/core/lombok/core/configuration/FileSystemSourceCache.java @@ -32,6 +32,9 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; +import lombok.ConfigurationKeys; +import lombok.core.configuration.ConfigurationSource.Result; + public class FileSystemSourceCache { private static String LOMBOK_CONFIG_FILENAME = "lombok.config"; @@ -49,10 +52,12 @@ public class FileSystemSourceCache { return new Iterator() { File currentDirectory = directory; ConfigurationSource next; + boolean stopBubbling = false; @Override public boolean hasNext() { if (next != null) return true; + if (stopBubbling) return false; next = findNext(); return next != null; } @@ -70,6 +75,10 @@ public class FileSystemSourceCache { next = getSourceForDirectory(currentDirectory, reporterFactory); currentDirectory = currentDirectory.getParentFile(); } + if (next != null) { + Result stop = next.resolve(ConfigurationKeys.STOP_BUBBLING); + stopBubbling = (stop != null && Boolean.TRUE.equals(stop.getValue())); + } return next; } -- cgit