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;
34 public String getIndex(String version) {
35 return this.index + version;
38 public DatabaseInfo(String alias, String doctype, String mapping) {
39 this(alias,alias,doctype,mapping);
42 public DatabaseInfo(String index,String alias, String doctype, String mapping) {
43 this(index,alias,doctype, mapping,
44 "{\"index\":{\"number_of_shards\":%d,\"number_of_replicas\":%d},\"analysis\":{\"analyzer\":{\"content\":"
45 + "{\"type\":\"custom\",\"tokenizer\":\"whitespace\"}}}}");
48 public DatabaseInfo(String index,String alias,String doctype, String mapping, String settingsformat) {
51 this.doctype = doctype;
52 this.mapping = mapping;
53 this.settingsFormat = settingsformat;
57 public String getMapping() {
58 return this.mapping==null?null:String.format("{\"%s\":{\"properties\":%s}}",this.doctype, this.mapping);
60 public String getSettings(int shards, int replicas) {
61 return String.format(this.settingsFormat, shards, replicas);