Migrate to stringValue()
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / NeutronFloatingIpInterface.java
1 /*
2  * Copyright (c) 2013, 2015 IBM Corporation 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.neutron.transcriber;
9
10 import java.util.List;
11 import javax.inject.Inject;
12 import javax.inject.Singleton;
13 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
14 import org.opendaylight.neutron.spi.INeutronFloatingIpCRUD;
15 import org.opendaylight.neutron.spi.NeutronFloatingIp;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.Floatingips;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.Floatingip;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.FloatingipBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.FloatingipKey;
21 import org.ops4j.pax.cdi.api.OsgiServiceProvider;
22
23 @Singleton
24 @OsgiServiceProvider(classes = INeutronFloatingIpCRUD.class)
25 public final class NeutronFloatingIpInterface
26         extends AbstractNeutronInterface<Floatingip, Floatingips, FloatingipKey, NeutronFloatingIp>
27         implements INeutronFloatingIpCRUD {
28
29     @Inject
30     public NeutronFloatingIpInterface(DataBroker db) {
31         super(FloatingipBuilder.class, db);
32     }
33
34     // IfNBFloatingIpCRUD interface methods
35
36     @Override
37     protected List<Floatingip> getDataObjectList(Floatingips fips) {
38         return fips.getFloatingip();
39     }
40
41     @Override
42     protected Floatingip toMd(NeutronFloatingIp floatingIp) {
43         final FloatingipBuilder floatingipBuilder = new FloatingipBuilder();
44         toMdIds(floatingIp, floatingipBuilder);
45         if (floatingIp.getFixedIpAddress() != null) {
46             floatingipBuilder.setFixedIpAddress(IpAddressBuilder.getDefaultInstance(floatingIp.getFixedIpAddress()));
47         }
48         if (floatingIp.getFloatingIpAddress() != null) {
49             floatingipBuilder.setFloatingIpAddress(IpAddressBuilder.getDefaultInstance(
50                 floatingIp.getFloatingIpAddress()));
51         }
52         if (floatingIp.getFloatingNetworkUUID() != null) {
53             floatingipBuilder.setFloatingNetworkId(toUuid(floatingIp.getFloatingNetworkUUID()));
54         }
55         if (floatingIp.getPortUUID() != null) {
56             floatingipBuilder.setPortId(toUuid(floatingIp.getPortUUID()));
57         }
58         if (floatingIp.getRouterUUID() != null) {
59             floatingipBuilder.setRouterId(toUuid(floatingIp.getRouterUUID()));
60         }
61         if (floatingIp.getStatus() != null) {
62             floatingipBuilder.setStatus(floatingIp.getStatus());
63         }
64         return floatingipBuilder.build();
65     }
66
67     @Override
68     protected NeutronFloatingIp fromMd(Floatingip fip) {
69         final NeutronFloatingIp result = new NeutronFloatingIp();
70         fromMdIds(fip, result);
71         if (fip.getFloatingNetworkId() != null) {
72             result.setFloatingNetworkUUID(String.valueOf(fip.getFloatingNetworkId().getValue()));
73         }
74         if (fip.getPortId() != null) {
75             result.setPortUUID(String.valueOf(fip.getPortId().getValue()));
76         }
77         if (fip.getFixedIpAddress() != null) {
78             result.setFixedIpAddress(fip.getFixedIpAddress().stringValue());
79         }
80         if (fip.getFloatingIpAddress() != null) {
81             result.setFloatingIpAddress(fip.getFloatingIpAddress().stringValue());
82         }
83         if (fip.getRouterId() != null) {
84             result.setRouterUUID(String.valueOf(fip.getRouterId().getValue()));
85         }
86         result.setStatus(fip.getStatus());
87         return result;
88     }
89 }