package com.constellio.app.modules.es.connectors.http;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class ConnectorHttpContext implements Serializable {
String connectorId;
Set<String> fetchedUrls = new HashSet<>();
Map<String, String> documentUrlsClassifiedByDigests = new HashMap<>();
public boolean isNewUrl(String url) {
return !fetchedUrls.contains(url);
}
public synchronized void markAsFetched(String url) {
fetchedUrls.add(url);
}
public synchronized void markAsNoMoreFetched(String url) {
fetchedUrls.remove(url);
}
public String getDocumentUrlWithDigest(String digest) {
return documentUrlsClassifiedByDigests.get(digest);
}
public synchronized void removeDocumentDigest(String digest, String url) {
if (url.equals(documentUrlsClassifiedByDigests.get(digest))) {
documentUrlsClassifiedByDigests.remove(digest);
}
}
public synchronized void addDocumentDigest(String digest, String url) {
documentUrlsClassifiedByDigests.put(digest, url);
}
ConnectorHttpContext(String connectorId) {
this.connectorId = connectorId;
}
public String getConnectorId() {
return connectorId;
}
}