package com.cyngn.chrono.storage.accessor; import com.cyngn.chrono.storage.entity.TestBatch; import com.cyngn.chrono.storage.entity.UrlPackage; import com.datastax.driver.core.ResultSet; import com.datastax.driver.mapping.annotations.Accessor; import com.datastax.driver.mapping.annotations.Param; import com.datastax.driver.mapping.annotations.Query; import com.google.common.util.concurrent.ListenableFuture; import java.util.List; /** * Get and create test batches. * * @author truelove@cyngn.com (Jeremy Truelove) 8/14/15 */ @Accessor public interface TestBatchAccessor { @Query("SELECT * FROM chrono.test_batch where name = :name") ListenableFuture<TestBatch> getTestBatchAsync(@Param("name") String name); @Query("INSERT INTO chrono.test_batch(name, created, url_packages) VALUES(:name, dateof(now()), :url_packages) IF NOT EXISTS") ListenableFuture<ResultSet> createTestBatch(@Param("name") String name, @Param("url_packages")List<UrlPackage> urlPackages); }