package adt.mainnode.entity; import adt.mainnode.dto.PortDto; import adt.mainnode.identity.PortIdentity; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import com.fasterxml.jackson.annotation.JsonProperty; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.IdClass; @Data @Entity @IdClass(PortIdentity.class) public class Port { @Id @Column(name = "port_number") @JsonProperty("port") private String portNumber; @Id @Column(name = "ip") @JsonIgnore @JsonProperty("ip_address") private String ip; @Id @Column(name = "vlan_name") @JsonIgnore @JsonProperty("vlan_id") private String vlanName; @Id @JsonIgnore @JsonProperty("snapshot_id") String snapshotId; @Column(name = "service_running") @JsonProperty("service") private String serviceRunning; @Column(name = "service_version") @JsonProperty("service_version") private String serviceVersion; @Column(name = "protocol") @JsonProperty("protocol") private String protocol; @Column(name = "discovery_method") @JsonProperty("discovery_method") private String discoveryMethod; @Column(name = "state") @JsonProperty("state") private String state; public static Port createPort(PortIdentity portIdentity, PortDto portDto) { Port port = new Port(); port.setPortNumber(portIdentity.getPortNumber()); port.setIp(portIdentity.getIp()); port.setVlanName(portIdentity.getVlanName()); port.setServiceRunning(portDto.getServiceRunning()); port.setServiceVersion(portDto.getServiceVersion()); port.setProtocol(portDto.getProtocol()); port.setDiscoveryMethod(portDto.getDiscoveryMethod()); port.setState(portDto.getState()); port.setSnapshotId(portIdentity.getSnapshotId()); return port; } }