Make SimpleMapCache simple again
[lispflowmapping.git] / integrationtest / src / test / java / org / opendaylight / lispflowmapping / integrationtest / MultiSiteScenarioUtil.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.lispflowmapping.integrationtest;
9
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
11
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
13
14 class MultiSiteScenarioUtil {
15     private final static String COMMON_IPV4_PREFIX = "192.0.";
16     private final static String COMMON_IPV4_SUFFIX = ".0";
17     private final static String HOST1 = ".1";
18     private final static String HOST2 = ".2";
19     private final static String HOST3 = ".3";
20     private final static String HOST4 = ".4";
21     private final static String HOST5 = ".5";
22
23     protected final static long VNI2 = 2L;
24     private final static long VNI3 = 3L;
25
26     static final Short DEFAULT_PRIORITY = 1;
27     static final Short DEFAULT_WEIGHT = 1;
28
29
30     /**
31      * constants for test scenario A
32      */
33     static final Site SITE_A = new Site("1", 'A', VNI2);
34     static final Site SITE_B = new Site("2", 'B', VNI2);
35     static final Site SITE_C = new Site("3", 'C', VNI2);
36     static final Site SITE_C_RLOC_10 = new Site("3", 'C', VNI2, "10");
37     static final Site SITE_D4 = new Site("4", 'D', VNI2);
38     static final Site SITE_D5 = new Site("5", 'D', VNI3);
39
40     /**
41      * constants for test scenario B
42      */
43     static final Site SITE_A_SB = SITE_A;
44     static final Site SITE_B_SB = SITE_B;
45     static final Site SITE_C_SB = SITE_C;
46     static final Site SITE_C_WP_50_2_SB = new Site("3", 'C', VNI2, "3", (short) 50, (short) 2);
47     static final Site SITE_C_WP_100_1_SB = new Site("3", 'C', VNI2, "3", (short) 100, (short) 1);
48     static final Site SITE_D_DELETE_SB = new Site("3", 'D', VNI2, "4", true);
49     static final Site SITE_D_SB = new Site("3", 'D', VNI2, "4");
50     static final Site SITE_D_WP_50_2_SB = new Site("3", 'D', VNI2, "4", (short) 50, (short) 2);
51     static final Site SITE_D_WP_100_1_SB = new Site("3", 'D', VNI2, "4", (short) 100, (short) 1);
52     static final Site SITE_E_SB = new Site("10", 'E', VNI3);
53
54     private MultiSiteScenarioUtil() {
55         throw new UnsupportedOperationException();
56     }
57
58     static class Site {
59         protected final boolean isForDeletion;
60         protected final String eidPrefix;
61         protected final String[] host;
62         protected final String rloc;
63         protected final XtrId xtrId;
64         protected final InstanceIdType vni;
65         protected final short weight;
66         protected final short priority;
67
68         String getEidPrefix() {
69             return eidPrefix;
70         }
71
72         String getHost(final int index) {
73             return host[index];
74         }
75
76         String getRloc() {
77             return rloc;
78         }
79
80         XtrId getXtrId() {
81             return xtrId;
82         }
83
84         InstanceIdType getVNI() {
85             return vni;
86         }
87
88         short getWeight() {
89             return weight;
90         }
91
92         short getPriority() {
93             return priority;
94         }
95
96         boolean isForDeletion() {
97             return isForDeletion;
98         }
99
100         Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final boolean
101                 isForDeletion) {
102             this(siteSpecificIpPart, siteId, vni, rloc, DEFAULT_WEIGHT, DEFAULT_PRIORITY, isForDeletion);
103         }
104
105         Site(final String siteSpecificIpPart, char siteId, final long vni) {
106             this(siteSpecificIpPart, siteId, vni, siteSpecificIpPart, DEFAULT_WEIGHT, DEFAULT_PRIORITY, false);
107         }
108
109         Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc) {
110             this(siteSpecificIpPart, siteId, vni, rloc, DEFAULT_WEIGHT, DEFAULT_PRIORITY, false);
111         }
112
113         Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final short weight,
114              final short priority) {
115             this(siteSpecificIpPart, siteId, vni, rloc, weight, priority, false);
116         }
117         Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final short weight,
118              final short priority, final boolean isForDeletion) {
119             this.eidPrefix = COMMON_IPV4_PREFIX + siteSpecificIpPart + COMMON_IPV4_SUFFIX;
120             this.host = new String[]{
121                     ""
122                     ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST1
123                     ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST2
124                     ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST3
125                     ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST4
126                     ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST5
127             };
128             this.xtrId = new XtrId(new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (byte) siteId});
129             this.vni = new InstanceIdType(vni);
130             this.rloc = rloc + "." + rloc + "." + rloc + "." + rloc;
131             this.weight = weight;
132             this.priority = priority;
133             this.isForDeletion = isForDeletion;
134         }
135
136     }
137
138 }