/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.schema; import static org.junit.Assert.assertFalse; import java.io.IOException; import java.util.List; import java.util.Set; import org.junit.Test; import com.mysema.commons.lang.CloseableIterator; import com.mysema.rdfbean.CORE; import com.mysema.rdfbean.TEST; import com.mysema.rdfbean.annotations.ClassMapping; import com.mysema.rdfbean.annotations.Predicate; import com.mysema.rdfbean.model.MiniRepository; import com.mysema.rdfbean.model.STMT; import com.mysema.rdfbean.object.Configuration; import com.mysema.rdfbean.object.DefaultConfiguration; import com.mysema.rdfbean.object.Session; import com.mysema.rdfbean.object.SessionUtil; import com.mysema.rdfbean.owl.OWLClass; import com.mysema.rdfbean.rdfs.RDFSClass; public class SchemaGenTest { @ClassMapping(ns = TEST.NS) public static class User { @Predicate String firstName; @Predicate String lastName; @Predicate User superVisor; @Predicate Set<Project> inProject; @Predicate Gender gender; } @ClassMapping(ns = TEST.NS) public static class Project { @Predicate String name; } @ClassMapping(ns = TEST.NS) public static enum Gender { MALE, FEMALE } @ClassMapping(ns = TEST.NS) public static class Various { @Predicate String strProp; @Predicate int intProp; @Predicate List<String> stringList; @Predicate List<Various> variousList; @Predicate Set<String> stringSet; @Predicate Set<Various> variousSet; @Predicate Various various; } @Test public void test() throws IOException { Configuration configuration = new DefaultConfiguration(User.class, Project.class, Gender.class, Various.class); MiniRepository repository = new MiniRepository(); SchemaGen schemaGen = new SchemaGen(); schemaGen.addExportNamespace(TEST.NS); schemaGen.setConfiguration(configuration); schemaGen.setRepository(repository); schemaGen.export(); CloseableIterator<STMT> stmts = repository.findStatements(null, CORE.enumOrdinal, null, null, false); try { System.out.println(stmts.next()); System.out.println(stmts.next()); assertFalse(stmts.hasNext()); } finally { stmts.close(); } Session session = SessionUtil.openSession(repository, OWLClass.class.getPackage(), RDFSClass.class.getPackage()); session.findInstances(RDFSClass.class); } }