@Override protected PyramidIO createInstance() throws ConfigurationException { LOGGER.info("ES pyramid factory."); String clusterName = getPropertyValue(ES_CLUSTER_NAME); String transportAddress = getPropertyValue(ES_TRANSPORT_ADDRESS); int transportPort = getPropertyValue(ES_TRANSPORT_PORT); Integer numZoomLevels = getPropertyValue(NUM_ZOOM_LEVELS); String elasticIndex = getPropertyValue(ES_INDEX); String esFieldX = getPropertyValue(ES_FIELD_X); String esFieldY = getPropertyValue(ES_FIELD_Y); TilePyramid tilePyramid = getRoot().produce(TilePyramid.class); return new ElasticsearchPyramidIO(clusterName, elasticIndex, esFieldX, esFieldY, transportAddress, transportPort, tilePyramid, numZoomLevels); } }