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