package org.infinispan.persistence.cluster;
import static org.junit.Assert.fail;
import java.util.concurrent.TimeUnit;
import org.infinispan.commons.configuration.ConfiguredBy;
import org.infinispan.marshall.core.MarshalledEntry;
import org.infinispan.persistence.spi.ExternalStore;
import org.infinispan.persistence.spi.InitializationContext;
import org.infinispan.persistence.spi.PersistenceException;
/**
* Test cache store, which never store/loads anything (= returns null for all keys).
*
* @author Jakub Markos
*/
@ConfiguredBy(MyCustomCacheStoreConfiguration.class)
public class MyCustomCacheStore implements ExternalStore {
private MyCustomCacheStoreConfiguration config;
public MyCustomCacheStore() {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
fail("This thread shouldn't get interrupted; " + e.getMessage());
}
}
@Override
public void init(InitializationContext ctx) {
this.config = ctx.getConfiguration();
}
@Override
public void write(MarshalledEntry marshalledEntry) {
}
@Override
public boolean delete(Object o) {
return false;
}
@Override
public MarshalledEntry load(Object key) throws PersistenceException {
assert config.customProperty() == 10;
return null;
}
@Override
public boolean contains(Object key) {
return false;
}
@Override
public void start() throws PersistenceException {
//nothing to do here
}
@Override
public void stop() throws PersistenceException {
//nothing to do here
}
}