LaunchStateDTO.java

package com.sintia.ffl.admin.optique.catalogue.models;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;

import java.util.Date;


@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class LaunchStateDTO {

	private boolean lock = false;

	private String user;

	private Date launchTime;

	private String batchName;

	public void lock(String batchName) {
		Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
		this.lock = true;
		this.user = authentication.getName();
		this.launchTime = new Date();
		this.batchName = batchName;
	}

	public void unlock() {
		this.lock = false;
		this.user = null;
		this.launchTime = null;
		this.batchName = null;
	}

}