/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.sesame; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.Collections; import org.junit.After; import org.junit.Ignore; import org.junit.Test; import com.mysema.commons.lang.CloseableIterator; import com.mysema.rdfbean.CORE; import com.mysema.rdfbean.model.BID; import com.mysema.rdfbean.model.LIT; import com.mysema.rdfbean.model.MiniRepository; import com.mysema.rdfbean.model.RDFConnection; import com.mysema.rdfbean.model.Repository; import com.mysema.rdfbean.model.STMT; import com.mysema.util.FileUtils; public class BlankNodeTest { private Repository repository; @After public void tearDown() { repository.close(); } @Test public void WithMiniRepository() throws Exception { test(new MiniRepository()); } @Test public void WithNativeRepository() throws Exception { File dataDir = new File("target/test-repo1"); FileUtils.delete(dataDir); NativeRepository repository = new NativeRepository(); repository.setDataDir(dataDir); test(repository); } @Test @Ignore public void WithMemoryRepository() throws Exception { File dataDir = new File("target/test-repo2"); FileUtils.delete(dataDir); MemoryRepository repository = new MemoryRepository(); repository.setDataDir(dataDir); test(repository); } protected void test(Repository repository) throws IOException { this.repository = repository; repository.initialize(); STMT stmt = new STMT(new BID(), CORE.localId, new LIT("test")); RDFConnection conn = repository.openConnection(); try { conn.update(Collections.<STMT> emptySet(), Collections.singleton(stmt)); } finally { conn.close(); } conn = repository.openConnection(); try { CloseableIterator<STMT> stmts = conn.findStatements(null, CORE.localId, null, null, false); try { assertTrue(stmts.hasNext()); STMT other = stmts.next(); assertEquals(stmt.getSubject(), other.getSubject()); } finally { stmts.close(); } } finally { conn.close(); } } }