aboutsummaryrefslogtreecommitdiffstats
path: root/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
blob: a04b3ff28cf2c6deb18e1cd3061d285ffe8ceca9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*-
 * ============LICENSE_START=======================================================
 * openECOMP : SDN-C
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property. All rights
 * 							reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

package org.openecomp.sdnc.util.vrf;

public class VrfUtil {

	public static String createVrfInstanceName(
	        String serviceInstanceId,
	        String vpnId,
	        String siteType,
	        String routeGroup) {
		if (vpnId == null || vpnId.trim().length() == 0)
			return null;

		String ss = "VPN-" + vpnId;
		if (siteType != null && siteType.equalsIgnoreCase("hub"))
			ss += "-HUB";
		if (siteType != null && siteType.equalsIgnoreCase("spoke"))
			ss += "-SP-" + serviceInstanceId;
		if (routeGroup != null && routeGroup.trim().length() > 0)
			ss += "-RG-" + routeGroup;

		return ss;
	}

	public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
		VpnParam vpnParam = new VpnParam();

		int i1 = vrfInstanceName.indexOf("-HUB");
		if (i1 > 0)
			vpnParam.siteType = "HUB";

		int i2 = vrfInstanceName.indexOf("-SP-");
		if (i2 > 0)
			vpnParam.siteType = "SPOKE";

		int i3 = vrfInstanceName.indexOf("-RG-");
		if (i3 > 0)
			vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);

		int i4 = vrfInstanceName.length();
		if (i1 > 0)
			i4 = i1;
		else if (i2 > 0)
			i4 = i2;
		else if (i3 > 0)
			i4 = i3;
		vpnParam.vpnId = vrfInstanceName.substring(4, i4);

		if (i2 > 0 && i3 < 0)
			vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
		if (i2 > 0 && i3 > 0)
			vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);

		return vpnParam;
	}
}