Fix of Lisp commands for DVR
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / commands / lisp / dom / LocalMappingDom.java
1 /*
2  * Copyright (c) 2017 Cisco Systems. 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
9 package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
10
11 import com.google.common.base.Preconditions;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.MappingId;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.LocalMapping;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.LocalMappingBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.LocalMappingKey;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.dp.subtable.grouping.local.mappings.local.mapping.Eid;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.hmac.key.grouping.HmacKey;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.locator.sets.grouping.locator.sets.LocatorSet;
19
20 public class LocalMappingDom implements CommandModel {
21
22     private MappingId mappingId;
23     private Eid eid;
24     private Long vni;
25     private String locatorName;
26     private HmacKey hmacKey;
27
28     public MappingId getMappingId() {
29         return mappingId;
30     }
31
32     public void setMappingId(MappingId mappingId) {
33         this.mappingId = mappingId;
34     }
35
36     public Eid getEid() {
37         return eid;
38     }
39
40     public void setEid(Eid eid) {
41         this.vni = eid.getVirtualNetworkId().getValue();
42         this.eid = eid;
43     }
44
45     public String getLocatorName() {
46         return locatorName;
47     }
48
49     public void setLocatorName(String locatorName) {
50         this.locatorName = locatorName;
51     }
52
53     public void setLocatorSet(LocatorSet locatorSet) {
54         this.locatorName = locatorSet.getName();
55     }
56
57     public HmacKey getHmacKey() {
58         return hmacKey;
59     }
60
61     public void setHmacKey(HmacKey hmacKey) {
62         this.hmacKey = hmacKey;
63     }
64
65     public Long getVni() {
66         return vni;
67     }
68
69     public void setVni(long vni) {
70         this.vni = vni;
71     }
72
73
74     @Override
75     public LocalMapping getSALObject() {
76         Preconditions.checkNotNull(mappingId, "Mapping Id needs to be set!");
77         Preconditions.checkNotNull(getVni(), "Vni needs to be set!");
78
79         return new LocalMappingBuilder()
80                 .setKey(new LocalMappingKey(mappingId))
81                 .setId(mappingId)
82                 .setEid(eid)
83                 .setLocatorSet(locatorName)
84                 .setHmacKey(hmacKey).build();
85     }
86
87     @Override public String toString() {
88         return "LocalMapping{" + "mappingId=" + mappingId + ", eid=" + eid + ", vni=" + vni + ", locatorName='"
89             + locatorName + ", hmacKey=" + hmacKey + '}';
90     }
91 }