package adt.mainnode.entity; import adt.mainnode.dto.HostDto; import adt.mainnode.dto.PortDto; import com.fasterxml.jackson.annotation.JsonProperty; import adt.mainnode.identity.HostIdentity; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import javax.persistence.*; import java.util.Date; import java.util.List; @Data @Entity @IdClass(HostIdentity.class) public class Host { @Id @Column(name = "ip") @JsonProperty("ip_address") private String ip; @Id @Column(name = "vlan_name") @JsonProperty("vlan_id") private String vlanName; @Id @JsonIgnore @JsonProperty("snapshot_id") String snapshotId; @Column(name = "hostname") @JsonProperty("hostname") private String hostname; @Column(name = "mac") @JsonProperty("mac_address") private String mac; @Column(name = "mac_manufacturer") @JsonProperty("mac_manufacturer") private String macManufacturer; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonProperty("timestamp_device_scan_start") private Date timestamp_ini; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonProperty("timestamp_device_scan_end") private Date timestamp_end; @Transient @JsonProperty("ports") List ports; @Column(name = "operatingSystem") @JsonProperty("operating_system") private String operatingSystem; public static Host createHost(HostIdentity hostIdentity, HostDto hostDto) { Host host = new Host(); host.setIp(hostIdentity.getIp()); host.setVlanName(hostIdentity.getVlanName()); host.setHostname(hostDto.getHostname()); host.setMac(hostDto.getMac()); host.setMacManufacturer(hostDto.getMacManufacturer()); host.setTimestamp_ini(hostDto.getTimestamp_ini()); host.setTimestamp_end(hostDto.getTimestamp_end()); host.setPorts(hostDto.getPorts()); host.setSnapshotId(hostIdentity.getSnapshotId()); host.setOperatingSystem(hostDto.getOperatingSystem()); return host; } public static Host createHost_nlp(String vlan_name, String ip_addr, String host_name, String mac_addr, String mac_manufacturer, String operating_system, String snapshotId, List ports) { Host host = new Host(); host.setIp(ip_addr); host.setVlanName(vlan_name); host.setHostname(host_name); host.setMac(mac_addr); host.setMacManufacturer(mac_manufacturer); host.setPorts(ports); host.setSnapshotId(snapshotId); host.setOperatingSystem(operating_system); return host; } }