Fix NPE triggered after disabling SG on a port
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / netvirt / openstack / netvirt / translator / NeutronFirewall.java
1 /*
2  * Copyright (C) 2014 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.netvirt.openstack.netvirt.translator;
10
11 import javax.xml.bind.annotation.XmlAccessType;
12 import javax.xml.bind.annotation.XmlAccessorType;
13 import javax.xml.bind.annotation.XmlElement;
14 import javax.xml.bind.annotation.XmlRootElement;
15 import java.io.Serializable;
16 import java.util.List;
17
18 /**
19  * OpenStack Neutron v2.0 Firewall as a service
20  * (FWaaS) bindings. See OpenStack Network API
21  * v2.0 Reference for description of  the fields:
22  * Implemented fields are as follows:
23  *
24  * id                 uuid-str
25  * tenant_id          uuid-str
26  * name               String
27  * description        String
28  * admin_state_up     Bool
29  * status             String
30  * shared             Bool
31  * firewall_policy_id uuid-str
32  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
33  *
34  */
35
36 @XmlRootElement
37 @XmlAccessorType(XmlAccessType.NONE)
38
39 public class NeutronFirewall implements Serializable, INeutronObject {
40     private static final long serialVersionUID = 1L;
41
42     @XmlElement(name = "id")
43     String firewallUUID;
44
45     @XmlElement (name = "tenant_id")
46     String firewallTenantID;
47
48     @XmlElement (name = "name")
49     String firewallName;
50
51     @XmlElement (name = "description")
52     String firewallDescription;
53
54     @XmlElement (defaultValue = "true", name = "admin_state_up")
55     Boolean firewallAdminStateIsUp;
56
57     @XmlElement (name = "status")
58     String firewallStatus;
59
60     @XmlElement (defaultValue = "false", name = "shared")
61     Boolean firewallIsShared;
62
63     @XmlElement (name = "firewall_policy_id")
64     String neutronFirewallPolicyID;
65
66     public String getID() {
67         return firewallUUID;
68     }
69
70     public void setID(String id) {
71         firewallUUID = id;
72     }
73
74     // @deprecated use getID()
75     public String getFirewallUUID() {
76         return firewallUUID;
77     }
78
79     // @deprecated use setID()
80     public void setFirewallUUID(String firewallUUID) {
81         this.firewallUUID = firewallUUID;
82     }
83
84     public String getFirewallTenantID() {
85         return firewallTenantID;
86     }
87
88     public void setFirewallTenantID(String firewallTenantID) {
89         this.firewallTenantID = firewallTenantID;
90     }
91
92     public String getFirewallName() {
93         return firewallName;
94     }
95
96     public void setFirewallName(String firewallName) {
97         this.firewallName = firewallName;
98     }
99
100     public String getFirewallDescription() {
101         return firewallDescription;
102     }
103
104     public void setFirewallDescription(String firewallDescription) {
105         this.firewallDescription = firewallDescription;
106     }
107
108     public Boolean getFirewallAdminStateIsUp() {
109         return firewallAdminStateIsUp;
110     }
111
112     public void setFirewallAdminStateIsUp(Boolean firewallAdminStateIsUp) {
113         this.firewallAdminStateIsUp = firewallAdminStateIsUp;
114     }
115
116     public String getFirewallStatus() {
117         return firewallStatus;
118     }
119
120     public void setFirewallStatus(String firewallStatus) {
121         this.firewallStatus = firewallStatus;
122     }
123
124     public Boolean getFirewallIsShared() {
125         return firewallIsShared;
126     }
127
128     public void setFirewallIsShared(Boolean firewallIsShared) {
129         this.firewallIsShared = firewallIsShared;
130     }
131
132     public String getFirewallPolicyID() {
133         return neutronFirewallPolicyID;
134     }
135
136     public void setNeutronFirewallPolicyID(String firewallPolicy) {
137         this.neutronFirewallPolicyID = firewallPolicy;
138     }
139
140     public NeutronFirewall extractFields(List<String> fields) {
141         NeutronFirewall ans = new NeutronFirewall();
142         for (String s : fields) {
143             switch (s) {
144                 case "id":
145                     ans.setID(this.getID());
146                     break;
147                 case "tenant_id":
148                     ans.setFirewallTenantID(this.getFirewallTenantID());
149                     break;
150                 case "name":
151                     ans.setFirewallName(this.getFirewallName());
152                     break;
153                 case "description":
154                     ans.setFirewallDescription(this.getFirewallDescription());
155                     break;
156                 case "admin_state_up":
157                     ans.setFirewallAdminStateIsUp(firewallAdminStateIsUp);
158                     break;
159                 case "status":
160                     ans.setFirewallStatus(this.getFirewallStatus());
161                     break;
162                 case "shared":
163                     ans.setFirewallIsShared(firewallIsShared);
164                     break;
165                 case "firewall_policy_id":
166                     ans.setNeutronFirewallPolicyID(this.getFirewallPolicyID());
167                     break;
168             }
169         }
170         return ans;
171     }
172
173     @Override
174     public String toString() {
175         return "NeutronFirewall{" +
176             "firewallUUID='" + firewallUUID + '\'' +
177             ", firewallTenantID='" + firewallTenantID + '\'' +
178             ", firewallName='" + firewallName + '\'' +
179             ", firewallDescription='" + firewallDescription + '\'' +
180             ", firewallAdminStateIsUp=" + firewallAdminStateIsUp +
181             ", firewallStatus='" + firewallStatus + '\'' +
182             ", firewallIsShared=" + firewallIsShared +
183             ", firewallRulePolicyID=" + neutronFirewallPolicyID +
184             '}';
185     }
186 }