Code Clean up: remove type from <>
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / NeutronBgpvpnInterface.java
1 /*
2  * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. 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 com.google.common.collect.ImmutableBiMap;
12 import java.util.ArrayList;
13 import java.util.List;
14 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
15 import org.opendaylight.neutron.spi.INeutronBgpvpnCRUD;
16 import org.opendaylight.neutron.spi.NeutronBgpvpn;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.BgpvpnTypeBase;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.BgpvpnTypeL2;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.BgpvpnTypeL3;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.Bgpvpns;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.Bgpvpn;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.BgpvpnBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.BgpvpnKey;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 public final class NeutronBgpvpnInterface extends AbstractNeutronInterface<Bgpvpn, Bgpvpns, BgpvpnKey, NeutronBgpvpn>
29         implements INeutronBgpvpnCRUD {
30     private static final Logger LOGGER = LoggerFactory.getLogger(NeutronBgpvpnInterface.class);
31
32     private static final ImmutableBiMap<Class<? extends BgpvpnTypeBase>,
33             String> BGPVPN_TYPE_MAP = new ImmutableBiMap.Builder<Class<? extends BgpvpnTypeBase>, String>()
34                     .put(BgpvpnTypeL2.class, "l2").put(BgpvpnTypeL3.class, "l3").build();
35
36     NeutronBgpvpnInterface(DataBroker db) {
37         super(BgpvpnBuilder.class, db);
38     }
39
40     @Override
41     protected List<Bgpvpn> getDataObjectList(Bgpvpns bgpvpns) {
42         return bgpvpns.getBgpvpn();
43     }
44
45     @Override
46     protected NeutronBgpvpn fromMd(Bgpvpn bgpvpn) {
47         final NeutronBgpvpn result = new NeutronBgpvpn();
48         fromMdAdminAttributes(bgpvpn, result);
49         result.setAutoAggregate(bgpvpn.isAutoAggregate());
50         if (bgpvpn.getVnid() != null) {
51             result.setVnid(bgpvpn.getVnid());
52         }
53         if (bgpvpn.getType() != null) {
54             result.setType(BGPVPN_TYPE_MAP.get(bgpvpn.getType()));
55         }
56         if (bgpvpn.getTechnique() != null) {
57             result.setTechnique(bgpvpn.getTechnique());
58         }
59         if (bgpvpn.getRouteTargets() != null) {
60             final List<String> routeTargets = new ArrayList<>();
61             for (final String routeTarget : bgpvpn.getRouteTargets()) {
62                 routeTargets.add(routeTarget);
63             }
64             result.setRouteTargets(routeTargets);
65         }
66         if (bgpvpn.getImportTargets() != null) {
67             final List<String> importTargets = new ArrayList<>();
68             for (final String importTarget : bgpvpn.getImportTargets()) {
69                 importTargets.add(importTarget);
70             }
71             result.setImportTargets(importTargets);
72         }
73         if (bgpvpn.getExportTargets() != null) {
74             final List<String> exportTargets = new ArrayList<>();
75             for (final String exportTarget : bgpvpn.getExportTargets()) {
76                 exportTargets.add(exportTarget);
77             }
78             result.setExportTargets(exportTargets);
79         }
80         if (bgpvpn.getRouteDistinguishers() != null) {
81             final List<String> routeDistinguishers = new ArrayList<>();
82             for (final String routeDistinguisher : bgpvpn.getRouteDistinguishers()) {
83                 routeDistinguishers.add(routeDistinguisher);
84             }
85             result.setRouteDistinguishers(routeDistinguishers);
86         }
87         if (bgpvpn.getRouters() != null) {
88             final List<String> routers = new ArrayList<>();
89             for (final Uuid router : bgpvpn.getRouters()) {
90                 routers.add(router.getValue());
91             }
92             result.setRouters(routers);
93         }
94         if (bgpvpn.getNetworks() != null) {
95             final List<String> networks = new ArrayList<>();
96             for (final Uuid network : bgpvpn.getNetworks()) {
97                 networks.add(network.getValue());
98             }
99             result.setNetworks(networks);
100         }
101         return result;
102     }
103
104     @Override
105     protected Bgpvpn toMd(NeutronBgpvpn bgpvpn) {
106         final BgpvpnBuilder bgpvpnBuilder = new BgpvpnBuilder();
107
108         toMdAdminAttributes(bgpvpn, bgpvpnBuilder);
109         if (bgpvpn.getAutoAggregate() != null) {
110             bgpvpnBuilder.setAutoAggregate(bgpvpn.getAutoAggregate());
111         }
112         if (bgpvpn.getVnid() != null) {
113             bgpvpnBuilder.setVnid(bgpvpn.getVnid());
114         }
115         if (bgpvpn.getType() != null) {
116             final ImmutableBiMap<String, Class<? extends BgpvpnTypeBase>> mapper = BGPVPN_TYPE_MAP.inverse();
117             bgpvpnBuilder.setType(mapper.get(bgpvpn.getType()));
118         }
119         if (bgpvpn.getTechnique() != null) {
120             bgpvpnBuilder.setTechnique(bgpvpn.getTechnique());
121         }
122         if (bgpvpn.getRouteTargets() != null) {
123             final List<String> routeTargets = new ArrayList<>();
124             for (final String routeTarget : bgpvpn.getRouteTargets()) {
125                 routeTargets.add(routeTarget);
126             }
127             bgpvpnBuilder.setRouteTargets(routeTargets);
128         }
129         if (bgpvpn.getImportTargets() != null) {
130             final List<String> importTargets = new ArrayList<>();
131             for (final String importTarget : bgpvpn.getImportTargets()) {
132                 importTargets.add(importTarget);
133             }
134             bgpvpnBuilder.setImportTargets(importTargets);
135         }
136         if (bgpvpn.getExportTargets() != null) {
137             final List<String> exportTargets = new ArrayList<>();
138             for (final String exportTarget : bgpvpn.getExportTargets()) {
139                 exportTargets.add(exportTarget);
140             }
141             bgpvpnBuilder.setExportTargets(exportTargets);
142         }
143         if (bgpvpn.getRouteDistinguishers() != null) {
144             final List<String> routeDistinguishers = new ArrayList<>();
145             for (final String routeDistinguisher : bgpvpn.getRouteDistinguishers()) {
146                 routeDistinguishers.add(routeDistinguisher);
147             }
148             bgpvpnBuilder.setRouteDistinguishers(routeDistinguishers);
149         }
150         if (bgpvpn.getRouters() != null) {
151             final List<Uuid> routers = new ArrayList<>();
152             for (final String router : bgpvpn.getRouters()) {
153                 routers.add(toUuid(router));
154             }
155             bgpvpnBuilder.setRouters(routers);
156         }
157         if (bgpvpn.getNetworks() != null) {
158             final List<Uuid> networks = new ArrayList<>();
159             for (final String network : bgpvpn.getNetworks()) {
160                 networks.add(toUuid(network));
161             }
162             bgpvpnBuilder.setNetworks(networks);
163         }
164         return bgpvpnBuilder.build();
165     }
166 }