120 lines
2.1 KiB
Java
120 lines
2.1 KiB
Java
package eu.dnetlib.wfs.procs;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* Created by michele on 19/11/15.
|
|
*/
|
|
public class Token {
|
|
|
|
private final String id;
|
|
private final Map<String, Object> env = new HashMap<>();
|
|
|
|
private String progressMessage;
|
|
private final LocalDateTime startDate;
|
|
private LocalDateTime endDate;
|
|
|
|
private boolean active;
|
|
|
|
private Throwable error;
|
|
|
|
public Token() {
|
|
id = "token-" + UUID.randomUUID();
|
|
startDate = LocalDateTime.now();
|
|
active = true;
|
|
error = null;
|
|
}
|
|
|
|
public String getId() {
|
|
return id;
|
|
}
|
|
|
|
public Map<String, Object> getEnv() {
|
|
return env;
|
|
}
|
|
|
|
public void clearEnv() {
|
|
env.clear();
|
|
}
|
|
|
|
public void addEnvAttributes(final Map<String, Object> map) {
|
|
if (map != null) {
|
|
env.putAll(map);
|
|
}
|
|
}
|
|
|
|
public void setEnvAttribute(final String name, final Object value) {
|
|
env.put(name, value);
|
|
}
|
|
|
|
public Object getEnvAttribute(final String name) {
|
|
return env.get(name);
|
|
}
|
|
|
|
public <T> T getEnvAttribute(final String name, final Class<T> clazz) {
|
|
return clazz.cast(env.get(name));
|
|
}
|
|
|
|
public boolean hasEnvAttribute(final String name) {
|
|
return env.containsKey(name);
|
|
}
|
|
|
|
public Object removeEnvAttribute(final String name) {
|
|
return env.remove(name);
|
|
}
|
|
|
|
public LocalDateTime getStartDate() {
|
|
return startDate;
|
|
}
|
|
|
|
public LocalDateTime getEndDate() {
|
|
return endDate;
|
|
}
|
|
|
|
public void setEndDate(final LocalDateTime endDate) {
|
|
this.endDate = endDate;
|
|
}
|
|
|
|
public boolean isActive() {
|
|
return active;
|
|
}
|
|
|
|
public void setActive(final boolean active) {
|
|
this.active = active;
|
|
}
|
|
|
|
public boolean isFailed() {
|
|
return error != null;
|
|
}
|
|
|
|
public void release() {
|
|
setEndDate(LocalDateTime.now());
|
|
setActive(false);
|
|
}
|
|
|
|
public void releaseAsFailed(final Throwable e) {
|
|
setError(e);
|
|
release();
|
|
}
|
|
|
|
public String getProgressMessage() {
|
|
return progressMessage;
|
|
}
|
|
|
|
public void setProgressMessage(final String progressMessage) {
|
|
this.progressMessage = progressMessage;
|
|
}
|
|
|
|
public Throwable getError() {
|
|
return error;
|
|
}
|
|
|
|
public void setError(final Throwable error) {
|
|
this.error = error;
|
|
}
|
|
|
|
}
|