package org.apache.mesos.hbase.util; import java.io.IOException; import java.net.URL; import java.util.Iterator; import org.codehaus.jackson.JsonNode; import org.codehaus.jackson.map.ObjectMapper; /** * * @author jzajic */ public class HdfsConfFileUrlJsonFinder { private ObjectMapper mapper; public HdfsConfFileUrlJsonFinder(ObjectMapper mapper) { this.mapper = mapper; } public String findUrl(URL jsonURL) throws IOException { JsonNode rootNode = mapper.readTree(jsonURL); Iterator<JsonNode> frameworkIterator = rootNode.path("frameworks").iterator(); for (Iterator<JsonNode> iterator = frameworkIterator; iterator.hasNext();) { JsonNode framework = iterator.next(); JsonNode nameNode = framework.path("name"); if (nameNode.getTextValue().equals("hdfs")) { JsonNode uris = framework.findValue("uris"); Iterator<JsonNode> urisIterator = uris.iterator(); for (Iterator<JsonNode> iterator2 = urisIterator; iterator.hasNext();) { String value = iterator2.next().findValue("value").getTextValue(); if (value.contains(HBaseConstants.HDFS_CONFIG_FILE_NAME)) return value; }; } } return null; } }