2 * ============LICENSE_START=======================================================
3 * ONAP : ccsdk features
4 * ================================================================================
5 * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data;
25 * @author Michael Dürre
28 public class DatabaseInfo {
29 public final String doctype;
30 public final String alias;
31 private final String mapping;
32 private final String settingsFormat;
33 private final String index;
35 public String getIndex(String version) {
36 return this.index + version;
39 public DatabaseInfo(String alias, String doctype, String mapping) {
40 this(alias, alias, doctype, mapping);
43 public DatabaseInfo(String index, String alias, String doctype, String mapping) {
44 this(index, alias, doctype, mapping,
45 "{\"index\":{\"number_of_shards\":%d,\"number_of_replicas\":%d},\"analysis\":{\"analyzer\":{\"content\":"
46 + "{\"type\":\"custom\",\"tokenizer\":\"whitespace\"}}}}");
49 public DatabaseInfo(String index, String alias, String doctype, String mapping, String settingsformat) {
52 this.doctype = doctype;
53 this.mapping = mapping;
54 this.settingsFormat = settingsformat;
57 public String getMapping() {
58 return this.getMapping(false);
60 public String getMapping(boolean useStrict) {
61 return this.mapping == null ? null
62 : String.format("{\"%s\":{%s\"properties\":%s}}", this.doctype,useStrict?"\"dynamic\": \"strict\",":"", this.mapping);
65 public String getSettings(int shards, int replicas) {
66 return String.format(this.settingsFormat, shards, replicas);