package com.sequenceiq.cloudbreak.cloud.openstack.view; import static com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackConstants.NETWORK_ID; import static com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackConstants.ROUTER_ID; import static com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackConstants.SUBNET_ID; import static org.apache.commons.lang3.StringUtils.isNoneEmpty; import com.sequenceiq.cloudbreak.cloud.model.Network; import com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackConstants; public class NeutronNetworkView { private Network network; public NeutronNetworkView(Network network) { this.network = network; } public String getSubnetCIDR() { return network.getSubnet().getCidr(); } public boolean isAssignFloatingIp() { return isNoneEmpty(getPublicNetId()); } public boolean isExistingNetwork() { return isNoneEmpty(getCustomNetworkId()); } public boolean isExistingSubnet() { return isNoneEmpty(getCustomSubnetId()); } public String getCustomNetworkId() { return network.getStringParameter(NETWORK_ID); } public String getCustomRouterId() { return network.getStringParameter(ROUTER_ID); } public String getCustomSubnetId() { return network.getStringParameter(SUBNET_ID); } public String getPublicNetId() { return network.getStringParameter(OpenStackConstants.PUBLIC_NET_ID); } public boolean isProviderNetwork() { String networkingOption = network.getStringParameter(OpenStackConstants.NETWORKING_OPTION); return NetworkingOptions.PROVIDER.getValue().equals(networkingOption); } private enum NetworkingOptions { PROVIDER("provider"), SELF_SERVICE("self-service"); private String value; NetworkingOptions(String value) { this.value = value; } public String getValue() { return value; } } }