ae4522dc5c4faaaaf869f7d9578d1df6ffba264d
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
6  * All rights reserved.
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
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
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=========================================================
20  *
21  */
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data;
23
24 import org.onap.ccsdk.features.sdnr.wt.common.database.data.AliasesEntry;
25 import org.onap.ccsdk.features.sdnr.wt.common.database.data.EsVersion;
26
27 public enum Release {
28         
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","",new EsVersion(6,4,3),new EsVersion(6,8,6)),
32         FRANKFURT_R3("frankfurt-R3","",new EsVersion(6,4,3),new EsVersion(6,8,6)),
33         
34         GUILIN("guilin","",new EsVersion(6,4,3),new EsVersion(6,8,6));
35         
36         public static final Release CURRENT_RELEASE = Release.FRANKFURT_R1;
37         
38         private final String value;
39         private final String dbSuffix;
40         private final EsVersion minDbVersion;
41         private final EsVersion maxDbVersion;
42         
43         private Release(String s,String dbsuffix,EsVersion minDbVersion,EsVersion maxDbVersion) {
44                 this.value = s;
45                 this.dbSuffix=dbsuffix;
46                 this.minDbVersion = minDbVersion;
47                 this.maxDbVersion = maxDbVersion;
48         }
49         @Override
50         public String toString() {
51                 return this.value;
52         }
53         public String getValue() {
54                 return value;
55         }
56         public static Release getValueOf(String s) throws Exception  {
57                 //s = s.toLowerCase();
58                 for(Release p:Release.values()) {
59                         if(p.value.equals(s)) {
60                                 return p;
61                         }
62                 }
63                 throw new Exception("value not found");
64         }
65         public static Release getValueBySuffix(String suffix) {
66                 for(Release r:Release.values()) {
67                         if(r.dbSuffix.equals(suffix))
68                                 return r;
69                 }
70                 return null;
71         }
72         public static String getDbSuffix(AliasesEntry entry) throws Exception {
73                 ComponentName comp = ComponentName.getValueOf(entry.getAlias());
74                 if(comp!=null) {
75                         return entry.getIndex().substring(entry.getAlias().length());
76                 }
77                 return null;
78         }
79         /**
80          * @return
81          */
82         public String getDBSuffix() {
83                 return this.dbSuffix;
84         }
85         /**
86          * @return
87          */
88         public EsVersion getDBVersion() {
89                 return this.minDbVersion;
90         }
91         /**
92          * @param dbVersion2
93          * @return
94          */
95         public boolean isDbInRange(EsVersion dbVersion) {
96                 return dbVersion.isNewerOrEqualThan(minDbVersion) && dbVersion.isOlderOrEqualThan(maxDbVersion);
97         }
98 }