Vlan.java 1.42 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
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<Snapshot> 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;
    }

}