fix(ConfFileInitListener): loop when projectOpened
This commit is contained in:
@@ -7,6 +7,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* call ConfCache.loadAll
|
||||
*/
|
||||
@@ -17,6 +19,13 @@ public class ConfFileInitListener implements ProjectManagerListener {
|
||||
@Override
|
||||
public void projectOpened(@NotNull Project project) {
|
||||
try {
|
||||
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
|
||||
boolean isInLoadAll = Arrays.stream(stackTrace).anyMatch(stack ->
|
||||
stack.getMethodName().equals("loadAll")
|
||||
&& stack.getClassName().equals(ConfCache.class.getName()));
|
||||
if (isInLoadAll) {
|
||||
return;
|
||||
}
|
||||
ConfCache.loadAll(project);
|
||||
} catch (Throwable e) {
|
||||
LOG.info("ConfFileInitListener catch Throwable but log to record.", e);
|
||||
|
||||
Reference in New Issue
Block a user