http://git-wip-us.apache.org/repos/asf/jena/blob/807dc362/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestEntityMapAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestEntityMapAssembler.java b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestEntityMapAssembler.java index f95ac35..1261ee4 100644 --- a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestEntityMapAssembler.java +++ b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestEntityMapAssembler.java @@ -49,270 +49,270 @@ public class TestEntityMapAssembler { // Suppress warnings @BeforeClass public static void beforeClass() { LogCtl.setError(EntityDefinitionAssembler.class); } @AfterClass public static void afterClass() { LogCtl.setInfo(EntityDefinitionAssembler.class); } - - private static final String TESTBASE = "http://example.org/test/"; - private static final Resource spec1; - private static final Resource spec2; - private static final Resource spec3; - private static final Resource spec4; - private static final Resource spec5; - private static final Resource spec6; - private static final Resource specNoEntityField; - private static final Resource specNoDefaultField; - private static final Resource specNoMapProperty; - private static final Resource specNoPrimaryFieldDef; - - @Test public void EntityHasPrimaryField() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(null, spec1, null); - assertEquals(SPEC1_DEFAULT_FIELD, entityDef.getPrimaryField()); - } - - @Test public void EntityHasEntityField() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(null, spec1, null); - assertEquals(SPEC1_ENTITY_FIELD, entityDef.getEntityField()); - } - - @Test public void EntityHasMapEntries() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(null, spec1, null); - assertEquals(SPEC1_PREDICATE.asNode(), getOne(entityDef,SPEC1_DEFAULT_FIELD)); - } - - private Object getOne(EntityDefinition entityDef, String field) { - Collection<Node> x = entityDef.getPredicates(field) ; - if ( x == null || x.size() == 0 ) - return null ; - if ( x.size() != 1 ) - throw new InternalErrorException("Not unique: "+field) ; + + private static final String TESTBASE = "http://example.org/test/"; + private static final Resource spec1; + private static final Resource spec2; + private static final Resource spec3; + private static final Resource spec4; + private static final Resource spec5; + private static final Resource spec6; + private static final Resource specNoEntityField; + private static final Resource specNoDefaultField; + private static final Resource specNoMapProperty; + private static final Resource specNoPrimaryFieldDef; + + @Test public void EntityHasPrimaryField() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(null, spec1, null); + assertEquals(SPEC1_DEFAULT_FIELD, entityDef.getPrimaryField()); + } + + @Test public void EntityHasEntityField() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(null, spec1, null); + assertEquals(SPEC1_ENTITY_FIELD, entityDef.getEntityField()); + } + + @Test public void EntityHasMapEntries() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(null, spec1, null); + assertEquals(SPEC1_PREDICATE.asNode(), getOne(entityDef,SPEC1_DEFAULT_FIELD)); + } + + private Object getOne(EntityDefinition entityDef, String field) { + Collection<Node> x = entityDef.getPredicates(field) ; + if ( x == null || x.size() == 0 ) + return null ; + if ( x.size() != 1 ) + throw new InternalErrorException("Not unique: "+field) ; return x.iterator().next() ; } @Test public void EntityHasMultipleMapEntries() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(null, spec2, null); - assertEquals(SPEC2_PREDICATE1.asNode(), getOne(entityDef,SPEC2_DEFAULT_FIELD)); - assertEquals(SPEC2_PREDICATE2.asNode(), getOne(entityDef, SPEC2_FIELD2)); - } + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(null, spec2, null); + assertEquals(SPEC2_PREDICATE1.asNode(), getOne(entityDef,SPEC2_DEFAULT_FIELD)); + assertEquals(SPEC2_PREDICATE2.asNode(), getOne(entityDef, SPEC2_FIELD2)); + } @Test public void EntityHasMapEntryWithSimpleAnalyzer() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec3, null); - assertEquals(SimpleAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec3, null); + assertEquals(SimpleAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); } @Test public void EntityHasMapEntryWithStandardAnalyzerAndStopWords() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec4, null); - assertEquals(StandardAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec4, null); + assertEquals(StandardAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); } @Test public void EntityHasMapEntryWithKeywordAnalyzer() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec5, null); - assertEquals(KeywordAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec5, null); + assertEquals(KeywordAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); } - + @Test public void EntityHasMapEntryWithLowerCaseKeywordAnalyzer() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec6, null); - assertEquals(LowerCaseKeywordAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + EntityDefinition entityDef = entDefAssem.open(Assembler.general, spec6, null); + assertEquals(LowerCaseKeywordAnalyzer.class, entityDef.getAnalyzer(SPEC1_DEFAULT_FIELD).getClass()); } - - @Test(expected=TextIndexException.class) public void errorOnNoEntityField() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - entDefAssem.open(null, specNoEntityField, null); - } - - @Test(expected=TextIndexException.class) public void errorOnNoDefaultField() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - entDefAssem.open(null, specNoDefaultField, null); - } - - @Test(expected=TextIndexException.class) public void errorOnNoMapProperty() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - entDefAssem.open(null, specNoMapProperty, null); - } - - @Test(expected=TextIndexException.class) public void errorOnNoPrimaryFieldDef() { - EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); - try { - entDefAssem.open(null, specNoPrimaryFieldDef, null); - } catch (TextIndexException e) { - assertTrue(e.getMessage().contains(SPEC1_DEFAULT_FIELD)); - throw e ; - } - - } - - private static final String SPEC1_ENTITY_FIELD = "spec1EntityField"; - private static final String SPEC1_DEFAULT_FIELD = "spec1DefaultField"; - private static final Property SPEC1_PREDICATE = RDFS.label; - - private static final String SPEC2_ENTITY_FIELD = "spec2EntityField"; - private static final String SPEC2_DEFAULT_FIELD = "spec2DefaultField"; - private static final String SPEC2_FIELD2 = "spec2Field2"; - private static final Property SPEC2_PREDICATE1 = RDFS.label; - private static final Property SPEC2_PREDICATE2 = RDFS.comment; - static { - TextAssembler.init(); - Model model = ModelFactory.createDefaultModel(); - - // create a simple entity map specification - - spec1 = model.createResource(TESTBASE + "spec1") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - })) - ; - - // create an entity map specification with multiple map entries - - spec2 = model.createResource(TESTBASE + "spec2") - .addProperty(TextVocab.pEntityField, SPEC2_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC2_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC2_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC2_PREDICATE1), - model.createResource() - .addProperty(TextVocab.pField, SPEC2_FIELD2) - .addProperty(TextVocab.pPredicate, SPEC2_PREDICATE2), - - })) - ; - - // create a simple entity map specification using a keyword analyzer - - spec3 = model.createResource(TESTBASE + "spec3") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - .addProperty(TextVocab.pAnalyzer, - model.createResource() - .addProperty(RDF.type, TextVocab.simpleAnalyzer)) - })) - ; - // create a simple entity map specification using a standard analyzer with stop words - - spec4 = model.createResource(TESTBASE + "spec4") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - .addProperty(TextVocab.pAnalyzer, - model.createResource() - .addProperty(RDF.type, TextVocab.standardAnalyzer)) - .addProperty(TextVocab.pStopWords, toList(model, "and the but")) - })); - // create a simple entity map specification using a keyword analyzer - - spec5 = model.createResource(TESTBASE + "spec5") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - .addProperty(TextVocab.pAnalyzer, - model.createResource() - .addProperty(RDF.type, TextVocab.keywordAnalyzer)) - })); - - // create a simple entity map specification using a lowercase keyword analyzer - - spec6 = model.createResource(TESTBASE + "spec6") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - .addProperty(TextVocab.pAnalyzer, - model.createResource() - .addProperty(RDF.type, TextVocab.lowerCaseKeywordAnalyzer)) - })); - - // bad assembler spec - - specNoEntityField = - model.createResource(TESTBASE + "specNoEntityField") - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - })) - ; - - // bad assembler spec - - specNoDefaultField = - model.createResource(TESTBASE + "specNoDefaultField") - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - })) - ; - // bad assembler spec - specNoMapProperty = - model.createResource(TESTBASE + "specNoMapProperty") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - ; - - // bad assembler spec - specNoPrimaryFieldDef = - model.createResource(TESTBASE + "noPrimaryFieldDef") - .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) - .addProperty(TextVocab.pMap, - model.createList( - new RDFNode[] { - model.createResource() - .addProperty(TextVocab.pField, SPEC1_ENTITY_FIELD) - .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) - })) - ; - } - - private static Resource toList(Model model, String string) { - String[] members = string.split("\\s"); - Resource current = RDF.nil; - for (int i = members.length-1; i>=0; i--) { - Resource previous = current; - current = model.createResource(); - current.addProperty(RDF.rest, previous); - current.addProperty(RDF.first, members[i]); - } - return current; - } + + @Test(expected=TextIndexException.class) public void errorOnNoEntityField() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + entDefAssem.open(null, specNoEntityField, null); + } + + @Test(expected=TextIndexException.class) public void errorOnNoDefaultField() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + entDefAssem.open(null, specNoDefaultField, null); + } + + @Test(expected=TextIndexException.class) public void errorOnNoMapProperty() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + entDefAssem.open(null, specNoMapProperty, null); + } + + @Test(expected=TextIndexException.class) public void errorOnNoPrimaryFieldDef() { + EntityDefinitionAssembler entDefAssem = new EntityDefinitionAssembler(); + try { + entDefAssem.open(null, specNoPrimaryFieldDef, null); + } catch (TextIndexException e) { + assertTrue(e.getMessage().contains(SPEC1_DEFAULT_FIELD)); + throw e ; + } + + } + + private static final String SPEC1_ENTITY_FIELD = "spec1EntityField"; + private static final String SPEC1_DEFAULT_FIELD = "spec1DefaultField"; + private static final Property SPEC1_PREDICATE = RDFS.label; + + private static final String SPEC2_ENTITY_FIELD = "spec2EntityField"; + private static final String SPEC2_DEFAULT_FIELD = "spec2DefaultField"; + private static final String SPEC2_FIELD2 = "spec2Field2"; + private static final Property SPEC2_PREDICATE1 = RDFS.label; + private static final Property SPEC2_PREDICATE2 = RDFS.comment; + static { + TextAssembler.init(); + Model model = ModelFactory.createDefaultModel(); + + // create a simple entity map specification + + spec1 = model.createResource(TESTBASE + "spec1") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + })) + ; + + // create an entity map specification with multiple map entries + + spec2 = model.createResource(TESTBASE + "spec2") + .addProperty(TextVocab.pEntityField, SPEC2_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC2_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC2_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC2_PREDICATE1), + model.createResource() + .addProperty(TextVocab.pField, SPEC2_FIELD2) + .addProperty(TextVocab.pPredicate, SPEC2_PREDICATE2), + + })) + ; + + // create a simple entity map specification using a keyword analyzer + + spec3 = model.createResource(TESTBASE + "spec3") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + .addProperty(TextVocab.pAnalyzer, + model.createResource() + .addProperty(RDF.type, TextVocab.simpleAnalyzer)) + })) + ; + // create a simple entity map specification using a standard analyzer with stop words + + spec4 = model.createResource(TESTBASE + "spec4") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + .addProperty(TextVocab.pAnalyzer, + model.createResource() + .addProperty(RDF.type, TextVocab.standardAnalyzer)) + .addProperty(TextVocab.pStopWords, toList(model, "and the but")) + })); + // create a simple entity map specification using a keyword analyzer + + spec5 = model.createResource(TESTBASE + "spec5") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + .addProperty(TextVocab.pAnalyzer, + model.createResource() + .addProperty(RDF.type, TextVocab.keywordAnalyzer)) + })); + + // create a simple entity map specification using a lowercase keyword analyzer + + spec6 = model.createResource(TESTBASE + "spec6") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + .addProperty(TextVocab.pAnalyzer, + model.createResource() + .addProperty(RDF.type, TextVocab.lowerCaseKeywordAnalyzer)) + })); + + // bad assembler spec + + specNoEntityField = + model.createResource(TESTBASE + "specNoEntityField") + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + })) + ; + + // bad assembler spec + + specNoDefaultField = + model.createResource(TESTBASE + "specNoDefaultField") + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + })) + ; + // bad assembler spec + specNoMapProperty = + model.createResource(TESTBASE + "specNoMapProperty") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + ; + + // bad assembler spec + specNoPrimaryFieldDef = + model.createResource(TESTBASE + "noPrimaryFieldDef") + .addProperty(TextVocab.pEntityField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pDefaultField, SPEC1_DEFAULT_FIELD) + .addProperty(TextVocab.pMap, + model.createList( + new RDFNode[] { + model.createResource() + .addProperty(TextVocab.pField, SPEC1_ENTITY_FIELD) + .addProperty(TextVocab.pPredicate, SPEC1_PREDICATE) + })) + ; + } + + private static Resource toList(Model model, String string) { + String[] members = string.split("\\s"); + Resource current = RDF.nil; + for (int i = members.length-1; i>=0; i--) { + Resource previous = current; + current = model.createResource(); + current.addProperty(RDF.rest, previous); + current.addProperty(RDF.first, members[i]); + } + return current; + } }
http://git-wip-us.apache.org/repos/asf/jena/blob/807dc362/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextDatasetAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextDatasetAssembler.java b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextDatasetAssembler.java index abcf0a7..744edab 100644 --- a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextDatasetAssembler.java +++ b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextDatasetAssembler.java @@ -44,123 +44,123 @@ import com.hp.hpl.jena.vocabulary.RDF ; */ public class TestTextDatasetAssembler extends AbstractTestTextAssembler { - private static final String TESTBASE = "http://example.org/testDatasetAssembler/"; - - private static final Resource spec1; - private static final Resource noDatasetPropertySpec; - private static final Resource noIndexPropertySpec; - private static final Resource customTextDocProducerSpec; - private static final Resource customDyadicTextDocProducerSpec; - - @Test - public void testSimpleDatasetAssembler() { - Dataset dataset = (Dataset) Assembler.general.open(spec1); - assertTrue(dataset.getContext().get(TextQuery.textIndex) instanceof TextIndexLucene); - } - - @Test(expected = AssemblerException.class) - public void testErrorOnNoDataset() { - Assembler.general.open(noDatasetPropertySpec); - } - - @Test(expected = AssemblerException.class) - public void testErrorOnNoIndex() { - Assembler.general.open(noIndexPropertySpec); - } - - @Test - public void testCustomTextDocProducer() { - Dataset dataset = (Dataset)Assembler.general.open(customTextDocProducerSpec) ; - DatasetGraphText dsgText = (DatasetGraphText)dataset.asDatasetGraph() ; - assertTrue(dsgText.getMonitor() instanceof CustomTextDocProducer) ; - dataset.close(); - } - - @Test - public void testCustomTextDocProducerDyadicConstructor() { - Dataset dataset = (Dataset)Assembler.general.open(customDyadicTextDocProducerSpec) ; - DatasetGraphText dsgText = (DatasetGraphText)dataset.asDatasetGraph() ; - assertTrue(dsgText.getMonitor() instanceof CustomDyadicTextDocProducer) ; - - Node G= NodeFactory.createURI("http://example.com/G"); - Node S = NodeFactory.createURI("http://example.com/S"); - Node P = NodeFactory.createURI("http://example.com/P"); - Node O = NodeFactory.createLiteral("http://example.com/O"); - - dsgText.begin(ReadWrite.WRITE); - dsgText.add(G, S, P, O); - dsgText.commit(); - dataset.close(); - } - - static { - TextAssembler.init(); - AssemblerTDB.init(); - spec1 = - model.createResource(TESTBASE + "spec1") - .addProperty(RDF.type, TextVocab.textDataset) - .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) - .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC3); - noDatasetPropertySpec = - model.createResource(TESTBASE + "noDatasetPropertySpec") - .addProperty(RDF.type, TextVocab.textDataset) - .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC4); - noIndexPropertySpec = - model.createResource(TESTBASE + "noIndexPropertySpec") - .addProperty(RDF.type, TextVocab.textDataset) - .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC); - customTextDocProducerSpec = - model.createResource(TESTBASE + "customTextDocProducerSpec") - .addProperty(RDF.type, TextVocab.textDataset) - .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) - .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC5) - .addProperty(TextVocab.pTextDocProducer, model.createResource("java:org.apache.jena.query.text.assembler.TestTextDatasetAssembler$CustomTextDocProducer")); - - customDyadicTextDocProducerSpec = - model.createResource(TESTBASE + "customDyadicTextDocProducerSpec") - .addProperty(RDF.type, TextVocab.textDataset) - .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) - .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC5) - .addProperty(TextVocab.pTextDocProducer, model.createResource("java:org.apache.jena.query.text.assembler.TestTextDatasetAssembler$CustomDyadicTextDocProducer")); - } - - private static class CustomTextDocProducer implements TextDocProducer { - - public CustomTextDocProducer(TextIndex textIndex) { } - - @Override - public void start() { } - - @Override - public void finish() { } - - @Override - public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { } - } - - - private static class CustomDyadicTextDocProducer implements TextDocProducer { - - final DatasetGraph dg; - Node lastSubject = null; - - public CustomDyadicTextDocProducer(DatasetGraph dg, TextIndex textIndex) { - this.dg = dg; - } - - @Override - public void start() { } - - @Override - public void finish() { - Iterator<Quad> qi = dg.find(null, lastSubject, Node.ANY, Node.ANY); - while (qi.hasNext()) qi.next(); - } - - @Override - public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { - lastSubject = s; - } - } + private static final String TESTBASE = "http://example.org/testDatasetAssembler/"; + + private static final Resource spec1; + private static final Resource noDatasetPropertySpec; + private static final Resource noIndexPropertySpec; + private static final Resource customTextDocProducerSpec; + private static final Resource customDyadicTextDocProducerSpec; + + @Test + public void testSimpleDatasetAssembler() { + Dataset dataset = (Dataset) Assembler.general.open(spec1); + assertTrue(dataset.getContext().get(TextQuery.textIndex) instanceof TextIndexLucene); + } + + @Test(expected = AssemblerException.class) + public void testErrorOnNoDataset() { + Assembler.general.open(noDatasetPropertySpec); + } + + @Test(expected = AssemblerException.class) + public void testErrorOnNoIndex() { + Assembler.general.open(noIndexPropertySpec); + } + + @Test + public void testCustomTextDocProducer() { + Dataset dataset = (Dataset)Assembler.general.open(customTextDocProducerSpec) ; + DatasetGraphText dsgText = (DatasetGraphText)dataset.asDatasetGraph() ; + assertTrue(dsgText.getMonitor() instanceof CustomTextDocProducer) ; + dataset.close(); + } + + @Test + public void testCustomTextDocProducerDyadicConstructor() { + Dataset dataset = (Dataset)Assembler.general.open(customDyadicTextDocProducerSpec) ; + DatasetGraphText dsgText = (DatasetGraphText)dataset.asDatasetGraph() ; + assertTrue(dsgText.getMonitor() instanceof CustomDyadicTextDocProducer) ; + + Node G= NodeFactory.createURI("http://example.com/G"); + Node S = NodeFactory.createURI("http://example.com/S"); + Node P = NodeFactory.createURI("http://example.com/P"); + Node O = NodeFactory.createLiteral("http://example.com/O"); + + dsgText.begin(ReadWrite.WRITE); + dsgText.add(G, S, P, O); + dsgText.commit(); + dataset.close(); + } + + static { + TextAssembler.init(); + AssemblerTDB.init(); + spec1 = + model.createResource(TESTBASE + "spec1") + .addProperty(RDF.type, TextVocab.textDataset) + .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) + .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC3); + noDatasetPropertySpec = + model.createResource(TESTBASE + "noDatasetPropertySpec") + .addProperty(RDF.type, TextVocab.textDataset) + .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC4); + noIndexPropertySpec = + model.createResource(TESTBASE + "noIndexPropertySpec") + .addProperty(RDF.type, TextVocab.textDataset) + .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC); + customTextDocProducerSpec = + model.createResource(TESTBASE + "customTextDocProducerSpec") + .addProperty(RDF.type, TextVocab.textDataset) + .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) + .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC5) + .addProperty(TextVocab.pTextDocProducer, model.createResource("java:org.apache.jena.query.text.assembler.TestTextDatasetAssembler$CustomTextDocProducer")); + + customDyadicTextDocProducerSpec = + model.createResource(TESTBASE + "customDyadicTextDocProducerSpec") + .addProperty(RDF.type, TextVocab.textDataset) + .addProperty(TextVocab.pDataset, SIMPLE_DATASET_SPEC) + .addProperty(TextVocab.pIndex, SIMPLE_INDEX_SPEC5) + .addProperty(TextVocab.pTextDocProducer, model.createResource("java:org.apache.jena.query.text.assembler.TestTextDatasetAssembler$CustomDyadicTextDocProducer")); + } + + private static class CustomTextDocProducer implements TextDocProducer { + + public CustomTextDocProducer(TextIndex textIndex) { } + + @Override + public void start() { } + + @Override + public void finish() { } + + @Override + public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { } + } + + + private static class CustomDyadicTextDocProducer implements TextDocProducer { + + final DatasetGraph dg; + Node lastSubject = null; + + public CustomDyadicTextDocProducer(DatasetGraph dg, TextIndex textIndex) { + this.dg = dg; + } + + @Override + public void start() { } + + @Override + public void finish() { + Iterator<Quad> qi = dg.find(null, lastSubject, Node.ANY, Node.ANY); + while (qi.hasNext()) qi.next(); + } + + @Override + public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { + lastSubject = s; + } + } } http://git-wip-us.apache.org/repos/asf/jena/blob/807dc362/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java index 06e9658..b6229a1 100644 --- a/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java +++ b/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java @@ -30,41 +30,41 @@ import com.hp.hpl.jena.vocabulary.RDF ; import com.hp.hpl.jena.vocabulary.RDFS ; public class TestTextIndexSolrAssembler extends AbstractTestTextAssembler { - - private static final String TESTBASE = "http://example.org/solrAssembler/"; - private static final Resource EMBEDDED_SOLR_INDEX_SPEC; - private static final Resource HTTP_SOLR_INDEX_SPEC; - -// @Test public void testIndexUsesEmbeddedServer() throws IOException { -// if (EMBEDDED_SOLR.DATA_DIR.exists()) -// TextSearchUtil.emptyAndDeleteDirectory(EMBEDDED_SOLR.DATA_DIR); -// EMBEDDED_SOLR.INDEX_DIR.mkdirs(); -// TextSearchUtil.createEmptyIndex(EMBEDDED_SOLR.INDEX_DIR); -// TextIndexSolr indexSolr = (TextIndexSolr) Assembler.general.open(EMBEDDED_SOLR_INDEX_SPEC); -// assertEquals("org.apache.solr.client.solrj.embedded.EmbeddedSolrServer", indexSolr.getServer().getClass().getName()); -// assertEquals(RDFS.label.asNode(), indexSolr.getDocDef().getPrimaryPredicate()); -// indexSolr.getServer().shutdown(); -// } - - @Test public void testIndexUsesHttpServer() { - TextIndexSolr indexSolr = (TextIndexSolr) Assembler.general.open(HTTP_SOLR_INDEX_SPEC); - assertTrue(indexSolr.getServer() instanceof HttpSolrServer); - assertEquals(indexSolr.getDocDef().getPrimaryPredicate(), RDFS.label.asNode()); - indexSolr.getServer().shutdown(); - } - - static { - TextAssembler.init(); - EMBEDDED_SOLR_INDEX_SPEC = - model.createResource(TESTBASE + "embeddedSolrIndexSpec") - .addProperty(RDF.type, TextVocab.textIndexSolr) - .addProperty(TextVocab.pServer, model.createResource("embedded:solr")) - .addProperty(TextVocab.pEntityMap, SIMPLE_ENTITY_MAP_SPEC); - HTTP_SOLR_INDEX_SPEC = - model.createResource(TESTBASE + "httpSolrIndexSpec") - .addProperty(RDF.type, TextVocab.textIndexSolr) - .addProperty(TextVocab.pServer, model.createResource("http://example.org/solr/index")) - .addProperty(TextVocab.pEntityMap, SIMPLE_ENTITY_MAP_SPEC); - } + + private static final String TESTBASE = "http://example.org/solrAssembler/"; + private static final Resource EMBEDDED_SOLR_INDEX_SPEC; + private static final Resource HTTP_SOLR_INDEX_SPEC; + +// @Test public void testIndexUsesEmbeddedServer() throws IOException { +// if (EMBEDDED_SOLR.DATA_DIR.exists()) +// TextSearchUtil.emptyAndDeleteDirectory(EMBEDDED_SOLR.DATA_DIR); +// EMBEDDED_SOLR.INDEX_DIR.mkdirs(); +// TextSearchUtil.createEmptyIndex(EMBEDDED_SOLR.INDEX_DIR); +// TextIndexSolr indexSolr = (TextIndexSolr) Assembler.general.open(EMBEDDED_SOLR_INDEX_SPEC); +// assertEquals("org.apache.solr.client.solrj.embedded.EmbeddedSolrServer", indexSolr.getServer().getClass().getName()); +// assertEquals(RDFS.label.asNode(), indexSolr.getDocDef().getPrimaryPredicate()); +// indexSolr.getServer().shutdown(); +// } + + @Test public void testIndexUsesHttpServer() { + TextIndexSolr indexSolr = (TextIndexSolr) Assembler.general.open(HTTP_SOLR_INDEX_SPEC); + assertTrue(indexSolr.getServer() instanceof HttpSolrServer); + assertEquals(indexSolr.getDocDef().getPrimaryPredicate(), RDFS.label.asNode()); + indexSolr.getServer().shutdown(); + } + + static { + TextAssembler.init(); + EMBEDDED_SOLR_INDEX_SPEC = + model.createResource(TESTBASE + "embeddedSolrIndexSpec") + .addProperty(RDF.type, TextVocab.textIndexSolr) + .addProperty(TextVocab.pServer, model.createResource("embedded:solr")) + .addProperty(TextVocab.pEntityMap, SIMPLE_ENTITY_MAP_SPEC); + HTTP_SOLR_INDEX_SPEC = + model.createResource(TESTBASE + "httpSolrIndexSpec") + .addProperty(RDF.type, TextVocab.textIndexSolr) + .addProperty(TextVocab.pServer, model.createResource("http://example.org/solr/index")) + .addProperty(TextVocab.pEntityMap, SIMPLE_ENTITY_MAP_SPEC); + } }
