/* * DmitriyMX * 2017-04-06 */ package kinosearch.kinosearch3.base; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import java.util.List; import java.util.regex.Pattern; public class MongoDBRepository implements BaseRepository { private final Logger logger = LoggerFactory.getLogger(MongoDBRepository.class); private final MongoOperations mongoOperations; public MongoDBRepository(MongoOperations mongoOperations) { this.mongoOperations = mongoOperations; } @Override public List findByTitle(String title) { Query query = new Query(); final String regex = String.format(".*%s.*", Pattern.quote(title)); query.addCriteria(Criteria.where("title").regex(regex, "i")); logger.debug("query: {}", query.toString()); return mongoOperations.find(query, CinemaDocument.class); } @Override public void save(CinemaDocument cinemaDocument) { mongoOperations.save(cinemaDocument); } }