| /** |
| * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. |
| * |
| * This software is licensed under the GNU General Public License v3 or later. |
| * |
| * It is free software: you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation, either version 3 of the License, or any later version. |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| * |
| */ |
| package com.cloud.offerings; |
| |
| import java.util.Date; |
| |
| 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.Networks.TrafficType; |
| import com.cloud.offering.NetworkOffering; |
| import com.cloud.service.ServiceOfferingVO; |
| import com.cloud.utils.db.GenericDao; |
| |
| @Entity |
| @Table(name="network_offerings") |
| public class NetworkOfferingVO implements NetworkOffering { |
| |
| @Id |
| @GeneratedValue(strategy=GenerationType.IDENTITY) |
| @Column(name="id") |
| long id; |
| |
| @Column(name="name") |
| String name; |
| |
| @Column(name="display_text") |
| String displayText; |
| |
| @Column(name="nw_rate") |
| Integer rateMbps; |
| |
| @Column(name="mc_rate") |
| Integer multicastRateMbps; |
| |
| @Column(name="concurrent_connections") |
| Integer concurrentConnections; |
| |
| @Column(name="traffic_type") |
| @Enumerated(value=EnumType.STRING) |
| TrafficType trafficType; |
| |
| @Column(name="specify_vlan") |
| boolean specifyVlan; |
| |
| @Column(name="system_only") |
| boolean systemOnly; |
| |
| @Column(name="service_offering_id") |
| Long serviceOfferingId; |
| |
| @Column(name="tags") |
| String tags; |
| |
| @Column(name="default") |
| boolean isDefault; |
| |
| @Column(name=GenericDao.REMOVED_COLUMN) |
| Date removed; |
| |
| @Column(name=GenericDao.CREATED_COLUMN) |
| Date created; |
| |
| @Column(name="availability") |
| @Enumerated(value=EnumType.STRING) |
| Availability availability; |
| |
| @Column(name="dns_service") |
| boolean dnsService; |
| |
| @Column(name="gateway_service") |
| boolean gatewayService; |
| |
| @Column(name="firewall_service") |
| boolean firewallService; |
| |
| @Column(name="lb_service") |
| boolean lbService; |
| |
| @Column(name="userdata_service") |
| boolean userdataService; |
| |
| @Column(name="vpn_service") |
| boolean vpnService; |
| |
| @Column(name="dhcp_service") |
| boolean dhcpService; |
| |
| @Override |
| public String getDisplayText() { |
| return displayText; |
| } |
| |
| @Override |
| public long getId() { |
| return id; |
| } |
| |
| @Override |
| public TrafficType getTrafficType() { |
| return trafficType; |
| } |
| |
| @Override |
| public Integer getMulticastRateMbps() { |
| return multicastRateMbps; |
| } |
| |
| @Override |
| public String getName() { |
| return name; |
| } |
| |
| @Override |
| public Integer getRateMbps() { |
| return rateMbps; |
| } |
| |
| public Date getCreated() { |
| return created; |
| } |
| |
| @Override |
| public boolean isSystemOnly() { |
| return systemOnly; |
| } |
| |
| public Date getRemoved() { |
| return removed; |
| } |
| |
| @Override |
| public Integer getConcurrentConnections() { |
| return concurrentConnections; |
| } |
| |
| public String getTags() { |
| return tags; |
| } |
| |
| public void setTags(String tags) { |
| this.tags = tags; |
| } |
| |
| public NetworkOfferingVO() { |
| } |
| |
| public void setName(String name) { |
| this.name = name; |
| } |
| |
| public void setDisplayText(String displayText) { |
| this.displayText = displayText; |
| } |
| |
| public void setRateMbps(Integer rateMbps) { |
| this.rateMbps = rateMbps; |
| } |
| |
| public void setMulticastRateMbps(Integer multicastRateMbps) { |
| this.multicastRateMbps = multicastRateMbps; |
| } |
| |
| public void setConcurrentConnections(Integer concurrentConnections) { |
| this.concurrentConnections = concurrentConnections; |
| } |
| |
| public void setTrafficType(TrafficType trafficType) { |
| this.trafficType = trafficType; |
| } |
| |
| public void setSystemOnly(boolean systemOnly) { |
| this.systemOnly = systemOnly; |
| } |
| |
| |
| public void setRemoved(Date removed) { |
| this.removed = removed; |
| } |
| |
| public Long getServiceOfferingId() { |
| return serviceOfferingId; |
| } |
| |
| public void setServiceOfferingId(long serviceOfferingId) { |
| this.serviceOfferingId = serviceOfferingId; |
| } |
| |
| @Override |
| public boolean isDefault() { |
| return isDefault; |
| } |
| |
| @Override |
| public boolean getSpecifyVlan() { |
| return specifyVlan; |
| } |
| |
| public void setCreated(Date created) { |
| this.created = created; |
| } |
| |
| @Override |
| public Availability getAvailability() { |
| return availability; |
| } |
| |
| public void setAvailability(Availability availability) { |
| this.availability = availability; |
| } |
| |
| @Override |
| public boolean isDnsService() { |
| return dnsService; |
| } |
| |
| public void setDnsService(boolean dnsService) { |
| this.dnsService = dnsService; |
| } |
| |
| @Override |
| public boolean isGatewayService() { |
| return gatewayService; |
| } |
| |
| public void setGatewayService(boolean gatewayService) { |
| this.gatewayService = gatewayService; |
| } |
| |
| @Override |
| public boolean isFirewallService() { |
| return firewallService; |
| } |
| |
| public void setFirewallService(boolean firewallService) { |
| this.firewallService = firewallService; |
| } |
| |
| @Override |
| public boolean isLbService() { |
| return lbService; |
| } |
| |
| public void setLbService(boolean lbService) { |
| this.lbService = lbService; |
| } |
| |
| @Override |
| public boolean isUserdataService() { |
| return userdataService; |
| } |
| |
| public void setUserdataService(boolean userdataService) { |
| this.userdataService = userdataService; |
| } |
| |
| @Override |
| public boolean isVpnService() { |
| return vpnService; |
| } |
| |
| public void setVpnService(boolean vpnService) { |
| this.vpnService = vpnService; |
| } |
| |
| @Override |
| public boolean isDhcpService() { |
| return dhcpService; |
| } |
| |
| public void setDhcpService(boolean dhcpService) { |
| this.dhcpService = dhcpService; |
| } |
| |
| public NetworkOfferingVO(String name, String displayText, TrafficType trafficType, boolean systemOnly, boolean specifyVlan, Integer rateMbps, Integer multicastRateMbps, Integer concurrentConnections, boolean isDefault, Availability availability, boolean lbService, boolean gatewayService, boolean dhcpService, boolean firewallService, boolean dnsService, boolean userDataService, boolean vpnService) { |
| this.name = name; |
| this.displayText = displayText; |
| this.rateMbps = rateMbps; |
| this.multicastRateMbps = multicastRateMbps; |
| this.concurrentConnections = concurrentConnections; |
| this.trafficType = trafficType; |
| this.systemOnly = systemOnly; |
| this.specifyVlan = specifyVlan; |
| this.isDefault = isDefault; |
| this.availability = availability; |
| this.gatewayService = gatewayService; |
| this.lbService = lbService; |
| this.dnsService = dnsService; |
| this.dhcpService = dhcpService; |
| this.firewallService = firewallService; |
| this.vpnService = vpnService; |
| this.userdataService = userDataService; |
| } |
| |
| public NetworkOfferingVO(ServiceOfferingVO offering) { |
| this("Network Offering for " + offering.getName(), "Network Offering for " + offering.getDisplayText(), TrafficType.Guest, false, false, offering.getRateMbps(), offering.getMulticastRateMbps(), null, false, Availability.Required, false, false, false, false, false, false, false); |
| this.serviceOfferingId = offering.getId(); |
| } |
| |
| |
| /** |
| * Network Offering for all system vms. |
| * @param name |
| * @param trafficType |
| */ |
| public NetworkOfferingVO(String name, TrafficType trafficType) { |
| this(name, "System Offering for " + name, trafficType, true, false, null, null, null, false, Availability.Required, false, false, false, false, false, false, false); |
| } |
| |
| @Override |
| public String toString() { |
| StringBuilder buf = new StringBuilder("[Network Offering ["); |
| return buf.append(id).append("-").append(trafficType).append("-").append(name).append("]").toString(); |
| } |
| } |