@Override public ConfigurableFactory<PyramidIO> create(ConfigurableFactory<?> parent, java.util.List<String> path) { return new ElasticsearchPyramidIOFactory(parent, path); } }),
public ElasticsearchPyramidIOFactory(ConfigurableFactory<?> parent, List<String> path) { super("elasticsearch", PyramidIO.class, parent, path); addProperty(ES_CLUSTER_NAME); addProperty(ES_TRANSPORT_ADDRESS); addProperty(ES_TRANSPORT_PORT); addProperty(ES_INDEX); addProperty(ES_FIELD_X); addProperty(ES_FIELD_Y); addProperty(NUM_ZOOM_LEVELS); }
@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); } }