Replace mixed tabs/spaces with spaces. Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bd4d4db1 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bd4d4db1 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bd4d4db1
Branch: refs/heads/master Commit: bd4d4db11046e90645c14983427b28a357bc105f Parents: 807dc36 Author: Andy Seaborne <[email protected]> Authored: Tue Mar 17 15:54:57 2015 +0000 Committer: Andy Seaborne <[email protected]> Committed: Tue Mar 17 15:54:57 2015 +0000 ---------------------------------------------------------------------- .../jena/query/text/DatasetGraphText.java | 2 +- .../jena/query/text/EntityDefinition.java | 4 +- .../apache/jena/query/text/TextIndexLucene.java | 42 +++---- .../apache/jena/query/text/TextIndexSolr.java | 44 +++---- .../assembler/EntityDefinitionAssembler.java | 126 +++++++++---------- .../assembler/KeywordAnalyzerAssembler.java | 2 +- .../LowerCaseKeywordAnalyzerAssembler.java | 4 +- .../text/assembler/SimpleAnalyzerAssembler.java | 4 +- .../assembler/StandardAnalyzerAssembler.java | 78 ++++++------ .../query/text/assembler/TextAssembler.java | 6 +- .../text/assembler/TextDatasetAssembler.java | 52 ++++---- 11 files changed, 182 insertions(+), 182 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java index f746a71..d8e1247 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java @@ -142,7 +142,7 @@ public class DatasetGraphText extends DatasetGraphMonitor implements Transaction */ @Override public void commit() { - super.getMonitor().finish() ; + super.getMonitor().finish() ; // Phase 1 if (readWriteMode.get() == ReadWrite.WRITE) { try { http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java index ba0f15d..06007ab 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java @@ -129,11 +129,11 @@ public class EntityDefinition { } public void setAnalyzer(String field, Analyzer analyzer) { - fieldToAnalyzer.put(field, analyzer); + fieldToAnalyzer.put(field, analyzer); } public Analyzer getAnalyzer(String field) { - return fieldToAnalyzer.get(field); + return fieldToAnalyzer.get(field); } public String getPrimaryField() { http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java index 7d42d9d..caebea1 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java @@ -77,13 +77,13 @@ public class TextIndexLucene implements TextIndex { private final Directory directory ; private final Analyzer analyzer ; private final Analyzer queryAnalyzer ; - + // The IndexWriter can't be final because we may have to recreate it if rollback() is called. // However, it needs to be volatile in case the next write transaction is on a different thread, // but we do not need locking because we are assuming that there can only be one writer // at a time (enforced elsewhere). private volatile IndexWriter indexWriter ; - + /** * Constructs a new TextIndexLucene. * @@ -101,20 +101,20 @@ public class TextIndexLucene implements TextIndex { analyzerPerField.put(def.getEntityField(), new KeywordAnalyzer()) ; if ( def.getGraphField() != null ) analyzerPerField.put(def.getGraphField(), new KeywordAnalyzer()) ; - + for (String field : def.fields()) { - Analyzer analyzer = def.getAnalyzer(field); - if (analyzer != null) { - analyzerPerField.put(field, analyzer); - } + Analyzer analyzer = def.getAnalyzer(field); + if (analyzer != null) { + analyzerPerField.put(field, analyzer); + } } - + this.analyzer = new PerFieldAnalyzerWrapper(new StandardAnalyzer(VER), analyzerPerField) ; this.queryAnalyzer = (null != queryAnalyzer) ? queryAnalyzer : analyzer ; openIndexWriter(); } - + private void openIndexWriter() { IndexWriterConfig wConfig = new IndexWriterConfig(VER, analyzer) ; try @@ -128,7 +128,7 @@ public class TextIndexLucene implements TextIndex { throw new TextIndexException(e) ; } } - + public Directory getDirectory() { return directory ; } @@ -136,15 +136,15 @@ public class TextIndexLucene implements TextIndex { public Analyzer getAnalyzer() { return analyzer ; } - + public Analyzer getQueryAnalyzer() { return queryAnalyzer ; } - + public IndexWriter getIndexWriter() { return indexWriter; } - + @Override public void prepareCommit() { try { @@ -154,7 +154,7 @@ public class TextIndexLucene implements TextIndex { throw new TextIndexException(e); } } - + @Override public void commit() { try { @@ -164,7 +164,7 @@ public class TextIndexLucene implements TextIndex { throw new TextIndexException(e); } } - + @Override public void rollback() { IndexWriter idx = indexWriter; @@ -175,7 +175,7 @@ public class TextIndexLucene implements TextIndex { catch (IOException e) { throw new TextIndexException(e); } - + // The rollback will close the indexWriter, so we need to reopen it openIndexWriter(); } @@ -189,14 +189,14 @@ public class TextIndexLucene implements TextIndex { throw new TextIndexException(ex) ; } } - + @Override public void updateEntity(Entity entity) { if ( log.isDebugEnabled() ) log.debug("Update entity: " + entity) ; try { - Document doc = doc(entity); - Term term = new Term(docDef.getEntityField(), entity.getId()); - indexWriter.updateDocument( term, doc); + Document doc = doc(entity); + Term term = new Term(docDef.getEntityField(), entity.getId()); + indexWriter.updateDocument(term, doc); } catch (IOException e) { throw new TextIndexException(e) ; } @@ -255,7 +255,7 @@ public class TextIndexLucene implements TextIndex { Query query = queryParser.parse(queryString) ; return query ; } - + private List<Map<String, Node>> get$(IndexReader indexReader, String uri) throws ParseException, IOException { String escaped = QueryParserBase.escape(uri) ; String qs = docDef.getEntityField() + ":" + escaped ; http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java index 84bd11a..7a766ac 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexSolr.java @@ -54,14 +54,14 @@ public class TextIndexSolr implements TextIndex this.docDef = def ; } - @Override - public void updateEntity(Entity entity) { - throw new RuntimeException("TextIndexSolr.updateEntity not implemented."); - } - + @Override + public void updateEntity(Entity entity) { + throw new RuntimeException("TextIndexSolr.updateEntity not implemented."); + } + @Override public void prepareCommit() { } - + @Override public void commit() { try { @@ -74,7 +74,7 @@ public class TextIndexSolr implements TextIndex throw new TextIndexException(e); } } - + @Override public void rollback() { try { @@ -87,7 +87,7 @@ public class TextIndexSolr implements TextIndex throw new TextIndexException(e); } } - + @Override public void close() { @@ -109,22 +109,22 @@ public class TextIndexSolr implements TextIndex { SolrInputDocument doc = new SolrInputDocument() ; doc.addField(docDef.getEntityField(), entity.getId()) ; - + String graphField = docDef.getGraphField() ; if ( graphField != null ) { doc.addField(graphField, entity.getGraph()) ; } - + // the addition needs to be done as a partial update // otherwise, if we have multiple fields, each successive // addition will replace the previous one and we are left // with only the last field indexed. // see http://stackoverflow.com/questions/12183798/solrj-api-for-partial-document-update // and https://svn.apache.org/repos/asf/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java - HashMap<String,Object> map = new HashMap<>(); + HashMap<String,Object> map = new HashMap<>(); for ( Entry<String, Object> e : entity.getMap().entrySet() ) { - map.put("add", e.getValue()); + map.put("add", e.getValue()); doc.addField(e.getKey(), map) ; } return doc ; @@ -136,7 +136,7 @@ public class TextIndexSolr implements TextIndex String escaped = ClientUtils.escapeQueryChars(uri) ; String qs = docDef.getEntityField()+":"+escaped ; SolrDocumentList solrResults = solrQuery(qs,1) ; - + List<Map<String, Node>> records = process(solrResults) ; if ( records.size() == 0 ) return null ; @@ -144,18 +144,18 @@ public class TextIndexSolr implements TextIndex log.warn("Multiple docs for one URI: "+uri) ; return records.get(0) ; } - + private List<Map<String, Node>> process(SolrDocumentList solrResults) { List<Map<String, Node>> records = new ArrayList<>() ; - + for ( SolrDocument sd : solrResults ) { Map<String, Node> record = new HashMap<>() ; String uriStr = (String)sd.getFieldValue(docDef.getEntityField()) ; Node entity = NodeFactory.createURI(uriStr) ; record.put(docDef.getEntityField(), entity) ; - + for ( String f : docDef.fields() ) { //log.info("Field: "+f) ; @@ -176,16 +176,16 @@ public class TextIndexSolr implements TextIndex Node n = entryToNode(v) ; record.put(f, n) ; } - + //log.info("Entity: "+uriStr) ; records.add(record) ; } return records ; } - + @Override public List<Node> query(String qs) { return query(qs, 0) ; } - + @Override public List<Node> query(String qs, int limit) { @@ -204,10 +204,10 @@ public class TextIndexSolr implements TextIndex if ( limit > 0 && results.size() > limit ) results = results.subList(0, limit) ; - + return results ; } - + private SolrDocumentList solrQuery(String qs, int limit) { SolrQuery sq = new SolrQuery(qs) ; @@ -237,7 +237,7 @@ public class TextIndexSolr implements TextIndex // TEMP return NodeFactoryExtra.createLiteralNode(v, null, null) ; } - + public SolrServer getServer() { return solrServer ; } private static Void exception(Exception ex) http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java index d3e25b8..ae8b99e 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java @@ -54,8 +54,8 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble [ text:field "text" ; text:predicate rdfs:label ] [ text:field "type" ; text:predicate rdfs:type ] ) . - */ - + */ + @Override public EntityDefinition open(Assembler a, Resource root, Mode mode) { @@ -70,10 +70,10 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble " OPTIONAL {" , " ?eMap :graphField ?graphField" , " }", - "}") ; + "}") ; ParameterizedSparqlString pss = new ParameterizedSparqlString(qs1) ; pss.setIri("eMap", root.getURI()) ; - + Query query1 = QueryFactory.create(pss.toString()) ; QueryExecution qexec1 = QueryExecutionFactory.create(query1, model) ; ResultSet rs1 = qexec1.execSelect() ; @@ -82,75 +82,75 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble Log.warn(this, "Failed to find a valid EntityMap for : "+root) ; throw new TextIndexException("Failed to find a valid EntityMap for : "+root) ; } - + if ( results.size() !=1 ) { Log.warn(this, "Multiple matches for EntityMap for : "+root) ; throw new TextIndexException("Multiple matches for EntityMap for : "+root) ; } - + QuerySolution qsol1 = results.get(0) ; String entityField = qsol1.getLiteral("entityField").getLexicalForm() ; String graphField = qsol1.contains("graphField") ? qsol1.getLiteral("graphField").getLexicalForm() : null; String defaultField = qsol1.contains("dftField") ? qsol1.getLiteral("dftField").getLexicalForm() : null ; - + MultiMap<String, Node> mapDefs = MultiMap.createMapList() ; Map<String, Analyzer> analyzerDefs = new HashMap<>(); - + Statement listStmt = root.getProperty(TextVocab.pMap); while (listStmt != null) { - RDFNode n = listStmt.getObject(); - if (! n.isResource()) { - throw new TextIndexException("Text list node is not a resource : " + n); - } - Resource listResource = (Resource) n; - if (listResource.equals(RDF.nil)) { - break; // end of the list - } - - Statement listEntryStmt = listResource.getProperty(RDF.first); - if (listEntryStmt == null) { - throw new TextIndexException("Text map list is not well formed. No rdf:first property"); - } - n = listEntryStmt.getObject(); - if (! n.isResource()) { - throw new TextIndexException("Text map list entry is not a resource : " + n); - } - Resource listEntry = (Resource) n; - - Statement fieldStatement = listEntry.getProperty(TextVocab.pField); - if (fieldStatement == null) { - throw new TextIndexException("Text map entry has no field property"); - } - n = fieldStatement.getObject(); - if (! n.isLiteral()) { - throw new TextIndexException("Text map entry field property has no literal value : " + n); - } - String field = ((Literal)n).getLexicalForm(); - - Statement predicateStatement = listEntry.getProperty(TextVocab.pPredicate); - if (predicateStatement == null) { - throw new TextIndexException("Text map entry has no predicate property"); - } - n = predicateStatement.getObject(); - if (! n.isURIResource()) { - throw new TextIndexException("Text map entry predicate property has non resource value : " + n); - } - Resource predicate = (Resource) n; - mapDefs.put(field, predicate.asNode()) ; - - Statement analyzerStatement = listEntry.getProperty(TextVocab.pAnalyzer); - if (analyzerStatement != null) { - n = analyzerStatement.getObject(); - if (! n.isResource()) { - throw new TextIndexException("Text map entry analyzer property is not a resource : " + n); - } - Resource analyzerResource = (Resource) n; - Analyzer analyzer = (Analyzer) a.open(analyzerResource); - analyzerDefs.put(field, analyzer); - } - - // move on to the next element in the list - listStmt = listResource.getProperty(RDF.rest); + RDFNode n = listStmt.getObject(); + if (! n.isResource()) { + throw new TextIndexException("Text list node is not a resource : " + n); + } + Resource listResource = (Resource) n; + if (listResource.equals(RDF.nil)) { + break; // end of the list + } + + Statement listEntryStmt = listResource.getProperty(RDF.first); + if (listEntryStmt == null) { + throw new TextIndexException("Text map list is not well formed. No rdf:first property"); + } + n = listEntryStmt.getObject(); + if (! n.isResource()) { + throw new TextIndexException("Text map list entry is not a resource : " + n); + } + Resource listEntry = (Resource) n; + + Statement fieldStatement = listEntry.getProperty(TextVocab.pField); + if (fieldStatement == null) { + throw new TextIndexException("Text map entry has no field property"); + } + n = fieldStatement.getObject(); + if (! n.isLiteral()) { + throw new TextIndexException("Text map entry field property has no literal value : " + n); + } + String field = ((Literal)n).getLexicalForm(); + + Statement predicateStatement = listEntry.getProperty(TextVocab.pPredicate); + if (predicateStatement == null) { + throw new TextIndexException("Text map entry has no predicate property"); + } + n = predicateStatement.getObject(); + if (! n.isURIResource()) { + throw new TextIndexException("Text map entry predicate property has non resource value : " + n); + } + Resource predicate = (Resource) n; + mapDefs.put(field, predicate.asNode()) ; + + Statement analyzerStatement = listEntry.getProperty(TextVocab.pAnalyzer); + if (analyzerStatement != null) { + n = analyzerStatement.getObject(); + if (! n.isResource()) { + throw new TextIndexException("Text map entry analyzer property is not a resource : " + n); + } + Resource analyzerResource = (Resource) n; + Analyzer analyzer = (Analyzer) a.open(analyzerResource); + analyzerDefs.put(field, analyzer); + } + + // move on to the next element in the list + listStmt = listResource.getProperty(RDF.rest); } // Primary field/predicate @@ -159,14 +159,14 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble if ( c == null ) throw new TextIndexException("No definition of primary field '"+defaultField+"'") ; } - + EntityDefinition docDef = new EntityDefinition(entityField, defaultField, graphField) ; for ( String f : mapDefs.keys() ) { for ( Node p : mapDefs.get(f)) docDef.set(f, p) ; } for (String f : analyzerDefs.keySet()) { - docDef.setAnalyzer(f, analyzerDefs.get(f)); + docDef.setAnalyzer(f, analyzerDefs.get(f)); } return docDef ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/KeywordAnalyzerAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/KeywordAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/KeywordAnalyzerAssembler.java index 9da0643..f1f4129 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/KeywordAnalyzerAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/KeywordAnalyzerAssembler.java @@ -42,6 +42,6 @@ public class KeywordAnalyzerAssembler extends AssemblerBase { @Override public Analyzer open(Assembler a, Resource root, Mode mode) { - return new KeywordAnalyzer(); + return new KeywordAnalyzer(); } } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/LowerCaseKeywordAnalyzerAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/LowerCaseKeywordAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/LowerCaseKeywordAnalyzerAssembler.java index d7b3262..dc81b57 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/LowerCaseKeywordAnalyzerAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/LowerCaseKeywordAnalyzerAssembler.java @@ -39,10 +39,10 @@ public class LowerCaseKeywordAnalyzerAssembler extends AssemblerBase { a lucene:LowerCaseKeywordAnalyzer ; ] ] . - */ + */ @Override public Analyzer open(Assembler a, Resource root, Mode mode) { - return new LowerCaseKeywordAnalyzer(TextIndexLucene.VER); + return new LowerCaseKeywordAnalyzer(TextIndexLucene.VER); } } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/SimpleAnalyzerAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/SimpleAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/SimpleAnalyzerAssembler.java index 5d81758..ebcdc0a 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/SimpleAnalyzerAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/SimpleAnalyzerAssembler.java @@ -40,10 +40,10 @@ public class SimpleAnalyzerAssembler extends AssemblerBase { ] ] . - */ + */ @Override public Analyzer open(Assembler a, Resource root, Mode mode) { - return new SimpleAnalyzer(TextIndexLucene.VER); + return new SimpleAnalyzer(TextIndexLucene.VER); } } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/StandardAnalyzerAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/StandardAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/StandardAnalyzerAssembler.java index a22718b..825322e 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/StandardAnalyzerAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/StandardAnalyzerAssembler.java @@ -50,53 +50,53 @@ public class StandardAnalyzerAssembler extends AssemblerBase { ] ] . - */ + */ @Override public Analyzer open(Assembler a, Resource root, Mode mode) { - if (root.hasProperty(TextVocab.pStopWords)) { - return analyzerWithStopWords(root); - } else { - return new StandardAnalyzer(TextIndexLucene.VER); - } + if (root.hasProperty(TextVocab.pStopWords)) { + return analyzerWithStopWords(root); + } else { + return new StandardAnalyzer(TextIndexLucene.VER); + } } - + private Analyzer analyzerWithStopWords(Resource root) { - RDFNode node = root.getProperty(TextVocab.pStopWords).getObject(); - if (! node.isResource()) { - throw new TextIndexException("text:stopWords property takes a list as a value : " + node); - } - CharArraySet stopWords = toCharArraySet((Resource) node); - return new StandardAnalyzer(TextIndexLucene.VER, stopWords); + RDFNode node = root.getProperty(TextVocab.pStopWords).getObject(); + if (! node.isResource()) { + throw new TextIndexException("text:stopWords property takes a list as a value : " + node); + } + CharArraySet stopWords = toCharArraySet((Resource) node); + return new StandardAnalyzer(TextIndexLucene.VER, stopWords); } - + private CharArraySet toCharArraySet(Resource list) { - return new CharArraySet(TextIndexLucene.VER, toList(list), false); + return new CharArraySet(TextIndexLucene.VER, toList(list), false); } - + private List<String> toList(Resource list) { - List<String> result = new ArrayList<>(); - Resource current = list; - while (current != null && ! current.equals(RDF.nil)){ - Statement stmt = current.getProperty(RDF.first); - if (stmt == null) { - throw new TextIndexException("stop word list not well formed"); - } - RDFNode node = stmt.getObject(); - if (! node.isLiteral()) { - throw new TextIndexException("stop word is not a literal : " + node); - } - result.add(((Literal)node).getLexicalForm()); - stmt = current.getProperty(RDF.rest); - if (stmt == null) { - throw new TextIndexException("stop word list not terminated by rdf:nil"); - } - node = stmt.getObject(); - if (! node.isResource()) { - throw new TextIndexException("stop word list node is not a resource : " + node); - } - current = (Resource) node; - } - return result; + List<String> result = new ArrayList<>(); + Resource current = list; + while (current != null && ! current.equals(RDF.nil)){ + Statement stmt = current.getProperty(RDF.first); + if (stmt == null) { + throw new TextIndexException("stop word list not well formed"); + } + RDFNode node = stmt.getObject(); + if (! node.isLiteral()) { + throw new TextIndexException("stop word is not a literal : " + node); + } + result.add(((Literal)node).getLexicalForm()); + stmt = current.getProperty(RDF.rest); + if (stmt == null) { + throw new TextIndexException("stop word list not terminated by rdf:nil"); + } + node = stmt.getObject(); + if (! node.isResource()) { + throw new TextIndexException("stop word list node is not a resource : " + node); + } + current = (Resource) node; + } + return result; } } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextAssembler.java index 3503bb8..59a1b02 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextAssembler.java @@ -31,9 +31,9 @@ public class TextAssembler Assembler.general.implementWith(TextVocab.textIndexSolr, new TextIndexSolrAssembler()) ; Assembler.general.implementWith(TextVocab.textIndexLucene, new TextIndexLuceneAssembler()) ; Assembler.general.implementWith(TextVocab.standardAnalyzer, new StandardAnalyzerAssembler()) ; - Assembler.general.implementWith(TextVocab.simpleAnalyzer, new SimpleAnalyzerAssembler()) ; - Assembler.general.implementWith(TextVocab.keywordAnalyzer, new KeywordAnalyzerAssembler()) ; - Assembler.general.implementWith(TextVocab.lowerCaseKeywordAnalyzer, new LowerCaseKeywordAnalyzerAssembler()) ; + Assembler.general.implementWith(TextVocab.simpleAnalyzer, new SimpleAnalyzerAssembler()) ; + Assembler.general.implementWith(TextVocab.keywordAnalyzer, new KeywordAnalyzerAssembler()) ; + Assembler.general.implementWith(TextVocab.lowerCaseKeywordAnalyzer, new LowerCaseKeywordAnalyzerAssembler()) ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/bd4d4db1/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextDatasetAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextDatasetAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextDatasetAssembler.java index 941f7e9..157464f 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextDatasetAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextDatasetAssembler.java @@ -44,60 +44,60 @@ import com.hp.hpl.jena.sparql.util.graph.GraphUtils ; public class TextDatasetAssembler extends AssemblerBase implements Assembler { private DatasetAssembler datasetAssembler = new DatasetAssembler() ; - + public static Resource getType() { return textDataset ; } - + /* <#text_dataset> rdf:type text:Dataset ; text:dataset <#dataset> ; text:index <#index> ; . - */ - + */ + @Override public Dataset open(Assembler a, Resource root, Mode mode) { Resource dataset = GraphUtils.getResourceValue(root, pDataset) ; Resource index = GraphUtils.getResourceValue(root, pIndex) ; Resource textDocProducerNode = GraphUtils.getResourceValue(root, pTextDocProducer) ; - + Dataset ds = (Dataset)a.open(dataset) ; TextIndex textIndex = (TextIndex)a.open(index) ; // Null will use the default producer TextDocProducer textDocProducer = null ; if (null != textDocProducerNode) { Class<?> c = Loader.loadClass(textDocProducerNode.getURI(), TextDocProducer.class) ; - + String className = textDocProducerNode.getURI().substring(ARQConstants.javaClassURIScheme.length()) ; Constructor<?> dyadic = getConstructor(c, DatasetGraph.class, TextIndex.class); Constructor<?> monadic = getConstructor(c, TextIndex.class); - + try { - if (dyadic != null) { - textDocProducer = (TextDocProducer) dyadic.newInstance(ds.asDatasetGraph(), textIndex) ; - } else if (monadic != null) { - textDocProducer = (TextDocProducer) monadic.newInstance(textIndex) ; - } else { - Log.warn(Loader.class, "Exception during instantiation '"+className+"' no TextIndex or DatasetGraph,Index constructor" ); - } + if (dyadic != null) { + textDocProducer = (TextDocProducer) dyadic.newInstance(ds.asDatasetGraph(), textIndex) ; + } else if (monadic != null) { + textDocProducer = (TextDocProducer) monadic.newInstance(textIndex) ; + } else { + Log.warn(Loader.class, "Exception during instantiation '"+className+"' no TextIndex or DatasetGraph,Index constructor" ); + } } catch (Exception ex) { - Log.warn(Loader.class, "Exception during instantiation '"+className+"': "+ex.getMessage()) ; - return null ; + Log.warn(Loader.class, "Exception during instantiation '"+className+"': "+ex.getMessage()) ; + return null ; } } - + Dataset dst = TextDatasetFactory.create(ds, textIndex, true, textDocProducer) ; return dst ; } - - private Constructor<?> getConstructor(Class<?> c, Class<?> ...types) { - try { - return c.getConstructor(types); - } catch (NoSuchMethodException e) { - return null; - } - } - + + private Constructor<?> getConstructor(Class<?> c, Class<?> ...types) { + try { + return c.getConstructor(types); + } catch (NoSuchMethodException e) { + return null; + } + } + }
