Author: tommaso
Date: Mon Mar 31 13:17:00 2014
New Revision: 1583322
URL: http://svn.apache.org/r1583322
Log:
OAK-1638 - let QueryJcrTest use its own Solr index
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java?rev=1583322&r1=1583321&r2=1583322&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexEditor.java
Mon Mar 31 13:17:00 2014
@@ -173,12 +173,12 @@ public class SolrIndexEditor implements
throws CommitFailedException {
String path = partialEscape(PathUtils.concat(getPath(),
name)).toString();
try {
- String formattedQuery = String.format(
- "%s:%s*", configuration.getPathField(), path);
- if (log.isDebugEnabled()) {
- log.debug("deleting by query {}", formattedQuery);
- }
- solrServer.deleteByQuery(formattedQuery);
+ String formattedQuery = String.format(
+ "%s:%s*", configuration.getPathField(), path);
+ if (log.isDebugEnabled()) {
+ log.debug("deleting by query {}", formattedQuery);
+ }
+ solrServer.deleteByQuery(formattedQuery);
updateCallback.indexUpdate();
} catch (SolrServerException e) {
throw new CommitFailedException(
@@ -192,18 +192,18 @@ public class SolrIndexEditor implements
}
private static CharSequence partialEscape(CharSequence s) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < s.length(); i++) {
- char c = s.charAt(i);
- if (c == '\\' || c == '!' || c == '(' || c == ')' ||
- c == ':' || c == '^' || c == '[' || c == ']' || c == '/' ||
- c == '{' || c == '}' || c == '~' || c == '*' || c == '?' ||
- c == '-' || c == ' ') {
- sb.append('\\');
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ if (c == '\\' || c == '!' || c == '(' || c == ')' ||
+ c == ':' || c == '^' || c == '[' || c == ']' || c == '/' ||
+ c == '{' || c == '}' || c == '~' || c == '*' || c == '?' ||
+ c == '-' || c == ' ') {
+ sb.append('\\');
+ }
+ sb.append(c);
}
- sb.append(c);
- }
- return sb;
+ return sb;
}
private SolrInputDocument docFromState(NodeState state) {
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java?rev=1583322&r1=1583321&r2=1583322&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/jcr/SolrOakRepositoryStub.java
Mon Mar 31 13:17:00 2014
@@ -16,38 +16,47 @@
*/
package org.apache.jackrabbit.oak.jcr;
+import java.io.File;
+import java.util.Properties;
+import javax.jcr.RepositoryException;
+
import
org.apache.jackrabbit.oak.plugins.index.aggregate.AggregateIndexProvider;
-import org.apache.jackrabbit.oak.plugins.index.solr.TestUtils;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.DefaultSolrConfigurationProvider;
+import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.EmbeddedSolrServerConfiguration;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfigurationProvider;
import
org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexEditorProvider;
import
org.apache.jackrabbit.oak.plugins.index.solr.query.SolrQueryIndexProvider;
+import
org.apache.jackrabbit.oak.plugins.index.solr.server.EmbeddedSolrServerProvider;
import org.apache.jackrabbit.oak.plugins.index.solr.server.SolrServerProvider;
import org.apache.jackrabbit.oak.plugins.index.solr.util.SolrIndexInitializer;
import org.apache.solr.client.solrj.SolrServer;
-import javax.jcr.RepositoryException;
-import java.util.Properties;
-
public class SolrOakRepositoryStub extends OakTarMKRepositoryStub {
- public SolrOakRepositoryStub(Properties settings)
- throws RepositoryException {
- super(settings);
- }
+ public SolrOakRepositoryStub(Properties settings)
+ throws RepositoryException {
+ super(settings);
+ }
- @Override
- protected void preCreateRepository(Jcr jcr) {
- final SolrServer solrServer = TestUtils.createSolrServer();
- SolrServerProvider solrServerProvider = new SolrServerProvider() {
- @Override
- public SolrServer getSolrServer() throws Exception {
- return solrServer;
- }
- };
- OakSolrConfigurationProvider oakSolrConfigurationProvider = new
DefaultSolrConfigurationProvider();
- jcr.with(new SolrIndexInitializer(false))
- .with(AggregateIndexProvider.wrap(new
SolrQueryIndexProvider(solrServerProvider, oakSolrConfigurationProvider)))
- .with(new SolrIndexEditorProvider(solrServerProvider,
oakSolrConfigurationProvider));
- }
+ @Override
+ protected void preCreateRepository(Jcr jcr) {
+ String path = getClass().getResource("/").getFile() + "/queryjcrtest";
+ File f = new File(path);
+ final SolrServer solrServer;
+ try {
+ solrServer = new EmbeddedSolrServerProvider(new
EmbeddedSolrServerConfiguration(f.getPath(), "", "oak")).getSolrServer();
+ } catch (Exception e) {
+ throw new RuntimeException();
+ }
+ SolrServerProvider solrServerProvider = new SolrServerProvider() {
+ @Override
+ public SolrServer getSolrServer() throws Exception {
+ return solrServer;
+ }
+ };
+ OakSolrConfigurationProvider oakSolrConfigurationProvider = new
DefaultSolrConfigurationProvider();
+ jcr.with(new SolrIndexInitializer(false))
+ .with(AggregateIndexProvider.wrap(new
SolrQueryIndexProvider(solrServerProvider, oakSolrConfigurationProvider)))
+ .with(new SolrIndexEditorProvider(solrServerProvider,
oakSolrConfigurationProvider));
+ }
}
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java?rev=1583322&r1=1583321&r2=1583322&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
Mon Mar 31 13:17:00 2014
@@ -46,14 +46,7 @@ public class TestUtils
} catch (Exception e) {
throw new IllegalStateException(e);
}
- EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer,
"oak");
- try {
- server.deleteByQuery("*:*");
- server.commit();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- return server;
+ return new EmbeddedSolrServer(coreContainer, "oak");
}
public static void cleanDataDir() {
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java?rev=1583322&r1=1583321&r2=1583322&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java
Mon Mar 31 13:17:00 2014
@@ -82,7 +82,6 @@ public class SolrIndexQueryTest extends
}
@Test
- @Ignore
public void sql2() throws Exception {
test("sql2.txt");
}