package adt.mainnode.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.IdClass; import java.text.ParseException; import java.text.SimpleDateFormat; import com.fasterxml.jackson.annotation.JsonProperty; import adt.mainnode.identity.SnapshotIdentity; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.commons.lang3.time.DateUtils; import java.util.Date; @Entity @Data @NoArgsConstructor @IdClass(SnapshotIdentity.class) public class Snapshot { @Id @JsonIgnore @Column(name = "vlan") String vlanName; @Id @JsonIgnore @Column(name = "node_id") String nodeId; @Id @Column(name = "snapshotId") String snapshotId; @Column(name = "discovery_method") String discoveryMethod; @Column(name = "timestamp_main_node") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") Date timestamp_mainNode; @Column(name = "timestamp_dist_node_scan_start") @JsonProperty("timestamp_dist_node_scan_start") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") Date timestamp_distNode_ini; @Column(name = "timestamp_dist_node_scan_end") @JsonProperty("timestamp_dist_node_scan_end") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") Date timestampDistNodeEnd; public static Snapshot createSnapshot(ScanInfo scanInfo, SnapshotIdentity snapshotIdentity, String discoveryMethod) { Snapshot snapshot = new Snapshot(); snapshot.setVlanName(snapshotIdentity.getVlanName()); snapshot.setSnapshotId(snapshotIdentity.getSnapshotId()); snapshot.setNodeId(snapshotIdentity.getNodeId()); snapshot.setTimestamp_distNode_ini(scanInfo.getIniTimestampScan()); snapshot.setTimestampDistNodeEnd(scanInfo.getEndTimestampScan()); snapshot.setTimestamp_mainNode(scanInfo.getMainNode_timestamp()); snapshot.setDiscoveryMethod(discoveryMethod); return snapshot; } public static Snapshot createSnapshot_nlp(String vlanName, String nodeId, String snapshotId, Date mainNode_timestamp, String timestamp_distNode_ini, String timestampDistNodeEnd, String discoveryMethod) { Snapshot snapshot = new Snapshot(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); snapshot.setVlanName(vlanName); snapshot.setNodeId(nodeId); snapshot.setSnapshotId(snapshotId); snapshot.setTimestamp_mainNode(mainNode_timestamp); snapshot.setDiscoveryMethod(discoveryMethod); timestamp_distNode_ini = timestamp_distNode_ini.replace("b", ""); timestamp_distNode_ini = timestamp_distNode_ini.replace("'", ""); timestampDistNodeEnd = timestampDistNodeEnd.replace("b", ""); timestampDistNodeEnd = timestampDistNodeEnd.replace("'", ""); try { Date date1 = DateUtils.parseDate(timestamp_distNode_ini, "yyyy-MM-dd HH:mm:ss"); Date date2 = DateUtils.parseDate(timestampDistNodeEnd, "yyyy-MM-dd HH:mm:ss"); snapshot.setTimestamp_distNode_ini(date1); snapshot.setTimestampDistNodeEnd(date2); }catch(ParseException p){ } return snapshot; } }