2 * Copyright (c) 2015 Tata Consultancy Services and others. All rights reserved.
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
9 package org.opendaylight.neutron.transcriber;
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;
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);
31 // INeutronVpnIpSecSiteConnectionsCRUD methods
33 protected List<Ipsecsiteconnection> getDataObjectList(IpsecSiteConnections connections) {
34 return connections.getIpsecsiteconnection();
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());
43 if (ipsecSiteConnection.getPeerCidrs() != null) {
44 final List<String> peerCidrs = new ArrayList<>();
45 for (final String peerCidr : ipsecSiteConnection.getPeerCidrs()) {
46 peerCidrs.add(peerCidr);
48 answer.setPeerCidrs(peerCidrs);
50 if (ipsecSiteConnection.getPeerId() != null) {
51 answer.setPeerID(ipsecSiteConnection.getPeerId());
53 if (ipsecSiteConnection.getRouteMode() != null) {
54 answer.setRouteMode(ipsecSiteConnection.getRouteMode());
56 if (ipsecSiteConnection.getMtu() != null) {
57 answer.setMtu((ipsecSiteConnection.getMtu()).intValue());
59 if (ipsecSiteConnection.getAuthMode() != null) {
60 answer.setAuthMode(ipsecSiteConnection.getAuthMode());
62 if (ipsecSiteConnection.getPsk() != null) {
63 answer.setPreSharedKey(ipsecSiteConnection.getPsk());
65 if (ipsecSiteConnection.getInitiator() != null) {
66 answer.setInitiator(ipsecSiteConnection.getInitiator());
68 if (ipsecSiteConnection.getIkepolicyId() != null) {
69 answer.setIkePolicyID(ipsecSiteConnection.getIkepolicyId().getValue());
71 if (ipsecSiteConnection.getIpsecpolicyId() != null) {
72 answer.setIpsecPolicyID(ipsecSiteConnection.getIpsecpolicyId().getValue());
74 if (ipsecSiteConnection.getVpnserviceId() != null) {
75 answer.setVpnServiceID(ipsecSiteConnection.getVpnserviceId().getValue());
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);
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());
94 if (ipsecSiteConnection.getPeerCidrs() != null) {
95 final List<String> peerCidrs = new ArrayList<>();
96 for (final String peerCidr : ipsecSiteConnection.getPeerCidrs()) {
97 peerCidrs.add(peerCidr);
99 ipsecSiteConnectionBuilder.setPeerCidrs(peerCidrs);
101 if (ipsecSiteConnection.getPeerID() != null) {
102 ipsecSiteConnectionBuilder.setPeerId(ipsecSiteConnection.getPeerID());
104 if (ipsecSiteConnection.getRouteMode() != null) {
105 ipsecSiteConnectionBuilder.setRouteMode(ipsecSiteConnection.getRouteMode());
107 if (ipsecSiteConnection.getMtu() != null) {
108 ipsecSiteConnectionBuilder.setMtu((ipsecSiteConnection.getMtu()).shortValue());
110 if (ipsecSiteConnection.getAuthMode() != null) {
111 ipsecSiteConnectionBuilder.setAuthMode(ipsecSiteConnection.getAuthMode());
113 if (ipsecSiteConnection.getPreSharedKey() != null) {
114 ipsecSiteConnectionBuilder.setPsk(ipsecSiteConnection.getPreSharedKey());
116 if (ipsecSiteConnection.getInitiator() != null) {
117 ipsecSiteConnectionBuilder.setInitiator(ipsecSiteConnection.getInitiator());
119 if (ipsecSiteConnection.getIkePolicyID() != null) {
120 ipsecSiteConnectionBuilder.setIkepolicyId(toUuid(ipsecSiteConnection.getIkePolicyID()));
122 if (ipsecSiteConnection.getIpsecPolicyID() != null) {
123 ipsecSiteConnectionBuilder.setIpsecpolicyId(toUuid(ipsecSiteConnection.getIpsecPolicyID()));
125 if (ipsecSiteConnection.getVpnServiceID() != null) {
126 ipsecSiteConnectionBuilder.setVpnserviceId(toUuid(ipsecSiteConnection.getVpnServiceID()));
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());
136 return ipsecSiteConnectionBuilder.build();