All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openstack4j.openstack.networking.domain.ext.AbstractNeutronFirewallPolicy Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package org.openstack4j.openstack.networking.domain.ext;

import java.util.ArrayList;
import java.util.List;

import org.openstack4j.api.Apis;
import org.openstack4j.model.network.ext.FirewallPolicy;
import org.openstack4j.model.network.ext.FirewallRule;
import org.openstack4j.model.network.ext.builder.FirewallPolicyBuilder;
import org.openstack4j.openstack.common.ListResult;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Objects;

/**
 * A Neutron Firewall (FwaaS) : Firewall Policy Entity.
 * 
 * 

This is the Parent class which is extended by {@link NeutronFirewallPolicy} & {@link NeutronFirewalPolicyRule} classes. * Prior has `@JsonRootName("firewall_policy")` attribute whereas the later doesn't have * (which is used by `rule_insert/rule_remove` calls - which doesn't require JsonRootName).

* * @see NeutronFirewallPolicy * @see NeutronFirewallPolicyRule * * @author Vishvesh Deshmukh */ public class AbstractNeutronFirewallPolicy implements FirewallPolicy { private static final long serialVersionUID = 1L; protected String id; protected String name; @JsonProperty("tenant_id") protected String tenantId; protected String description; protected Boolean shared; protected Boolean audited; @JsonProperty("firewall_rules") protected List firewallRules; protected List neutronFirewallRules; @JsonProperty("firewall_list") private List firewallList; /** * Wrap this FirewallPolicy to a builder * @return FirewallPolicyBuilder */ @Override public FirewallPolicyBuilder toBuilder() { return new FirewallPolicyConcreteBuilder(this); } /** * @return FirewallPolicyBuilder */ public static FirewallPolicyBuilder builder() { return new FirewallPolicyConcreteBuilder(); } @Override public String getId() { return id; } @Override public String getName() { return name; } @Override public String getTenantId() { return tenantId; } @Override public String getDescription() { return description; } @Override public Boolean isShared() { return shared != null && shared; } @Override public Boolean isAudited() { return audited != null && audited; } @JsonIgnore @Override public List getFirewallRuleIds() { return firewallRules; } @JsonIgnore @Override public List getNeutronFirewallRules() { neutronFirewallRules = new ArrayList(); if (neutronFirewallRules == null && (firewallRules != null && firewallRules.size() > 0)) { neutronFirewallRules = new ArrayList(); for (String ruleId : firewallRules) { NeutronFirewallRule rule = (NeutronFirewallRule) Apis.getNetworkingServices(). firewalls().firewallrule().get(ruleId); neutronFirewallRules.add(rule); } } return neutronFirewallRules; } @Override public List getFirewallList() { return firewallList; } @Override public String toString() { return Objects.toStringHelper(this).omitNullValues() .add("id", id).add("name", name).add("shared", shared).add("audited", audited) .add("tenantId", tenantId).add("description", description) .add("firewallRuleIds", firewallRules).add("neutronFirewallRules", neutronFirewallRules) .add("firewallList", firewallList) .toString(); } public static class FirewallPolicies extends ListResult { private static final long serialVersionUID = 1L; @JsonProperty("firewall_policies") List firewallPolicies; @Override public List value() { return firewallPolicies; } @Override public String toString() { return Objects.toStringHelper(this).omitNullValues() .add("firewallPolicies", firewallPolicies).toString(); } } public static class FirewallPolicyConcreteBuilder implements FirewallPolicyBuilder { NeutronFirewallPolicy f; @Override public FirewallPolicy build() { return f; } public FirewallPolicyConcreteBuilder() { this(new NeutronFirewallPolicy()); } public FirewallPolicyConcreteBuilder(FirewallPolicy f) { this.f = (NeutronFirewallPolicy) f; } @Override public FirewallPolicyBuilder from(FirewallPolicy in) { this.f = (NeutronFirewallPolicy) in; return this; } @Override public FirewallPolicyBuilder tenantId(String tenantId) { f.tenantId = tenantId; return this; } @Override public FirewallPolicyBuilder name(String name) { f.name = name; return this; } @Override public FirewallPolicyBuilder description(String description) { f.description = description; return this; } @Override public FirewallPolicyBuilder shared(Boolean shared) { f.shared = shared; return this; } @Override public FirewallPolicyBuilder audited(Boolean audited) { f.audited = audited; return this; } @Override public FirewallPolicyBuilder firewallRules(List ruleIdList) { f.firewallRules = ruleIdList; return this; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy