Skip to content
Snippets Groups Projects

Wait for initial config sent from the client instead of requesting it

Merged Miklos Magyari requested to merge waitconf into main
2 files
+ 22
23
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -16,6 +16,7 @@ import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.stream.Collectors;
import javax.json.Json;
@@ -91,7 +92,7 @@ public class Configuration {
/** List of registered preference change listeners */
private static List<SimpleImmutableEntry<String,IPreferenceChangedListener>> listeners = new CopyOnWriteArrayList<>();
private boolean initialized = false;
public static CountDownLatch initializedLatch = new CountDownLatch(1);
private Configuration() {
}
@@ -180,10 +181,6 @@ public class Configuration {
listener.changed(preference);
});
}
public boolean isInitialized() {
return initialized;
}
public void addPreference(final String preference, final Object defaultValue) {
preferences.put(preference, defaultValue);
@@ -202,8 +199,7 @@ public class Configuration {
}
/**
* Sends a configuration request to the client
* @param client LanguageClient
* Sends a configuration request to the client and waits for the response.
*/
public static CompletableFuture<Void> getConfiguration() {
final String[] sections = { Configuration.EDITOR, GeneralConstants.TITAN };
@@ -227,7 +223,7 @@ public class Configuration {
}
/**
* Parses the json object containing client side preference settings.
* Parses the JSON object containing client side preference settings.
* Uses recursion to handle arbitrary depth of settings.
* @param json
*/
@@ -248,6 +244,7 @@ public class Configuration {
e.printStackTrace();
}
TITANDebugConsole.println(INSTANCE);
initializedLatch.countDown();
}
}
Loading