2 * Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
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
9 package org.opendaylight.ovsdb.openstack.netvirt.translator;
11 import java.io.Serializable;
12 import java.util.ArrayList;
13 import java.util.Iterator;
14 import java.util.List;
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;
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:
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<NeutronSecurityRule> nested RO in the sec group.
34 @XmlAccessorType(XmlAccessType.NONE)
36 public class NeutronSecurityGroup implements Serializable, INeutronObject {
37 private static final long serialVersionUID = 1L;
39 @XmlElement(name = "id")
40 String securityGroupUUID;
42 @XmlElement(name = "name")
43 String securityGroupName;
45 @XmlElement(name = "description")
46 String securityGroupDescription;
48 @XmlElement(name = "tenant_id")
49 String securityGroupTenantID;
51 @XmlElement(name = "security_group_rules")
52 List<NeutronSecurityRule> neutronSecurityRule;
54 public NeutronSecurityGroup() {
55 neutronSecurityRule = new ArrayList<NeutronSecurityRule>();
59 public String getID() {
60 return securityGroupUUID;
63 public void setID(String id) {
64 securityGroupUUID = id;
67 // @deprecated use getID()
68 public String getSecurityGroupUUID() {
69 return securityGroupUUID;
72 // @deprecated use setID()
73 public void setSecurityGroupUUID(String securityGroupUUID) {
74 this.securityGroupUUID = securityGroupUUID;
77 public String getSecurityGroupName() {
78 return securityGroupName;
81 public void setSecurityGroupName(String securityGroupName) {
82 this.securityGroupName = securityGroupName;
85 public String getSecurityGroupDescription() {
86 return securityGroupDescription;
89 public void setSecurityGroupDescription(String securityGroupDescription) {
90 this.securityGroupDescription = securityGroupDescription;
93 public String getSecurityGroupTenantID() {
94 return securityGroupTenantID;
97 public void setSecurityGroupTenantID(String securityGroupTenantID) {
98 this.securityGroupTenantID = securityGroupTenantID;
102 public List<NeutronSecurityRule> getSecurityRules() {
103 return neutronSecurityRule;
106 public void setSecurityRules(List<NeutronSecurityRule> neutronSecurityRule) {
107 this.neutronSecurityRule = neutronSecurityRule;
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 ());
118 if (s.equals ("name")) {
119 ans.setSecurityGroupName (this.getSecurityGroupName ());
121 if (s.equals ("description")) {
122 ans.setSecurityGroupDescription (this.getSecurityGroupDescription ());
124 if (s.equals ("tenant_id")) {
125 ans.setSecurityGroupTenantID (this.getSecurityGroupTenantID ());
127 if (s.equals ("security_group_rules")) {
128 ans.setSecurityRules (this.getSecurityRules ());
135 public String toString() {
136 return "NeutronSecurityGroup{" +
137 "securityGroupUUID='" + securityGroupUUID + '\'' +
138 ", securityGroupName='" + securityGroupName + '\'' +
139 ", securityGroupDescription='" + securityGroupDescription + '\'' +
140 ", securityGroupTenantID='" + securityGroupTenantID + '\'' +
141 ", securityRules=" + neutronSecurityRule + "]";
144 public void initDefaults() {
145 //TODO verify no defaults values are nessecary required.