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;
24 import org.onap.ccsdk.features.sdnr.wt.common.database.data.AliasesEntry;
25 import org.onap.ccsdk.features.sdnr.wt.common.database.data.EsVersion;
29 EL_ALTO("el alto", "_v1", new EsVersion(2, 2, 0), new EsVersion(2, 2, 0)),
30 FRANKFURT_R1("frankfurt-R1", "-v2", new EsVersion(6, 4, 3), new EsVersion(6, 8, 6)),
31 FRANKFURT_R2("frankfurt-R2", "-v3", new EsVersion(7, 0, 1), new EsVersion(7, 6, 1)),
32 GUILIN_R1("guilin-R1", "-v4", new EsVersion(7,1,1), new EsVersion(7,6,1)),
33 HONOLULU_R1("honolulu-R1", "-v5", new EsVersion(7,1,1), new EsVersion(8,0,0), false),
34 ISTANBUL_R1("istanbul-R1", "-v6", new EsVersion(7,1,1), new EsVersion(8,0,0), false);
36 public static final Release CURRENT_RELEASE = Release.ISTANBUL_R1;
38 private final String value;
39 private final String dbSuffix;
40 private final EsVersion minDbVersion;
41 private final EsVersion maxDbVersion;
42 private final boolean includeEndVersion;
44 private Release(String s, String dbsuffix, EsVersion minDbVersion, EsVersion maxDbVersion) {
45 this(s, dbsuffix, minDbVersion, maxDbVersion, true);
47 private Release(String s, String dbsuffix, EsVersion minDbVersion, EsVersion maxDbVersion, boolean includeEnd) {
49 this.dbSuffix = dbsuffix;
50 this.minDbVersion = minDbVersion;
51 this.maxDbVersion = maxDbVersion;
52 this.includeEndVersion = includeEnd;
56 public String toString() {
60 public String getValue() {
64 public static Release getValueOf(String s) throws Exception {
65 //s = s.toLowerCase();
66 for (Release p : Release.values()) {
67 if (p.value.equals(s)) {
71 throw new Exception("value not found");
74 public static Release getValueBySuffix(String suffix) {
75 if (!suffix.startsWith("-")) {
76 suffix = "-" + suffix;
78 for (Release r : Release.values()) {
79 if (r.dbSuffix.equals(suffix))
85 public static String getDbSuffix(AliasesEntry entry) throws Exception {
86 ComponentName comp = ComponentName.getValueOf(entry.getAlias());
88 return entry.getIndex().substring(entry.getAlias().length());
93 public String getDBSuffix() {
97 public EsVersion getDBVersion() {
98 return this.minDbVersion;
101 public boolean isDbInRange(EsVersion dbVersion) {
102 if(this.includeEndVersion) {
103 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderOrEqualThan(maxDbVersion);
106 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderThan(maxDbVersion);