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