yang model revise: neutron-fwaas.yang
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / NeutronFirewallInterface.java
1 /*
2  * Copyright (c) 2014, 2015 Red Hat, Inc. 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 org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
12 import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
13 import org.opendaylight.neutron.spi.NeutronFirewall;
14
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.Firewalls;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.firewalls.Firewall;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.firewalls.FirewallBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
19
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
21 import org.osgi.framework.BundleContext;
22 import org.osgi.framework.ServiceRegistration;
23
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27 import java.util.List;
28
29 public class NeutronFirewallInterface extends AbstractNeutronInterface<Firewall, Firewalls, NeutronFirewall> implements INeutronFirewallCRUD {
30
31     private static final Logger LOGGER = LoggerFactory.getLogger(NeutronFirewallInterface.class);
32
33     NeutronFirewallInterface(ProviderContext providerContext) {
34         super(providerContext);
35     }
36
37     @Override
38     public boolean neutronFirewallExists(String uuid) {
39         return exists(uuid);
40     }
41
42     @Override
43     public NeutronFirewall getNeutronFirewall(String uuid) {
44         return get(uuid);
45     }
46
47     @Override
48     protected List<Firewall> getDataObjectList(Firewalls firewalls) {
49         return firewalls.getFirewall();
50     }
51
52     @Override
53     public List<NeutronFirewall> getAllNeutronFirewalls() {
54         return getAll();
55     }
56
57     @Override
58     public boolean addNeutronFirewall(NeutronFirewall input) {
59         return add(input);
60     }
61
62     @Override
63     public boolean removeNeutronFirewall(String uuid) {
64         return remove(uuid);
65     }
66
67     @Override
68     public boolean updateNeutronFirewall(String uuid, NeutronFirewall delta) {
69         return update(uuid, delta);
70     }
71
72     @Override
73     public boolean neutronFirewallInUse(String firewallUUID) {
74         return !exists(firewallUUID);
75     }
76
77     @Override
78     protected InstanceIdentifier<Firewall> createInstanceIdentifier(Firewall item) {
79         return InstanceIdentifier.create(Neutron.class)
80                 .child(Firewalls.class)
81                 .child(Firewall.class, item.getKey());
82     }
83
84     @Override
85     protected InstanceIdentifier<Firewalls> createInstanceIdentifier() {
86         return InstanceIdentifier.create(Neutron.class)
87                 .child(Firewalls.class);
88     }
89
90     protected NeutronFirewall fromMd(Firewall firewall) {
91         final NeutronFirewall answer = new NeutronFirewall();
92         if (firewall.getUuid() != null) {
93             answer.setID(firewall.getUuid().getValue());
94         }
95         if (firewall.getName() != null) {
96             answer.setFirewallName(firewall.getName());
97         }
98         if (firewall.getTenantId() != null) {
99             answer.setTenantID(firewall.getTenantId());
100         }
101         answer.setFirewallAdminStateIsUp(firewall.isAdminStateUp());
102         if (firewall.isShared() != null) {
103             answer.setFirewallIsShared(firewall.isShared());
104         }
105         if (firewall.getFirewallPolicyId() != null) {
106              answer.setFirewallPolicyID(firewall.getFirewallPolicyId().getValue());
107         }
108         return answer;
109     }
110
111     @Override
112     protected Firewall toMd(NeutronFirewall firewall) {
113         final FirewallBuilder firewallBuilder = new FirewallBuilder();
114         if (firewall.getID() != null) {
115             firewallBuilder.setUuid(toUuid(firewall.getID()));
116         }
117         if (firewall.getFirewallName() != null) {
118             firewallBuilder.setName(firewall.getFirewallName());
119         }
120         if (firewall.getTenantID() != null) {
121             firewallBuilder.setTenantId(toUuid(firewall.getTenantID()));
122         }
123         if (firewall.getFirewallAdminStateIsUp() != null) {
124             firewallBuilder.setAdminStateUp(firewall.getFirewallAdminStateIsUp());
125         }
126         if (firewall.getFirewallIsShared() != null) {
127             firewallBuilder.setShared(firewall.getFirewallIsShared());
128         }
129         if (firewall.getFirewallPolicyID() != null) {
130             firewallBuilder.setFirewallPolicyId(toUuid(firewall.getFirewallPolicyID()));
131         }
132         return firewallBuilder.build();
133     }
134
135     @Override
136     protected Firewall toMd(String uuid) {
137         final FirewallBuilder firewallBuilder = new FirewallBuilder();
138         firewallBuilder.setUuid(toUuid(uuid));
139         return firewallBuilder.build();
140     }
141
142     public static void registerNewInterface(BundleContext context,
143                                             ProviderContext providerContext,
144                                             List<ServiceRegistration<?>> registrations) {
145         final NeutronFirewallInterface neutronFirewallInterface = new NeutronFirewallInterface(providerContext);
146         final ServiceRegistration<INeutronFirewallCRUD> neutronFirewallInterfaceRegistration = context.registerService(INeutronFirewallCRUD.class, neutronFirewallInterface, null);
147         if(neutronFirewallInterfaceRegistration != null) {
148             registrations.add(neutronFirewallInterfaceRegistration);
149         }
150     }
151 }