46436b52f420f446d5fe056bd05a7ba472e8f938
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / NeutronFirewallPolicy.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.
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.controller.networkconfig.neutron;
10
11 import org.opendaylight.controller.configuration.ConfigurationObject;
12
13 import javax.xml.bind.annotation.XmlAccessType;
14 import javax.xml.bind.annotation.XmlAccessorType;
15 import javax.xml.bind.annotation.XmlElement;
16 import javax.xml.bind.annotation.XmlRootElement;
17 import java.io.Serializable;
18 import java.util.ArrayList;
19 import java.util.Iterator;
20 import java.util.List;
21
22 /**
23  * OpenStack Neutron v2.0 Firewall as a service
24  * (FWaaS) bindings. See OpenStack Network API
25  * v2.0 Reference for description of  the fields.
26  * The implemented fields are as follows:
27  *
28  * id             uuid-str
29  * tenant_id      uuid-str
30  * name           String
31  * description    String
32  * shared         Boolean
33  * firewall_rules List
34  * audited        Boolean
35  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
36  */
37
38 @XmlRootElement
39 @XmlAccessorType(XmlAccessType.NONE)
40
41 public class NeutronFirewallPolicy extends ConfigurationObject implements Serializable {
42     private static final long serialVersionUID = 1L;
43
44     @XmlElement(name="id")
45     String firewallPolicyUUID;
46
47     @XmlElement (name="tenant_id")
48     String firewallPolicyTenantID;
49
50     @XmlElement (name="name")
51     String firewallPolicyName;
52
53     @XmlElement (name="description")
54     String firewallPolicyDescription;
55
56     @XmlElement (defaultValue="false", name="shared")
57     Boolean firewallPolicyIsShared;
58
59     @XmlElement (name="firewall_rules")
60     List<String> firewallPolicyRules;
61
62     @XmlElement (defaultValue="false", name="audited")
63     String firewallPolicyIsAudited;
64
65     public String getFirewallPolicyIsAudited() {
66         return firewallPolicyIsAudited;
67     }
68
69     public void setFirewallPolicyIsAudited(String firewallPolicyIsAudited) {
70         this.firewallPolicyIsAudited = firewallPolicyIsAudited;
71     }
72
73     public void setFirewallPolicyRules(List<String> firewallPolicyRules) {
74         this.firewallPolicyRules = firewallPolicyRules;
75     }
76
77     public List<String> getFirewallPolicyRules() {
78         return firewallPolicyRules;
79     }
80
81     public Boolean getFirewallPolicyIsShared() {
82         return firewallPolicyIsShared;
83     }
84
85     public void setFirewallPolicyIsShared(Boolean firewallPolicyIsShared) {
86         this.firewallPolicyIsShared = firewallPolicyIsShared;
87     }
88
89     public String getFirewallPolicyDescription() {
90         return firewallPolicyDescription;
91     }
92
93     public void setFirewallPolicyDescription(String firewallPolicyDescription) {
94         this.firewallPolicyDescription = firewallPolicyDescription;
95     }
96
97     public String getFirewallPolicyName() {
98         return firewallPolicyName;
99     }
100
101     public void setFirewallPolicyName(String firewallPolicyName) {
102         this.firewallPolicyName = firewallPolicyName;
103     }
104
105     public String getFirewallPolicyTenantID() {
106         return firewallPolicyTenantID;
107     }
108
109     public void setFirewallPolicyTenantID(String firewallPolicyTenantID) {
110         this.firewallPolicyTenantID = firewallPolicyTenantID;
111     }
112
113     public String getFirewallPolicyUUID() {
114         return firewallPolicyUUID;
115     }
116
117     public void setFirewallPolicyUUID(String firewallPolicyUUID) {
118         this.firewallPolicyUUID = firewallPolicyUUID;
119     }
120
121     public NeutronFirewallPolicy extractFields(List<String> fields) {
122         NeutronFirewallPolicy ans = new NeutronFirewallPolicy();
123         Iterator<String> i = fields.iterator();
124         while (i.hasNext()) {
125             String s = i.next();
126             if (s.equals("id")) {
127                 ans.setFirewallPolicyUUID(this.getFirewallPolicyUUID());
128             }
129             if (s.equals("tenant_id")) {
130                 ans.setFirewallPolicyTenantID(this.getFirewallPolicyTenantID());
131             }
132             if (s.equals("name")) {
133                 ans.setFirewallPolicyName(this.getFirewallPolicyName());
134             }
135             if(s.equals("description")) {
136                 ans.setFirewallPolicyDescription(this.getFirewallPolicyDescription());
137             }
138             if (s.equals("shared")) {
139                 ans.setFirewallPolicyIsShared(firewallPolicyIsShared);
140             }
141             if (s.equals("firewall_rules")) {
142                 List<String> firewallRuleList = new ArrayList<String>();
143                 firewallRuleList.addAll(this.getFirewallPolicyRules());
144                 ans.setFirewallPolicyRules(firewallRuleList);
145             }
146             if (s.equals("audited")) {
147                 ans.setFirewallPolicyIsAudited(firewallPolicyIsAudited);
148             }
149         }
150         return ans;
151     }
152
153     @Override
154     public String toString() {
155         return "NeutronFirewallPolicy{" +
156             "firewallPolicyUUID='" + firewallPolicyUUID + '\'' +
157             ", firewallPolicyTenantID='" + firewallPolicyTenantID + '\'' +
158             ", firewallPolicyName='" + firewallPolicyName + '\'' +
159             ", firewallPolicyDescription='" + firewallPolicyDescription + '\'' +
160             ", firewallPolicyIsShared=" + firewallPolicyIsShared +
161             ", firewallPolicyRules=" + firewallPolicyRules +
162             ", firewallPolicyIsAudited='" + firewallPolicyIsAudited + '\'' +
163             '}';
164     }
165 }