Author: andy
Date: Mon Apr 8 13:12:59 2013
New Revision: 1465623
URL: http://svn.apache.org/r1465623
Log:
Remove (comment out) support for embedded Solr - leave as scope-test dependency.
Added:
jena/Experimental/jena-text/src/test/resources/
jena/Experimental/jena-text/src/test/resources/log4j.properties
Modified:
jena/Experimental/jena-text/pom.xml
jena/Experimental/jena-text/src/main/java/examples/JenaTextSearchEx1.java
jena/Experimental/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithEmbeddedSolrTextIndex.java
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java
Modified: jena/Experimental/jena-text/pom.xml
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/pom.xml?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
--- jena/Experimental/jena-text/pom.xml (original)
+++ jena/Experimental/jena-text/pom.xml Mon Apr 8 13:12:59 2013
@@ -21,7 +21,7 @@
</repositories>
<properties>
- <ver.junit>[4.9,)</ver.junit>
+ <ver.junit>[4.11,)</ver.junit>
<ver.slf4j>1.6.4</ver.slf4j>
<ver.log4j>1.2.16</ver.log4j>
<jdk.version>1.6</jdk.version>
@@ -30,10 +30,17 @@
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
<build.time.xsd>${maven.build.timestamp}</build.time.xsd>
<ver.hamcrest>[1.3,)</ver.hamcrest>
+
+
+ <ver.lucene>4.2.1</ver.lucene>
+ <ver.solr>4.2.1</ver.solr>
+
</properties>
<dependencies>
+
+ <!-- All Jena libs (not Fuseki) -->
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
@@ -41,28 +48,54 @@
<type>pom</type>
</dependency>
+ <!-- Needed for testing?
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-fuseki</artifactId>
<version>0.2.7-SNAPSHOT</version>
</dependency>
-
+ -->
+
+ <!-- Lucene dependencies - for when used directly -->
<dependency>
- <artifactId>solr-solrj</artifactId>
- <groupId>org.apache.solr</groupId>
- <version>4.1.0</version>
+ <artifactId>lucene-core</artifactId>
+ <groupId>org.apache.lucene</groupId>
+ <version>${ver.lucene}</version>
<type>jar</type>
- <scope>compile</scope>
</dependency>
+ <dependency>
+ <artifactId>lucene-analyzers-common</artifactId>
+ <groupId>org.apache.lucene</groupId>
+ <version>${ver.lucene}</version>
+ <type>jar</type>
+ </dependency>
+
+ <dependency>
+ <artifactId>lucene-queryparser</artifactId>
+ <groupId>org.apache.lucene</groupId>
+ <version>${ver.lucene}</version>
+ <type>jar</type>
+ </dependency>
- <!-- Embedded server -->
+
+ <!-- Solr client-->
+ <dependency>
+ <artifactId>solr-solrj</artifactId>
+ <groupId>org.apache.solr</groupId>
+ <version>${ver.solr}</version>
+ <optional>true</optional>
+ </dependency>
+
+
+ <!-- Embedded server / testing -->
<dependency>
<artifactId>solr-core</artifactId>
<groupId>org.apache.solr</groupId>
- <version>4.1.0</version>
+ <version>${ver.solr}</version>
<type>jar</type>
- <scope>compile</scope>
+ <scope>test</scope>
+ <optional>true</optional>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -71,10 +104,12 @@
</exclusions>
</dependency>
+ <!-- Embedded Solr server -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
+ <scope>test</scope>
</dependency>
<dependency>
@@ -82,12 +117,6 @@
<artifactId>junit</artifactId>
<version>${ver.junit}</version>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
@@ -96,13 +125,7 @@
<version>${ver.slf4j}</version>
</dependency>
- <!-- Needed because of the logging helper code -->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>${ver.log4j}</version>
- </dependency>
-
+ <!-- ?? -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
Modified:
jena/Experimental/jena-text/src/main/java/examples/JenaTextSearchEx1.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/main/java/examples/JenaTextSearchEx1.java?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
--- jena/Experimental/jena-text/src/main/java/examples/JenaTextSearchEx1.java
(original)
+++ jena/Experimental/jena-text/src/main/java/examples/JenaTextSearchEx1.java
Mon Apr 8 13:12:59 2013
@@ -21,7 +21,6 @@ package examples;
import org.apache.jena.atlas.lib.FileOps ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.dsg.DatasetGraphMonitor ;
-import org.apache.jena.fuseki.FusekiCmd ;
import org.apache.jena.query.text.* ;
import org.apache.jena.riot.RDFDataMgr ;
import org.apache.lucene.store.Directory ;
@@ -48,18 +47,6 @@ public class JenaTextSearchEx1
static boolean luceneProgrammatic = true ;
static boolean runClean = true ;
- public static void mainFuseki()
- {
- if ( true )
- {
- FileOps.clearDirectory("solr/SolrARQ/data") ;
- FileOps.clearDirectory("Lucene") ;
- FileOps.clearDirectory("DB") ;
- }
- FusekiCmd.main("--config=fuseki-text-config.ttl") ;
- System.exit(0) ;
- }
-
public static void main(String[] args) throws Exception
{
// mainFuseki() ;
Modified:
jena/Experimental/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
---
jena/Experimental/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
(original)
+++
jena/Experimental/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexSolrAssembler.java
Mon Apr 8 13:12:59 2013
@@ -20,11 +20,12 @@ package org.apache.jena.query.text.assem
import static org.apache.jena.query.text.assembler.TextVocab.pEntityMap ;
import static org.apache.jena.query.text.assembler.TextVocab.pServer ;
-import org.apache.jena.query.text.* ;
+import org.apache.jena.query.text.EntityDefinition ;
+import org.apache.jena.query.text.TextDatasetFactory ;
+import org.apache.jena.query.text.TextIndex ;
+import org.apache.jena.query.text.TextIndexException ;
import org.apache.solr.client.solrj.SolrServer ;
-import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer ;
import org.apache.solr.client.solrj.impl.HttpSolrServer ;
-import org.apache.solr.core.CoreContainer ;
import com.hp.hpl.jena.assembler.Assembler ;
import com.hp.hpl.jena.assembler.Mode ;
@@ -36,8 +37,8 @@ public class TextIndexSolrAssembler exte
{
/*
<#index> a :TextIndexSolr ;
- #:server <http://localhost:8983/solr/COLLECTION> ;
- text:server <embedded:SolrARQ> ;
+ text:server <http://localhost:8983/solr/COLLECTION> ;
+ #text:server <embedded:SolrARQ> ;
text:entityMap <#endMap> ;
.
*/
@@ -49,17 +50,18 @@ public class TextIndexSolrAssembler exte
SolrServer server ;
if ( uri.startsWith("embedded:") )
{
- String coreName = uri.substring("embedded:".length()) ;
- CoreContainer.Initializer initializer = new
CoreContainer.Initializer();
- CoreContainer coreContainer = initializer.initialize();
- server = new EmbeddedSolrServer(coreContainer, coreName);
- }
+ throw new TextIndexException("Embedded Solr server not supported
(change code and dependencies to enable)") ;
+// String coreName = uri.substring("embedded:".length()) ;
+// CoreContainer.Initializer initializer = new
CoreContainer.Initializer();
+// CoreContainer coreContainer = initializer.initialize();
+// server = new EmbeddedSolrServer(coreContainer, coreName);
+ }
else if ( uri.startsWith("http://") )
{
server = new HttpSolrServer( uri );
}
else
- throw new TextIndexException("URI for the server must begin
'http://' or 'embedded:'") ;
+ throw new TextIndexException("URI for the server must begin
'http://'") ;
Resource r = GraphUtils.getResourceValue(root, pEntityMap) ;
EntityDefinition docDef = (EntityDefinition)a.open(r) ;
Modified:
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
---
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
(original)
+++
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
Mon Apr 8 13:12:59 2013
@@ -18,13 +18,10 @@
package org.apache.jena.query.text;
-import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.query.text.assembler.TestEntityMapAssembler ;
import org.apache.jena.query.text.assembler.TestTextDatasetAssembler ;
import org.apache.jena.query.text.assembler.TestTextIndexLuceneAssembler ;
import org.apache.jena.query.text.assembler.TestTextIndexSolrAssembler ;
-import org.junit.AfterClass ;
-import org.junit.BeforeClass ;
import org.junit.runner.RunWith ;
import org.junit.runners.Suite ;
import org.junit.runners.Suite.SuiteClasses ;
@@ -32,7 +29,8 @@ import org.junit.runners.Suite.SuiteClas
@RunWith(Suite.class)
@SuiteClasses({
TestDatasetWithLuceneTextIndex.class
- , TestDatasetWithEmbeddedSolrTextIndex.class
+ // Embedded solr only used for testing
+ //, TestDatasetWithEmbeddedSolrTextIndex.class
, TestSearchBeforeWriteOnDatasetWithLuceneTextIndex.class
, TestEntityMapAssembler.class
, TestTextDatasetAssembler.class
@@ -41,8 +39,6 @@ import org.junit.runners.Suite.SuiteClas
})
public class TS_Text
-{
- @BeforeClass public static void beforeClass() {
Log.disable("org.apache.solr") ; }
- @AfterClass public static void afterClass() {
Log.enable("org.apache.solr") ; }
-}
+{ }
+
Modified:
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithEmbeddedSolrTextIndex.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithEmbeddedSolrTextIndex.java?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
---
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithEmbeddedSolrTextIndex.java
(original)
+++
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithEmbeddedSolrTextIndex.java
Mon Apr 8 13:12:59 2013
@@ -18,21 +18,24 @@
package org.apache.jena.query.text;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.text.assembler.TextAssembler;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.hp.hpl.jena.assembler.Assembler;
-import com.hp.hpl.jena.query.Dataset;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.Resource;
+import java.io.IOException ;
+import java.io.Reader ;
+import java.io.StringReader ;
+
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.query.text.assembler.TextAssembler ;
+import org.apache.solr.client.solrj.SolrServer ;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer ;
+import org.apache.solr.core.CoreContainer ;
+import org.junit.AfterClass ;
+import org.junit.BeforeClass ;
+import org.junit.Test ;
+
+import com.hp.hpl.jena.assembler.Assembler ;
+import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.rdf.model.Model ;
+import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.rdf.model.Resource ;
public class TestDatasetWithEmbeddedSolrTextIndex extends
AbstractTestDatasetWithTextIndex {
@@ -67,10 +70,16 @@ public class TestDatasetWithEmbeddedSolr
".",
"",
":indexEmbeddedSolr",
- " a text:TextIndexSolr ;",
- " text:server <embedded:SolrARQ> ;",
- " text:entityMap :entMap ;",
- " .",
+ // This is replaced during setup by an embedded Solr
instance.
+ // <embedded:...> ends up with a huge
dependency.
+ " a text:TextIndexLucene ;",
+ " text:directory <file:" + EMBEDDED_SOLR.INDEX_PATH +
"> ;",
+ " text:entityMap :entMap ;",
+
+// " a text:TextIndexSolr ;",
+// " text:server <embedded:SolrARQ> ;",
+// " text:entityMap :entMap ;",
+ " .",
"",
":entMap",
" a text:EntityMap ;",
@@ -83,16 +92,29 @@ public class TestDatasetWithEmbeddedSolr
);
}
+
+
@BeforeClass public static void beforeClass() throws IOException {
- deleteOldFiles();
- EMBEDDED_SOLR.INDEX_DIR.mkdirs();
- TextSearchUtil.createEmptyIndex(EMBEDDED_SOLR.INDEX_DIR);
- Reader reader = new StringReader(SPEC);
- Model specModel = ModelFactory.createDefaultModel();
- specModel.read(reader, "", "TURTLE");
- TextAssembler.init();
- Resource root = specModel.getResource(SPEC_ROOT_URI);
- dataset = (Dataset) Assembler.general.open(root);
+ deleteOldFiles();
+ EMBEDDED_SOLR.INDEX_DIR.mkdirs();
+ TextSearchUtil.createEmptyIndex(EMBEDDED_SOLR.INDEX_DIR);
+ Reader reader = new StringReader(SPEC);
+ Model specModel = ModelFactory.createDefaultModel();
+ specModel.read(reader, "", "TURTLE");
+ TextAssembler.init();
+ Resource root = specModel.getResource(SPEC_ROOT_URI);
+ dataset = (Dataset) Assembler.general.open(root);
+ // Now replace the text indexc with embedded solr
+ TextIndex index = (TextIndex)
dataset.getContext().get(TextQuery.textIndex) ;
+ EntityDefinition docDef = index.getDocDef() ;
+
+ String coreName = "SolrARQ" ;
+ CoreContainer.Initializer initializer = new
CoreContainer.Initializer();
+ CoreContainer coreContainer = initializer.initialize();
+ SolrServer server = new EmbeddedSolrServer(coreContainer, coreName);
+
+ TextIndex textIndexSolrEmbedded =
TextDatasetFactory.createSolrIndex(server, docDef) ;
+ dataset.getContext().set(TextQuery.textIndex,
textIndexSolrEmbedded) ;
}
@AfterClass public static void afterClass() {
Modified:
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java?rev=1465623&r1=1465622&r2=1465623&view=diff
==============================================================================
---
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java
(original)
+++
jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/assembler/TestTextIndexSolrAssembler.java
Mon Apr 8 13:12:59 2013
@@ -18,22 +18,16 @@
package org.apache.jena.query.text.assembler;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-
-import org.apache.jena.query.text.EMBEDDED_SOLR;
-import org.apache.jena.query.text.TextIndexSolr;
-import org.apache.jena.query.text.TextSearchUtil;
-import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
-import org.junit.Test;
-
-import com.hp.hpl.jena.assembler.Assembler;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.vocabulary.RDF;
-import com.hp.hpl.jena.vocabulary.RDFS;
+import static org.junit.Assert.assertEquals ;
+import static org.junit.Assert.assertTrue ;
+import org.apache.jena.query.text.TextIndexSolr ;
+import org.apache.solr.client.solrj.impl.HttpSolrServer ;
+import org.junit.Test ;
+
+import com.hp.hpl.jena.assembler.Assembler ;
+import com.hp.hpl.jena.rdf.model.Resource ;
+import com.hp.hpl.jena.vocabulary.RDF ;
+import com.hp.hpl.jena.vocabulary.RDFS ;
public class TestTextIndexSolrAssembler extends AbstractTestTextAssembler {
@@ -41,16 +35,16 @@ public class TestTextIndexSolrAssembler
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);
- assertTrue(indexSolr.getServer() instanceof EmbeddedSolrServer);
- assertEquals(indexSolr.getDocDef().getPrimaryPredicate(),
RDFS.label.asNode());
- indexSolr.getServer().shutdown();
- }
+// @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);
Added: jena/Experimental/jena-text/src/test/resources/log4j.properties
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/resources/log4j.properties?rev=1465623&view=auto
==============================================================================
--- jena/Experimental/jena-text/src/test/resources/log4j.properties (added)
+++ jena/Experimental/jena-text/src/test/resources/log4j.properties Mon Apr 8
13:12:59 2013
@@ -0,0 +1,15 @@
+log4j.rootLogger=WARN, stdlog
+
+log4j.appender.stdlog=org.apache.log4j.ConsoleAppender
+## log4j.appender.stdlog.target=System.err
+log4j.appender.stdlog.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdlog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %-25c{1} ::
%m%n
+
+# Execution logging
+log4j.logger.com.hp.hpl.jena.arq.info=INFO
+log4j.logger.com.hp.hpl.jena.arq.exec=INFO
+
+## Solr can be noisy.
+log4j.logger.org.apache.solr=WARN
+log4j.logger.org.apache.solr.core.CoreContainer=FATAL
+log4j.logger.org.apache.solr.core.JmxMonitoredMap=FATAL