package adt.mainnode.entity; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.NoArgsConstructor; import adt.mainnode.identity.VlanIdentity; import javax.persistence.*; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Transient; import java.util.ArrayList; import java.util.List; @Entity @Data @NoArgsConstructor @IdClass(VlanIdentity.class) public class Vlan { @Id @Column(name = "distributedNodeId") String distributedNodeId; @Id @JsonProperty("vlan_name") @Column(name = "vlan_name") String vlanName; @Column(name = "delay") Long delay; // Value in seconds @Column(name = "gateway") String gateway; @Column(name = "net_addr") String netAddress; @Column(name = "mask") String mask; @Transient List snapshots; public static Vlan createVlan(VlanIdentity vlanIdentity, Long delay, String netAddress, String gateway, String mask) { Vlan vlan = new Vlan(); vlan.setDistributedNodeId(vlanIdentity.getDistributedNodeId()); vlan.setVlanName(vlanIdentity.getVlanName()); vlan.setDelay(delay); vlan.setGateway(gateway); vlan.setNetAddress(netAddress); vlan.setMask(mask); vlan.setSnapshots(new ArrayList<>()); return vlan; } }