BUG 1853 : Clustered Data Store causes Out of Memory
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / NeutronLoadBalancerPool.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.HashMap;
19 import java.util.Iterator;
20 import java.util.List;
21
22 /**
23  * OpenStack Neutron v2.0 Load Balancer as a service
24  * (LBaaS) bindings. See OpenStack Network API
25  * v2.0 Reference for description of  the fields:
26  * Implemented fields are as follows:
27  *
28  * id                 uuid-str
29  * tenant_id          uuid-str
30  * name               String
31  * description        String
32  * protocol           String
33  * lb_algorithm       String
34  * healthmonitor_id   String
35  * admin_state_up     Bool
36  * status             String
37  * members            List <String>
38  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
39  */
40
41 @XmlRootElement
42 @XmlAccessorType(XmlAccessType.NONE)
43
44 public class NeutronLoadBalancerPool extends ConfigurationObject implements Serializable {
45     private static final long serialVersionUID = 1L;
46
47     @XmlElement(name="id")
48     String loadBalancerPoolID;
49
50     @XmlElement (name="tenant_id")
51     String loadBalancerPoolTenantID;
52
53     @XmlElement (name="name")
54     String loadBalancerPoolName;
55
56     @XmlElement (name="description")
57     String loadBalancerPoolDescription;
58
59     @XmlElement (name="protocol")
60     String loadBalancerPoolProtocol;
61
62     @XmlElement (name="lb_algorithm")
63     String loadBalancerPoolLbAlgorithm;
64
65     @XmlElement (name="healthmonitor_id")
66     String neutronLoadBalancerPoolHealthMonitorID;
67
68     @XmlElement (defaultValue="true", name="admin_state_up")
69     Boolean loadBalancerPoolAdminStateIsUp;
70
71     @XmlElement (name="status")
72     String loadBalancerPoolStatus;
73
74     @XmlElement (name="members")
75     List loadBalancerPoolMembers;
76
77     HashMap<String, NeutronLoadBalancerPoolMember> member;
78
79     public NeutronLoadBalancerPool() {
80         member = new HashMap<String, NeutronLoadBalancerPoolMember>();
81     }
82
83     public String getLoadBalancerPoolID() {
84         return loadBalancerPoolID;
85     }
86
87     public void setLoadBalancerPoolID(String loadBalancerPoolID) {
88         this.loadBalancerPoolID = loadBalancerPoolID;
89     }
90
91     public String getLoadBalancerPoolTenantID() {
92         return loadBalancerPoolTenantID;
93     }
94
95     public void setLoadBalancerPoolTenantID(String loadBalancerPoolTenantID) {
96         this.loadBalancerPoolTenantID = loadBalancerPoolTenantID;
97     }
98
99     public String getLoadBalancerPoolName() {
100         return loadBalancerPoolName;
101     }
102
103     public void setLoadBalancerPoolName(String loadBalancerPoolName) {
104         this.loadBalancerPoolName = loadBalancerPoolName;
105     }
106
107     public String getLoadBalancerPoolDescription() {
108         return loadBalancerPoolDescription;
109     }
110
111     public void setLoadBalancerPoolDescription(String loadBalancerPoolDescription) {
112         this.loadBalancerPoolDescription = loadBalancerPoolDescription;
113     }
114
115     public String getLoadBalancerPoolProtocol() {
116         return loadBalancerPoolProtocol;
117     }
118
119     public void setLoadBalancerPoolProtocol(String loadBalancerPoolProtocol) {
120         this.loadBalancerPoolProtocol = loadBalancerPoolProtocol;
121     }
122
123     public String getLoadBalancerPoolLbAlgorithm() {
124         return loadBalancerPoolLbAlgorithm;
125     }
126
127     public void setLoadBalancerPoolLbAlgorithm(String loadBalancerPoolLbAlgorithm) {
128         this.loadBalancerPoolLbAlgorithm = loadBalancerPoolLbAlgorithm;
129     }
130
131     public String getNeutronLoadBalancerPoolHealthMonitorID() {
132         return neutronLoadBalancerPoolHealthMonitorID;
133     }
134
135     public void setNeutronLoadBalancerPoolHealthMonitorID(String neutronLoadBalancerPoolHealthMonitorID) {
136         this.neutronLoadBalancerPoolHealthMonitorID = neutronLoadBalancerPoolHealthMonitorID;
137     }
138
139     public Boolean getLoadBalancerPoolAdminIsStateIsUp() {
140         return loadBalancerPoolAdminStateIsUp;
141     }
142
143     public void setLoadBalancerPoolAdminStateIsUp(Boolean loadBalancerPoolAdminStateIsUp) {
144         this.loadBalancerPoolAdminStateIsUp = loadBalancerPoolAdminStateIsUp;
145     }
146
147     public String getLoadBalancerPoolStatus() {
148         return loadBalancerPoolStatus;
149     }
150
151     public void setLoadBalancerPoolStatus(String loadBalancerPoolStatus) {
152         this.loadBalancerPoolStatus = loadBalancerPoolStatus;
153     }
154
155     public List getLoadBalancerPoolMembers() {
156         return loadBalancerPoolMembers;
157     }
158
159     public void setLoadBalancerPoolMembers(List loadBalancerPoolMembers) {
160         this.loadBalancerPoolMembers = loadBalancerPoolMembers;
161     }
162
163     public NeutronLoadBalancerPool extractFields(List<String> fields) {
164         NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
165         Iterator<String> i = fields.iterator();
166         while (i.hasNext()) {
167             String s = i.next();
168             if (s.equals("id")) {
169                 ans.setLoadBalancerPoolID(this.getLoadBalancerPoolID());
170             }
171             if (s.equals("tenant_id")) {
172                 ans.setLoadBalancerPoolTenantID(this.getLoadBalancerPoolTenantID());
173             }
174             if (s.equals("name")) {
175                 ans.setLoadBalancerPoolName(this.getLoadBalancerPoolName());
176             }
177             if(s.equals("description")) {
178                 ans.setLoadBalancerPoolDescription(this.getLoadBalancerPoolDescription());
179             }
180             if(s.equals("protocol")) {
181                 ans.setLoadBalancerPoolProtocol(this.getLoadBalancerPoolProtocol());
182             }
183             if(s.equals("lb_algorithm")) {
184                 ans.setLoadBalancerPoolLbAlgorithm(this.getLoadBalancerPoolLbAlgorithm());
185             }
186             if(s.equals("healthmonitor_id")) {
187                 ans.setNeutronLoadBalancerPoolHealthMonitorID(this.getNeutronLoadBalancerPoolHealthMonitorID());
188             }
189             if (s.equals("admin_state_up")) {
190                 ans.setLoadBalancerPoolAdminStateIsUp(loadBalancerPoolAdminStateIsUp);
191             }
192             if (s.equals("status")) {
193                 ans.setLoadBalancerPoolStatus(this.getLoadBalancerPoolStatus());
194             }
195             if (s.equals("members")) {
196                 ans.setLoadBalancerPoolMembers(getLoadBalancerPoolMembers());
197             }
198         }
199         return ans;
200     }
201 }