You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by sa...@apache.org on 2015/03/13 21:27:33 UTC
[1/3] jena git commit: Compacted and simplified changes to jena-text
to support ppd-text-index.
Repository: jena
Updated Branches:
refs/heads/master 797c52a71 -> 7952d35ba
Compacted and simplified changes to jena-text
to support ppd-text-index.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3ff763ac
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3ff763ac
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3ff763ac
Branch: refs/heads/master
Commit: 3ff763ac184dd49bdc3b6ceff9acb778aac29eae
Parents: 8a67230
Author: Chris Dollin <eh...@googlemail.com>
Authored: Wed Mar 11 15:13:43 2015 +0000
Committer: Chris Dollin <eh...@googlemail.com>
Committed: Wed Mar 11 15:13:43 2015 +0000
----------------------------------------------------------------------
.../jena/query/text/DatasetGraphText.java | 2 +-
.../org/apache/jena/query/text/TextIndex.java | 1 +
.../apache/jena/query/text/TextIndexLucene.java | 13 +++++++
.../apache/jena/query/text/TextIndexSolr.java | 5 +++
.../text/assembler/TextDatasetAssembler.java | 37 ++++++++++++++------
5 files changed, 46 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3ff763ac/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 f856681..f746a71 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,6 +142,7 @@ public class DatasetGraphText extends DatasetGraphMonitor implements Transaction
*/
@Override
public void commit() {
+ super.getMonitor().finish() ;
// Phase 1
if (readWriteMode.get() == ReadWrite.WRITE) {
try {
@@ -167,7 +168,6 @@ public class DatasetGraphText extends DatasetGraphMonitor implements Transaction
throw new TextIndexException(t);
}
readWriteMode.set(null);
- super.getMonitor().finish() ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/3ff763ac/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
index 3aabd5b..7d3092e 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndex.java
@@ -36,6 +36,7 @@ public interface TextIndex extends Closeable //, Transactional
// Update operations
void addEntity(Entity entity) ;
+ void updateEntity(Entity entity) ;
// read operations
http://git-wip-us.apache.org/repos/asf/jena/blob/3ff763ac/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 12ff1ea..7d42d9d 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
@@ -38,6 +38,7 @@ import org.apache.lucene.index.DirectoryReader ;
import org.apache.lucene.index.IndexReader ;
import org.apache.lucene.index.IndexWriter ;
import org.apache.lucene.index.IndexWriterConfig ;
+import org.apache.lucene.index.Term;
import org.apache.lucene.queryparser.classic.ParseException ;
import org.apache.lucene.queryparser.classic.QueryParser ;
import org.apache.lucene.queryparser.classic.QueryParserBase ;
@@ -188,6 +189,18 @@ 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);
+ } catch (IOException e) {
+ throw new TextIndexException(e) ;
+ }
+ }
@Override
public void addEntity(Entity entity) {
http://git-wip-us.apache.org/repos/asf/jena/blob/3ff763ac/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 45571bc..84bd11a 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
@@ -53,6 +53,11 @@ public class TextIndexSolr implements TextIndex
this.solrServer = server ;
this.docDef = def ;
}
+
+ @Override
+ public void updateEntity(Entity entity) {
+ throw new RuntimeException("TextIndexSolr.updateEntity not implemented.");
+ }
@Override
public void prepareCommit() { }
http://git-wip-us.apache.org/repos/asf/jena/blob/3ff763ac/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 7fb30cb..f3eea7c 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
@@ -32,6 +32,7 @@ import com.hp.hpl.jena.assembler.assemblers.AssemblerBase ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.rdf.model.Resource ;
import com.hp.hpl.jena.sparql.ARQConstants ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph;
import com.hp.hpl.jena.sparql.core.assembler.DatasetAssembler ;
import com.hp.hpl.jena.sparql.util.Loader ;
import com.hp.hpl.jena.sparql.util.graph.GraphUtils ;
@@ -65,22 +66,36 @@ public class TextDatasetAssembler extends AssemblerBase implements Assembler
TextDocProducer textDocProducer = null ;
if (null != textDocProducerNode) {
Class<?> c = Loader.loadClass(textDocProducerNode.getURI(), TextDocProducer.class) ;
- try
- {
- Constructor<?> ctor = c.getConstructor(TextIndex.class) ;
- textDocProducer = (TextDocProducer)ctor.newInstance(textIndex) ;
- }
- catch (Exception ex)
- {
- String className = textDocProducerNode.getURI().substring(ARQConstants.javaClassURIScheme.length()) ;
- Log.warn(Loader.class, "Exception during instantiation '"+className+"': "+ex.getMessage()) ;
- return null ;
+
+ 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" );
+ }
+ } catch (Exception ex) {
+ 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;
+ }
+ }
+
}
[3/3] jena git commit: Merge branch 'revised-A' of
https://github.com/epimorphics/jena-config-doc-producer
Posted by sa...@apache.org.
Merge branch 'revised-A' of https://github.com/epimorphics/jena-config-doc-producer
This closes #42 (jena-text updates for constructing documents suitable for conjunctive queries)
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/7952d35b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/7952d35b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/7952d35b
Branch: refs/heads/master
Commit: 7952d35ba14dcbe8600fe4bf4a58bc8c2dc862db
Parents: 797c52a a8002e8
Author: Stephen Allen <sa...@apache.org>
Authored: Fri Mar 13 16:26:47 2015 -0400
Committer: Stephen Allen <sa...@apache.org>
Committed: Fri Mar 13 16:26:47 2015 -0400
----------------------------------------------------------------------
.../jena/query/text/DatasetGraphText.java | 2 +-
.../org/apache/jena/query/text/TextIndex.java | 1 +
.../apache/jena/query/text/TextIndexLucene.java | 13 +++++++
.../apache/jena/query/text/TextIndexSolr.java | 5 +++
.../text/assembler/TextDatasetAssembler.java | 37 ++++++++++++++------
.../assembler/TestTextDatasetAssembler.java | 34 ++++++++++++++++++
6 files changed, 80 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
[2/3] jena git commit: Added test to check that the assembler gives
access to the two-argument constructor of a docProducer.
Posted by sa...@apache.org.
Added test to check that the
assembler gives access to the two-argument constructor of a docProducer.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a8002e8c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a8002e8c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a8002e8c
Branch: refs/heads/master
Commit: a8002e8ce3452aad7c51f20600c9389ef71a6dd5
Parents: 3ff763a
Author: Chris Dollin <eh...@googlemail.com>
Authored: Thu Mar 12 15:25:27 2015 +0000
Committer: Chris Dollin <eh...@googlemail.com>
Committed: Thu Mar 12 15:25:27 2015 +0000
----------------------------------------------------------------------
.../assembler/TestTextDatasetAssembler.java | 34 ++++++++++++++++++++
1 file changed, 34 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/a8002e8c/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 c0bdb82..11c4bdb 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
@@ -23,6 +23,7 @@ import org.apache.jena.query.text.TextDocProducer ;
import org.apache.jena.query.text.TextIndex ;
import org.apache.jena.query.text.TextIndexLucene ;
import org.apache.jena.query.text.TextQuery ;
+import org.junit.Ignore;
import org.junit.Test ;
import com.hp.hpl.jena.assembler.Assembler ;
@@ -30,6 +31,7 @@ import com.hp.hpl.jena.assembler.exceptions.AssemblerException ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.rdf.model.Resource ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph;
import com.hp.hpl.jena.sparql.core.QuadAction ;
import com.hp.hpl.jena.tdb.assembler.AssemblerTDB ;
import com.hp.hpl.jena.vocabulary.RDF ;
@@ -47,6 +49,7 @@ public class TestTextDatasetAssembler extends AbstractTestTextAssembler {
private static final Resource noDatasetPropertySpec;
private static final Resource noIndexPropertySpec;
private static final Resource customTextDocProducerSpec;
+ private static final Resource customDyadicTextDocProducerSpec;
@Test
public void testSimpleDatasetAssembler() {
@@ -69,6 +72,15 @@ public class TestTextDatasetAssembler extends AbstractTestTextAssembler {
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) ;
+ dataset.close();
}
static {
@@ -94,6 +106,13 @@ public class TestTextDatasetAssembler extends AbstractTestTextAssembler {
.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 {
@@ -109,5 +128,20 @@ public class TestTextDatasetAssembler extends AbstractTestTextAssembler {
@Override
public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { }
}
+
+
+ private static class CustomDyadicTextDocProducer implements TextDocProducer {
+
+ public CustomDyadicTextDocProducer(DatasetGraph dg, TextIndex textIndex) { }
+
+ @Override
+ public void start() { }
+
+ @Override
+ public void finish() { }
+
+ @Override
+ public void change(QuadAction qaction, Node g, Node s, Node p, Node o) { }
+ }
}