private void processRemoteConfig()

in elastic-client/src/main/java/co/elastic/opamp/client/CentralConfigurationManagerImpl.java [68:87]


  private void processRemoteConfig(OpampClient client, Opamp.AgentRemoteConfig remoteConfig) {
    Map<String, Opamp.AgentConfigFile> configMapMap = remoteConfig.getConfig().getConfigMapMap();
    Opamp.AgentConfigFile centralConfig = configMapMap.get("");
    if (centralConfig != null) {
      Map<String, String> configuration = parseCentralConfiguration(centralConfig.getBody());
      Opamp.RemoteConfigStatuses status;

      if (configuration != null) {
        CentralConfigurationProcessor.Result result = processor.process(configuration);
        status =
            (result == CentralConfigurationProcessor.Result.SUCCESS)
                ? Opamp.RemoteConfigStatuses.RemoteConfigStatuses_APPLIED
                : Opamp.RemoteConfigStatuses.RemoteConfigStatuses_FAILED;
      } else {
        status = Opamp.RemoteConfigStatuses.RemoteConfigStatuses_FAILED;
      }

      client.setRemoteConfigStatus(getRemoteConfigStatus(status, remoteConfig.getConfigHash()));
    }
  }