62db1dfdb67f5d64a9eeb6d718455335150303cf
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / NeutronVpnIpSecSiteConnectionsInterface.java
1 /*
2  * Copyright (c) 2015 Tata Consultancy Services 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
9 package org.opendaylight.neutron.transcriber;
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
14 import org.opendaylight.neutron.spi.INeutronVpnIpSecSiteConnectionsCRUD;
15 import org.opendaylight.neutron.spi.NeutronVpnDeadPeerDetection;
16 import org.opendaylight.neutron.spi.NeutronVpnIpSecSiteConnection;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnection.attributes.DpdBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.IpsecSiteConnections;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.Ipsecsiteconnection;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.IpsecsiteconnectionBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.IpsecsiteconnectionKey;
22
23 public final class NeutronVpnIpSecSiteConnectionsInterface
24         extends AbstractNeutronInterface<Ipsecsiteconnection, IpsecSiteConnections, IpsecsiteconnectionKey,
25         NeutronVpnIpSecSiteConnection>
26         implements INeutronVpnIpSecSiteConnectionsCRUD {
27     NeutronVpnIpSecSiteConnectionsInterface(DataBroker db) {
28         super(IpsecsiteconnectionBuilder.class, db);
29     }
30
31     // INeutronVpnIpSecSiteConnectionsCRUD methods
32     @Override
33     protected List<Ipsecsiteconnection> getDataObjectList(IpsecSiteConnections connections) {
34         return connections.getIpsecsiteconnection();
35     }
36
37     protected NeutronVpnIpSecSiteConnection fromMd(Ipsecsiteconnection ipsecSiteConnection) {
38         final NeutronVpnIpSecSiteConnection answer = new NeutronVpnIpSecSiteConnection();
39         fromMdAdminAttributes(ipsecSiteConnection, answer);
40         if (ipsecSiteConnection.getPeerAddress() != null) {
41             answer.setPeerAddress(ipsecSiteConnection.getPeerAddress());
42         }
43         if (ipsecSiteConnection.getPeerCidrs() != null) {
44             final List<String> peerCidrs = new ArrayList<String>();
45             for (final String peerCidr : ipsecSiteConnection.getPeerCidrs()) {
46                 peerCidrs.add(peerCidr);
47             }
48             answer.setPeerCidrs(peerCidrs);
49         }
50         if (ipsecSiteConnection.getPeerId() != null) {
51             answer.setPeerID(ipsecSiteConnection.getPeerId());
52         }
53         if (ipsecSiteConnection.getRouteMode() != null) {
54             answer.setRouteMode(ipsecSiteConnection.getRouteMode());
55         }
56         if (ipsecSiteConnection.getMtu() != null) {
57             answer.setMtu((ipsecSiteConnection.getMtu()).intValue());
58         }
59         if (ipsecSiteConnection.getAuthMode() != null) {
60             answer.setAuthMode(ipsecSiteConnection.getAuthMode());
61         }
62         if (ipsecSiteConnection.getPsk() != null) {
63             answer.setPreSharedKey(ipsecSiteConnection.getPsk());
64         }
65         if (ipsecSiteConnection.getInitiator() != null) {
66             answer.setInitiator(ipsecSiteConnection.getInitiator());
67         }
68         if (ipsecSiteConnection.getIkepolicyId() != null) {
69             answer.setIkePolicyID(ipsecSiteConnection.getIkepolicyId().getValue());
70         }
71         if (ipsecSiteConnection.getIpsecpolicyId() != null) {
72             answer.setIpsecPolicyID(ipsecSiteConnection.getIpsecpolicyId().getValue());
73         }
74         if (ipsecSiteConnection.getVpnserviceId() != null) {
75             answer.setVpnServiceID(ipsecSiteConnection.getVpnserviceId().getValue());
76         }
77         if (ipsecSiteConnection.getDpd() != null) {
78             final NeutronVpnDeadPeerDetection deadPeerDetection = new NeutronVpnDeadPeerDetection();
79             deadPeerDetection.setAction(ipsecSiteConnection.getDpd().getAction());
80             deadPeerDetection.setInterval(ipsecSiteConnection.getDpd().getInterval());
81             deadPeerDetection.setTimeout(ipsecSiteConnection.getDpd().getTimeout());
82             answer.setDeadPeerDetection(deadPeerDetection);
83         }
84         return answer;
85     }
86
87     @Override
88     protected Ipsecsiteconnection toMd(NeutronVpnIpSecSiteConnection ipsecSiteConnection) {
89         final IpsecsiteconnectionBuilder ipsecSiteConnectionBuilder = new IpsecsiteconnectionBuilder();
90         toMdAdminAttributes(ipsecSiteConnection, ipsecSiteConnectionBuilder);
91         if (ipsecSiteConnection.getPeerAddress() != null) {
92             ipsecSiteConnectionBuilder.setPeerAddress(ipsecSiteConnection.getPeerAddress());
93         }
94         if (ipsecSiteConnection.getPeerCidrs() != null) {
95             final List<String> peerCidrs = new ArrayList<String>();
96             for (final String peerCidr : ipsecSiteConnection.getPeerCidrs()) {
97                 peerCidrs.add(peerCidr);
98             }
99             ipsecSiteConnectionBuilder.setPeerCidrs(peerCidrs);
100         }
101         if (ipsecSiteConnection.getPeerID() != null) {
102             ipsecSiteConnectionBuilder.setPeerId(ipsecSiteConnection.getPeerID());
103         }
104         if (ipsecSiteConnection.getRouteMode() != null) {
105             ipsecSiteConnectionBuilder.setRouteMode(ipsecSiteConnection.getRouteMode());
106         }
107         if (ipsecSiteConnection.getMtu() != null) {
108             ipsecSiteConnectionBuilder.setMtu((ipsecSiteConnection.getMtu()).shortValue());
109         }
110         if (ipsecSiteConnection.getAuthMode() != null) {
111             ipsecSiteConnectionBuilder.setAuthMode(ipsecSiteConnection.getAuthMode());
112         }
113         if (ipsecSiteConnection.getPreSharedKey() != null) {
114             ipsecSiteConnectionBuilder.setPsk(ipsecSiteConnection.getPreSharedKey());
115         }
116         if (ipsecSiteConnection.getInitiator() != null) {
117             ipsecSiteConnectionBuilder.setInitiator(ipsecSiteConnection.getInitiator());
118         }
119         if (ipsecSiteConnection.getIkePolicyID() != null) {
120             ipsecSiteConnectionBuilder.setIkepolicyId(toUuid(ipsecSiteConnection.getIkePolicyID()));
121         }
122         if (ipsecSiteConnection.getIpsecPolicyID() != null) {
123             ipsecSiteConnectionBuilder.setIpsecpolicyId(toUuid(ipsecSiteConnection.getIpsecPolicyID()));
124         }
125         if (ipsecSiteConnection.getVpnServiceID() != null) {
126             ipsecSiteConnectionBuilder.setVpnserviceId(toUuid(ipsecSiteConnection.getVpnServiceID()));
127         }
128         if (ipsecSiteConnection.getDeadPeerDetection() != null) {
129             final NeutronVpnDeadPeerDetection deadPeerDetection = ipsecSiteConnection.getDeadPeerDetection();
130             final DpdBuilder dpdBuilder = new DpdBuilder();
131             dpdBuilder.setAction(deadPeerDetection.getAction());
132             dpdBuilder.setInterval(deadPeerDetection.getInterval());
133             dpdBuilder.setTimeout(deadPeerDetection.getTimeout());
134             ipsecSiteConnectionBuilder.setDpd(dpdBuilder.build());
135         }
136         return ipsecSiteConnectionBuilder.build();
137     }
138 }