package eu.europeana.creative.dataset.smk;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import eu.europeana.creative.dataset.BaseCreativeDatasetUtil;
import eu.europeana.service.ir.image.api.ImageSearchingService;
import eu.europeana.service.ir.image.api.SmkImageSearchingServiceImpl;
import eu.europeana.service.ir.image.exceptions.ImageIndexingException;
import eu.europeana.service.ir.image.exceptions.ImageSearchingException;
import eu.europeana.service.ir.image.web.model.json.SearchResultItem;
public class SmkImageSearchingServiceTest extends BaseCreativeDatasetUtil{
SmkImageSearchingServiceImpl imageSearchingService;
@Before
public void init(){
String dataset = "smk";
setDataset(dataset);
}
@Test
public void testSearchById() throws ImageIndexingException, IOException, ImageSearchingException{
String euId = "/05811/3975303D_9B98_47A3_9999_7BBAC8660137";
getImageSearchingService().searchSimilar(euId);
List<SearchResultItem> results = getImageSearchingService().getResults(0, 5);
for (SearchResultItem resultItem : results) {
System.out.println(resultItem.getResourceId());
}
assertTrue(results.size() > 0);
assertEquals(euId, results.get(0).getResourceId());
}
@Test
public void testSearchByUrl() throws ImageIndexingException, IOException, ImageSearchingException{
URL url = new URL("http://image-similarity.ait.ac.at/culturecam-web/datasets/culturecam/image/05811/3975303D_9B98_47A3_9999_7BBAC8660137.jpg");
String euId = "/05811/3975303D_9B98_47A3_9999_7BBAC8660137";
//File imageFile = getConfig().getImageFile(getDataset(), euId);
getImageSearchingService().searchSimilar(url,null);
List<SearchResultItem> results = getImageSearchingService().getResults(0, 5);
for (SearchResultItem resultItem : results) {
System.out.println(resultItem.getResourceId());
}
assertTrue(results.size() > 0);
assertEquals(euId, results.get(0).getResourceId());
}
@Test
public void testSearchByIdDC() throws ImageIndexingException, IOException, ImageSearchingException{
String euId = "/05811/3975303D_9B98_47A3_9999_7BBAC8660137";
getImageSearchingService().searchSimilar(euId, ImageSearchingService.QUERY_TYPE_DC);
List<SearchResultItem> results = getImageSearchingService().getResults(0, 5);
for (SearchResultItem resultItem : results) {
System.out.println(resultItem.getResourceId());
}
assertTrue(results.size() > 0);
assertEquals(euId, results.get(0).getResourceId());
}
@Test
public void testSearchByUrlDC() throws ImageIndexingException, IOException, ImageSearchingException{
URL url = new URL("http://image-similarity.ait.ac.at/culturecam-web/datasets/culturecam/image/05811/3975303D_9B98_47A3_9999_7BBAC8660137.jpg");
String euId = "/05811/3975303D_9B98_47A3_9999_7BBAC8660137";
//File imageFile = getConfig().getImageFile(getDataset(), euId);
getImageSearchingService().searchSimilar(url, ImageSearchingService.QUERY_TYPE_DC);
List<SearchResultItem> results = getImageSearchingService().getResults(0, 5);
for (SearchResultItem resultItem : results) {
System.out.println(resultItem.getResourceId());
}
assertTrue(results.size() > 0);
assertEquals(euId, results.get(0).getResourceId());
}
protected SmkImageSearchingServiceImpl getImageSearchingService() {
//create index searcher for test dataset
if(imageSearchingService == null){
imageSearchingService = new SmkImageSearchingServiceImpl(getDataset(), getConfig());
//open index
imageSearchingService.init();
}
return imageSearchingService;
}
}