Merge branch 'topic/master/neutron-yang-migration' to branch 'master'
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / translator / NeutronSecurityGroup.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.ovsdb.openstack.netvirt.translator;
10
11 import java.io.Serializable;
12 import java.util.ArrayList;
13 import java.util.Iterator;
14 import java.util.List;
15
16 import javax.xml.bind.annotation.XmlAccessType;
17 import javax.xml.bind.annotation.XmlAccessorType;
18 import javax.xml.bind.annotation.XmlElement;
19 import javax.xml.bind.annotation.XmlRootElement;
20
21 /**
22  * OpenStack Neutron v2.0 Security Group bindings.
23  * See OpenStack Network API v2.0 Reference for description of
24  * annotated attributes. The current fields are as follows:
25  * <p>
26  * id                   uuid-str unique ID for the security group.
27  * name                 String name of the security group.
28  * description          String name of the security group.
29  * tenant_id            uuid-str Owner of security rule..
30  * security_group_rules List&lt;NeutronSecurityRule&gt; nested RO in the sec group.
31  */
32
33 @XmlRootElement
34 @XmlAccessorType(XmlAccessType.NONE)
35
36 public class NeutronSecurityGroup implements Serializable, INeutronObject {
37     private static final long serialVersionUID = 1L;
38
39     @XmlElement(name = "id")
40     String securityGroupUUID;
41
42     @XmlElement(name = "name")
43     String securityGroupName;
44
45     @XmlElement(name = "description")
46     String securityGroupDescription;
47
48     @XmlElement(name = "tenant_id")
49     String securityGroupTenantID;
50
51     @XmlElement(name = "security_group_rules")
52     List<NeutronSecurityRule> neutronSecurityRule;
53
54     public NeutronSecurityGroup() {
55         neutronSecurityRule = new ArrayList<NeutronSecurityRule>();
56
57     }
58
59     public String getID() {
60         return securityGroupUUID;
61     }
62
63     public void setID(String id) {
64         securityGroupUUID = id;
65     }
66
67     // @deprecated use getID()
68     public String getSecurityGroupUUID() {
69         return securityGroupUUID;
70     }
71
72     // @deprecated use setID()
73     public void setSecurityGroupUUID(String securityGroupUUID) {
74         this.securityGroupUUID = securityGroupUUID;
75     }
76
77     public String getSecurityGroupName() {
78         return securityGroupName;
79     }
80
81     public void setSecurityGroupName(String securityGroupName) {
82         this.securityGroupName = securityGroupName;
83     }
84
85     public String getSecurityGroupDescription() {
86         return securityGroupDescription;
87     }
88
89     public void setSecurityGroupDescription(String securityGroupDescription) {
90         this.securityGroupDescription = securityGroupDescription;
91     }
92
93     public String getSecurityGroupTenantID() {
94         return securityGroupTenantID;
95     }
96
97     public void setSecurityGroupTenantID(String securityGroupTenantID) {
98         this.securityGroupTenantID = securityGroupTenantID;
99     }
100
101     // Rules In Group
102     public List<NeutronSecurityRule> getSecurityRules() {
103         return neutronSecurityRule;
104     }
105
106     public void setSecurityRules(List<NeutronSecurityRule> neutronSecurityRule) {
107         this.neutronSecurityRule = neutronSecurityRule;
108     }
109
110     public NeutronSecurityGroup extractFields(List<String> fields) {
111         NeutronSecurityGroup ans = new NeutronSecurityGroup ();
112         Iterator<String> i = fields.iterator ();
113         while (i.hasNext ()) {
114             String s = i.next ();
115             if (s.equals ("id")) {
116                 ans.setID (this.getID ());
117             }
118             if (s.equals ("name")) {
119                 ans.setSecurityGroupName (this.getSecurityGroupName ());
120             }
121             if (s.equals ("description")) {
122                 ans.setSecurityGroupDescription (this.getSecurityGroupDescription ());
123             }
124             if (s.equals ("tenant_id")) {
125                 ans.setSecurityGroupTenantID (this.getSecurityGroupTenantID ());
126             }
127             if (s.equals ("security_group_rules")) {
128                 ans.setSecurityRules (this.getSecurityRules ());
129             }
130         }
131         return ans;
132     }
133
134     @Override
135     public String toString() {
136         return "NeutronSecurityGroup{" +
137                 "securityGroupUUID='" + securityGroupUUID + '\'' +
138                 ", securityGroupName='" + securityGroupName + '\'' +
139                 ", securityGroupDescription='" + securityGroupDescription + '\'' +
140                 ", securityGroupTenantID='" + securityGroupTenantID + '\'' +
141                 ", securityRules=" + neutronSecurityRule + "]";
142     }
143
144     public void initDefaults() {
145         //TODO verify no defaults values are nessecary required.
146     }
147 }