// Copyright 2012 Citrix Systems, Inc. Licensed under the // Apache License, Version 2.0 (the "License"); you may not use this // file except in compliance with the License. Citrix Systems, Inc. // reserves all rights not expressly granted by the License. // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.network.dao; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import com.cloud.network.Network.Service; import com.cloud.network.PhysicalNetworkServiceProvider; import com.cloud.utils.db.GenericDao; @Entity @Table(name = "physical_network_service_providers") public class PhysicalNetworkServiceProviderVO implements PhysicalNetworkServiceProvider { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private long id; @Column(name="uuid") private String uuid; @Column(name = "physical_network_id") private long physicalNetworkId; @Column(name = "destination_physical_network_id") private long destPhysicalNetworkId; @Column(name = "provider_name") private String providerName; @Column(name="state") @Enumerated(value=EnumType.STRING) State state; @Column(name = "vpn_service_provided") boolean vpnServiceProvided; @Column(name = "dhcp_service_provided") boolean dhcpServiceProvided; @Column(name = "dns_service_provided") boolean dnsServiceProvided; @Column(name = "gateway_service_provided") boolean gatewayServiceProvided; @Column(name = "firewall_service_provided") boolean firewallServiceProvided; @Column(name = "source_nat_service_provided") boolean sourcenatServiceProvided; @Column(name = "load_balance_service_provided") boolean lbServiceProvided; @Column(name = "static_nat_service_provided") boolean staticnatServiceProvided; @Column(name = "port_forwarding_service_provided") boolean portForwardingServiceProvided; @Column(name = "user_data_service_provided") boolean userdataServiceProvided; @Column(name = "security_group_service_provided") boolean securitygroupServiceProvided; @Column(name=GenericDao.REMOVED_COLUMN) Date removed; public PhysicalNetworkServiceProviderVO() { } public PhysicalNetworkServiceProviderVO(long physicalNetworkId, String name) { this.physicalNetworkId = physicalNetworkId; this.providerName = name; this.state = State.Disabled; this.uuid = UUID.randomUUID().toString(); } @Override public long getId() { return id; } @Override public long getPhysicalNetworkId() { return physicalNetworkId; } @Override public State getState() { return state; } @Override public void setState(State state) { this.state = state; } @Override public String getProviderName() { return providerName; } public void setDestinationPhysicalNetworkId(long destPhysicalNetworkId) { this.destPhysicalNetworkId = destPhysicalNetworkId; } @Override public long getDestinationPhysicalNetworkId() { return destPhysicalNetworkId; } @Override public boolean isVpnServiceProvided() { return vpnServiceProvided; } public void setVpnServiceProvided(boolean vpnServiceProvided) { this.vpnServiceProvided = vpnServiceProvided; } @Override public boolean isDhcpServiceProvided() { return dhcpServiceProvided; } public void setDhcpServiceProvided(boolean dhcpServiceProvided) { this.dhcpServiceProvided = dhcpServiceProvided; } @Override public boolean isDnsServiceProvided() { return dnsServiceProvided; } public void setDnsServiceProvided(boolean dnsServiceProvided) { this.dnsServiceProvided = dnsServiceProvided; } @Override public boolean isGatewayServiceProvided() { return gatewayServiceProvided; } public void setGatewayServiceProvided(boolean gatewayServiceProvided) { this.gatewayServiceProvided = gatewayServiceProvided; } @Override public boolean isFirewallServiceProvided() { return firewallServiceProvided; } public void setFirewallServiceProvided(boolean firewallServiceProvided) { this.firewallServiceProvided = firewallServiceProvided; } @Override public boolean isSourcenatServiceProvided() { return sourcenatServiceProvided; } public void setSourcenatServiceProvided(boolean sourcenatServiceProvided) { this.sourcenatServiceProvided = sourcenatServiceProvided; } @Override public boolean isLbServiceProvided() { return lbServiceProvided; } public void setLbServiceProvided(boolean lbServiceProvided) { this.lbServiceProvided = lbServiceProvided; } public boolean isStaticnatServiceProvided() { return staticnatServiceProvided; } public void setStaticnatServiceProvided(boolean staticnatServiceProvided) { this.staticnatServiceProvided = staticnatServiceProvided; } public boolean isPortForwardingServiceProvided() { return portForwardingServiceProvided; } public void setPortForwardingServiceProvided(boolean portForwardingServiceProvided) { this.portForwardingServiceProvided = portForwardingServiceProvided; } @Override public boolean isUserdataServiceProvided() { return userdataServiceProvided; } public void setUserdataServiceProvided(boolean userdataServiceProvided) { this.userdataServiceProvided = userdataServiceProvided; } @Override public boolean isSecuritygroupServiceProvided() { return securitygroupServiceProvided; } public void setSecuritygroupServiceProvided(boolean securitygroupServiceProvided) { this.securitygroupServiceProvided = securitygroupServiceProvided; } @Override public String getUuid() { return this.uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public Date getRemoved() { return removed; } public void setRemoved(Date removed) { this.removed = removed; } public void setEnabledServices(List<Service> services){ this.setVpnServiceProvided(services.contains(Service.Vpn)); this.setDhcpServiceProvided(services.contains(Service.Dhcp)); this.setDnsServiceProvided(services.contains(Service.Dns)); this.setGatewayServiceProvided(services.contains(Service.Gateway)); this.setFirewallServiceProvided(services.contains(Service.Firewall)); this.setLbServiceProvided(services.contains(Service.Lb)); this.setSourcenatServiceProvided(services.contains(Service.SourceNat)); this.setStaticnatServiceProvided(services.contains(Service.StaticNat)); this.setPortForwardingServiceProvided(services.contains(Service.PortForwarding)); this.setUserdataServiceProvided(services.contains(Service.UserData)); this.setSecuritygroupServiceProvided(services.contains(Service.SecurityGroup)); } @Override public List<Service> getEnabledServices(){ List<Service> services = new ArrayList<Service>(); if(this.isVpnServiceProvided()){ services.add(Service.Vpn); } if(this.isDhcpServiceProvided()){ services.add(Service.Dhcp); } if(this.isDnsServiceProvided()){ services.add(Service.Dns); } if(this.isGatewayServiceProvided()){ services.add(Service.Gateway); } if(this.isFirewallServiceProvided()){ services.add(Service.Firewall); } if(this.isLbServiceProvided()){ services.add(Service.Lb); } if(this.sourcenatServiceProvided){ services.add(Service.SourceNat); } if(this.staticnatServiceProvided){ services.add(Service.StaticNat); } if(this.portForwardingServiceProvided){ services.add(Service.PortForwarding); } if(this.isUserdataServiceProvided()){ services.add(Service.UserData); } if(this.isSecuritygroupServiceProvided()){ services.add(Service.SecurityGroup); } return services; } }