/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.sesame; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; import com.mysema.rdfbean.CORE; import com.mysema.rdfbean.TEST; import com.mysema.rdfbean.domains.SimpleDomain; import com.mysema.rdfbean.domains.NoteTypeDomain.NoteType; import com.mysema.rdfbean.model.FOAF; import com.mysema.rdfbean.model.Format; import com.mysema.rdfbean.model.LIT; import com.mysema.rdfbean.model.RDFConnection; import com.mysema.rdfbean.model.STMT; import com.mysema.rdfbean.model.UID; import com.mysema.rdfbean.model.XSD; import com.mysema.rdfbean.model.io.RDFSource; import com.mysema.rdfbean.object.Session; import com.mysema.rdfbean.object.SessionFactory; import com.mysema.rdfbean.testutil.SessionRule; /** * @author sasa * */ public class SessionTestBase implements SimpleDomain { protected static final QSimpleType var = new QSimpleType("var"); protected static final QSimpleType2 var2 = new QSimpleType2("var2"); protected static MemoryRepository repository; private static SessionFactory sessionFactory; @Rule public SessionRule sessionRule = new SessionRule(repository); public Session session; private List<Session> openSessions = new ArrayList<Session>(); @BeforeClass public static void before() throws IOException { repository = new MemoryRepository(); repository.setSources( new RDFSource("classpath:/test.ttl", Format.TURTLE, TEST.NS), new RDFSource("classpath:/foaf.rdf", Format.RDFXML, FOAF.NS) ); repository.initialize(); // enums Set<STMT> added = new HashSet<STMT>(); for (NoteType nt : NoteType.values()) { added.add(new STMT( new UID(TEST.NS, nt.name()), CORE.enumOrdinal, new LIT(String.valueOf(nt.ordinal()), XSD.integerType))); } RDFConnection connection = repository.openConnection(); connection.update(Collections.<STMT> emptySet(), added); connection.close(); } @AfterClass public static void after() { try { if (sessionFactory != null) { sessionFactory.close(); } if (repository != null) { repository.close(); } } finally { sessionFactory = null; repository = null; } } @After public void tearDown() throws IOException { for (Session s : openSessions) { s.close(); } System.out.println(); } }