{
    "name": "ElasticSearch Persistence",
    "description": "Adapter to read and write objects using an ElasticSearch instance.",
    "extensions": {
        "components": [
            {
                "provides": "persistenceService",
                "type": "provider",
                "implementation": "ElasticPersistenceProvider.js",
                "depends": [ "$http", "$q", "PERSISTENCE_SPACE", "ELASTIC_ROOT", "ELASTIC_PATH" ]
            },
            {
                "provides": "searchService",
                "type": "provider",
                "implementation": "ElasticSearchProvider.js",
                "depends": [ "$http", "ELASTIC_ROOT" ]
            }
        ],
        "constants": [
            {
                "key": "PERSISTENCE_SPACE",
                "value": "mct"
            },
            {
                "key": "ELASTIC_ROOT",
                "value": "http://localhost:9200",
                "priority": "fallback"
            },
            {
                "key": "ELASTIC_PATH",
                "value": "mct/domain_object",
                "priority": "fallback"
            },
            {
                "key": "ELASTIC_INDICATOR_INTERVAL",
                "value": 15000,
                "priority": "fallback"
            }
        ],
        "indicators": [
            {
                "implementation": "ElasticIndicator.js",
                "depends": [
                    "$http",
                    "$interval",
                    "ELASTIC_ROOT",
                    "ELASTIC_INDICATOR_INTERVAL"
                ]
            }
        ]
    }
}
