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);
39 public static final Release CURRENT_RELEASE = Release.ISTANBUL_R1;
41 private final String value;
42 private final String dbSuffix;
43 private final DatabaseVersion minDbVersion;
44 private final DatabaseVersion maxDbVersion;
45 private final DatabaseVersion minMariaDbVersion;
46 private final DatabaseVersion maxMariaDbVersion;
47 private final boolean includeEndVersion;
48 private final boolean mariaDbIncludeEndVersion;
50 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion) {
51 this(s, dbsuffix, minDbVersion, maxDbVersion, true, null, null, false);
54 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion,
56 this(s, dbsuffix, minDbVersion, maxDbVersion, includeEnd, null, null, false);
59 private Release(String s, String dbsuffix, DatabaseVersion minDbVersion, DatabaseVersion maxDbVersion,
60 boolean includeEnd, DatabaseVersion minMariaDbVersion, DatabaseVersion maxMariaDbVersion,
61 boolean mariaDbIncludeEnd) {
63 this.dbSuffix = dbsuffix;
64 this.minDbVersion = minDbVersion;
65 this.maxDbVersion = maxDbVersion;
66 this.includeEndVersion = includeEnd;
67 this.minMariaDbVersion = minMariaDbVersion;
68 this.maxMariaDbVersion = maxMariaDbVersion;
69 this.mariaDbIncludeEndVersion = mariaDbIncludeEnd;
73 public String toString() {
77 public String getValue() {
81 public static Release getValueOf(String s) throws Exception {
82 //s = s.toLowerCase();
83 for (Release p : Release.values()) {
84 if (p.value.equals(s)) {
88 throw new Exception("value not found");
91 public static Release getValueBySuffix(String suffix) {
92 if (!suffix.startsWith("-")) {
93 suffix = "-" + suffix;
95 for (Release r : Release.values()) {
96 if (r.dbSuffix.equals(suffix))
102 public static String getDbSuffix(AliasesEntry entry) throws Exception {
103 ComponentName comp = ComponentName.getValueOf(entry.getAlias());
105 return entry.getIndex().substring(entry.getAlias().length());
110 public String getDBSuffix() {
111 return this.dbSuffix;
114 public DatabaseVersion getDBVersion() {
115 return this.minDbVersion;
118 public boolean isDbInRange(DatabaseVersion dbVersion, SdnrDbType type) {
119 if (type == SdnrDbType.ELASTICSEARCH) {
120 if (this.includeEndVersion) {
121 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderOrEqualThan(maxDbVersion);
123 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderThan(maxDbVersion);
126 if (this.mariaDbIncludeEndVersion) {
127 return dbVersion.isNewerOrEqualThan(minMariaDbVersion)
128 && dbVersion.isOlderOrEqualThan(maxMariaDbVersion);
130 return dbVersion.isNewerOrEqualThan(minMariaDbVersion) && dbVersion.isOlderThan(maxMariaDbVersion);