Host.java 2.63 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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
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<PortDto> 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<PortDto> 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;
    }

}