
com.hubspot.singularity.logwatcher.config.test.MemoryStore Maven / Gradle / Ivy
package com.hubspot.singularity.logwatcher.config.test;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Optional;
import com.google.common.collect.Maps;
import com.hubspot.singularity.logwatcher.SimpleStore;
import com.hubspot.singularity.logwatcher.TailMetadataListener;
import com.hubspot.singularity.runner.base.shared.TailMetadata;
public class MemoryStore implements SimpleStore {
private static final Logger LOG = LoggerFactory.getLogger(MemoryStore.class);
private final Map map;
private final List list;
public MemoryStore(List list) {
this.map = Maps.newHashMap();
this.list = list;
}
@Override
public void close() throws IOException {}
@Override
public void start() {}
@Override
public void markConsumed(TailMetadata tail) throws StoreException {
LOG.info("Consumed:" + tail);
}
@Override
public void savePosition(TailMetadata tail, long position) {
Long previous = map.put(tail, position);
LOG.info("Stored position {} for {}, old position {}", position, tail, previous);
}
@Override
public Optional getPosition(TailMetadata tail) {
return Optional.fromNullable(map.get(tail));
}
@Override
public List getTails() {
return list;
}
@Override
public void registerListener(TailMetadataListener listener) {
}
@Override
public void removeListener(TailMetadataListener listener) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy