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.DatabaseVersion;
26 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.SdnrDbType;
31 EL_ALTO("el alto", "_v1", new DatabaseVersion(2, 2, 0), new DatabaseVersion(2, 2, 0)),
32 FRANKFURT_R1("frankfurt-R1", "-v2", new DatabaseVersion(6, 4, 3), new DatabaseVersion(6, 8, 6)),
33 FRANKFURT_R2("frankfurt-R2", "-v3", new DatabaseVersion(7, 0, 1), new DatabaseVersion(7, 6, 1)),
34 GUILIN_R1("guilin-R1", "-v4", new DatabaseVersion(7,1,1), new DatabaseVersion(7,6,1)),
35 HONOLULU_R1("honolulu-R1", "-v5", new DatabaseVersion(7,1,1), new DatabaseVersion(8,0,0), false),
36 ISTANBUL_R1("istanbul-R1", "-v6", new DatabaseVersion(7,1,1), new DatabaseVersion(8,0,0), false,
37 new DatabaseVersion(10,2,7), new DatabaseVersion(10,6,0), false),
38 JAKARTA_R1("jakarta-R1", "-v7", new DatabaseVersion(7,1,1), new DatabaseVersion(8,0,0), false,
39 new DatabaseVersion(10,2,7), new DatabaseVersion(10,6,0), false);
42 public static final Release CURRENT_RELEASE = Release.JAKARTA_R1;
44 private final String value;
45 private final String dbSuffix;
46 private final DatabaseVersion minDbVersion;
47 private final DatabaseVersion maxDbVersion;
48 private final DatabaseVersion minMariaDbVersion;
49 private final DatabaseVersion maxMariaDbVersion;
50 private final boolean includeEndVersion;
51 private final boolean mariaDbIncludeEndVersion;
53 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion) {
54 this(s, dbsuffix, minDbVersion, maxDbVersion, true, null, null, false);
57 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion,
59 this(s, dbsuffix, minDbVersion, maxDbVersion, includeEnd, null, null, false);
62 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion,
63 boolean includeEnd, DatabaseVersion minMariaDbVersion, DatabaseVersion maxMariaDbVersion,
64 boolean mariaDbIncludeEnd) {
66 this.dbSuffix = dbsuffix;
67 this.minDbVersion = minDbVersion;
68 this.maxDbVersion = maxDbVersion;
69 this.includeEndVersion = includeEnd;
70 this.minMariaDbVersion = minMariaDbVersion;
71 this.maxMariaDbVersion = maxMariaDbVersion;
72 this.mariaDbIncludeEndVersion = mariaDbIncludeEnd;
76 public String toString() {
80 public String getValue() {
84 public static Release getValueOf(String s) throws Exception {
85 //s = s.toLowerCase();
86 for (Release p : Release.values()) {
87 if (p.value.equals(s)) {
91 throw new Exception("value not found");
94 public static Release getValueBySuffix(String suffix) {
95 if (!suffix.startsWith("-")) {
96 suffix = "-" + suffix;
98 for (Release r : Release.values()) {
99 if (r.dbSuffix.equals(suffix))
105 public static String getDbSuffix(AliasesEntry entry) throws Exception {
106 ComponentName comp = ComponentName.getValueOf(entry.getAlias());
108 return entry.getIndex().substring(entry.getAlias().length());
113 public String getDBSuffix() {
114 return this.dbSuffix;
117 public DatabaseVersion getDBVersion() {
118 return this.minDbVersion;
121 public boolean isDbInRange(DatabaseVersion dbVersion, SdnrDbType type) {
122 if (type == SdnrDbType.ELASTICSEARCH) {
123 if (this.includeEndVersion) {
124 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderOrEqualThan(maxDbVersion);
126 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderThan(maxDbVersion);
129 if (this.mariaDbIncludeEndVersion) {
130 return dbVersion.isNewerOrEqualThan(minMariaDbVersion)
131 && dbVersion.isOlderOrEqualThan(maxMariaDbVersion);
133 return dbVersion.isNewerOrEqualThan(minMariaDbVersion) && dbVersion.isOlderThan(maxMariaDbVersion);