aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/DomSearchCoverageBuilder.java
blob: f6d7b89e6b8239bdb771e18c047dd2a1fd564bfb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.content.cluster;

import com.yahoo.vespa.model.content.SearchCoverage;
import com.yahoo.vespa.model.builder.xml.dom.ModelElement;

/**
 * @author Simon Thoresen Hult
 */
public class DomSearchCoverageBuilder {

    public static SearchCoverage build(ModelElement contentXml) {
        SearchCoverage.Builder builder = new SearchCoverage.Builder();
        ModelElement searchElement = contentXml.child("search");
        if (searchElement == null) {
            return builder.build();
        }
        ModelElement coverageElement = searchElement.child("coverage");
        if (coverageElement == null) {
            return builder.build();
        }
        builder.setMinimum(coverageElement.childAsDouble("minimum"));
        builder.setMinWaitAfterCoverageFactor(coverageElement.childAsDouble("min-wait-after-coverage-factor"));
        builder.setMaxWaitAfterCoverageFactor(coverageElement.childAsDouble("max-wait-after-coverage-factor"));
        return builder.build();
    }
}