package com.bazaarvoice.ostrich.examples.dictionary.client; import com.bazaarvoice.ostrich.PartitionContext; import com.bazaarvoice.ostrich.ServiceEndPoint; import com.bazaarvoice.ostrich.partition.PartitionFilter; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import static com.google.common.base.Preconditions.checkNotNull; public class DictionaryPartitionFilter implements PartitionFilter { @Override public Iterable<ServiceEndPoint> filter(Iterable<ServiceEndPoint> endPoints, PartitionContext partitionContext) { final String word = (String) checkNotNull(partitionContext.get()); return Iterables.filter(endPoints, new Predicate<ServiceEndPoint>() { @Override public boolean apply(ServiceEndPoint endPoint) { return Payload.valueOf(endPoint.getPayload()).getPartition().apply(word); } }); } }