protected String executeZkCommand()

in ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/commands/SetAutoScalingZkCommand.java [44:63]


  protected String executeZkCommand(AmbariSolrCloudClient client, SolrZkClient zkClient, SolrZooKeeper solrZooKeeper) throws Exception {
    if (isBlank(autoScalingJsonLocation))
      return "";

    File fileToUpload = new File(autoScalingJsonLocation);
    if (!fileToUpload.exists())
      return "";

    String contentToUpload = FileUtils.readFileToString(fileToUpload, UTF_8);
    if (isBlank(contentToUpload))
      return "";

    String zFilePath = client.getZnode() + AUTO_SCALING_JSON;
    ZookeeperClient zookeeperClient = new ZookeeperClient(zkClient);
    Optional<String> fileContent = zookeeperClient.getFileContent(zFilePath);
    if (!fileContent.isPresent() || !contentToUpload.equals(fileContent.get()))
      zookeeperClient.putFileContent(zFilePath, contentToUpload);

    return contentToUpload;
  }