You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2013/05/28 13:03:35 UTC
svn commit: r1486862 - in /jackrabbit/oak/trunk:
oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/
oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/
oak-solr-core/src/test/java/org/apache/jackrabbit...
Author: tommaso
Date: Tue May 28 11:03:34 2013
New Revision: 1486862
URL: http://svn.apache.org/r1486862
Log:
OAK-844 - core name is only handled internally on SolrServerProviders
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookProvider.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/TestUtils.java
jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/EmbeddedSolrConfiguration.java
jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java
jackrabbit/oak/trunk/oak-solr-embedded/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/UpToDateNodeStateConfigurationTest.java
jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java
jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrServerProvider.java
Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/OakSolrConfiguration.java Tue May 28 11:03:34 2013
@@ -63,12 +63,4 @@ public interface OakSolrConfiguration {
*/
public CommitPolicy getCommitPolicy();
- /**
- * Provide the name of the Solr core to be used
- *
- * @return a <code>String</code> representing the name of the Solr core to
- * be used fo Oak
- */
- public String getCoreName();
-
}
Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookProvider.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookProvider.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexHookProvider.java Tue May 28 11:03:34 2013
@@ -66,8 +66,7 @@ public class SolrIndexHookProvider imple
if (log.isDebugEnabled()) {
log.debug("Creating a Solr index hook");
}
- IndexEditor indexHook = new SolrIndexDiff(builder, solrServerProvider.getSolrServer(), oakSolrConfigurationProvider.getConfiguration());
- return indexHook;
+ return new SolrIndexDiff(builder, solrServerProvider.getSolrServer(), oakSolrConfigurationProvider.getConfiguration());
} catch (Exception e) {
log.error("unable to create Solr IndexHook ", e);
}
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=1486862&r1=1486861&r2=1486862&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 Tue May 28 11:03:34 2013
@@ -138,10 +138,6 @@ public class TestUtils {
return CommitPolicy.HARD;
}
- @Override
- public String getCoreName() {
- return "oak";
- }
};
}
}
Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/EmbeddedSolrConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/EmbeddedSolrConfiguration.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/EmbeddedSolrConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/EmbeddedSolrConfiguration.java Tue May 28 11:03:34 2013
@@ -16,8 +16,6 @@
*/
package org.apache.jackrabbit.oak.plugins.index.solr.embedded;
-import javax.jcr.PropertyType;
-
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.index.solr.CommitPolicy;
import org.apache.jackrabbit.oak.plugins.index.solr.OakSolrConfiguration;
@@ -77,8 +75,4 @@ public class EmbeddedSolrConfiguration i
return CommitPolicy.SOFT;
}
- @Override
- public String getCoreName() {
- return SolrServerConfigurationDefaults.CORE_NAME;
- }
}
Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/OakSolrNodeStateConfiguration.java Tue May 28 11:03:34 2013
@@ -77,11 +77,6 @@ public abstract class OakSolrNodeStateCo
return CommitPolicy.valueOf(getStringValueFor(Properties.COMMIT_POLICY, CommitPolicy.SOFT.toString()));
}
- @Override
- public String getCoreName() {
- return getStringValueFor(Properties.CORE_NAME, SolrServerConfigurationDefaults.CORE_NAME);
- }
-
protected String getStringValueFor(String propertyName, String defaultValue) {
String value = null;
NodeState configurationNodeState = getConfigurationNodeState();
@@ -90,9 +85,9 @@ public abstract class OakSolrNodeStateCo
if (property != null) {
value = property.getValue(Type.STRING);
}
- if (value == null || value.length() == 0) {
- value = defaultValue;
- }
+ }
+ if (value == null || value.length() == 0) {
+ value = defaultValue;
}
return value;
}
@@ -101,12 +96,13 @@ public abstract class OakSolrNodeStateCo
public SolrServerConfiguration getSolrServerConfiguration() {
String solrHomePath = getStringValueFor(Properties.SOLRHOME_PATH, SolrServerConfigurationDefaults.SOLR_HOME_PATH);
String solrConfigPath = getStringValueFor(Properties.SOLRCONFIG_PATH, SolrServerConfigurationDefaults.SOLR_CONFIG_PATH);
+ String coreName = getStringValueFor(Properties.CORE_NAME, SolrServerConfigurationDefaults.CORE_NAME);
String context = getStringValueFor(Properties.CONTEXT, SolrServerConfigurationDefaults.CONTEXT);
Integer httpPort = Integer.valueOf(getStringValueFor(Properties.HTTP_PORT, SolrServerConfigurationDefaults.HTTP_PORT));
return new SolrServerConfiguration(solrHomePath,
- solrConfigPath, getCoreName()).withHttpConfiguration(context, httpPort);
+ solrConfigPath, coreName).withHttpConfiguration(context, httpPort);
}
/**
@@ -117,7 +113,7 @@ public abstract class OakSolrNodeStateCo
public static final String SOLRHOME_PATH = "solrHomePath";
public static final String SOLRCONFIG_PATH = "solrConfigPath";
public static final String CONTEXT = "solrContext";
- public static final String HTTP_PORT = "solrContext";
+ public static final String HTTP_PORT = "httpPort";
public static final String CORE_NAME = "coreName";
public static final String PATH_FIELD = "pathField";
public static final String PARENT_FIELD = "parentField";
Modified: jackrabbit/oak/trunk/oak-solr-embedded/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/UpToDateNodeStateConfigurationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-embedded/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/UpToDateNodeStateConfigurationTest.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-embedded/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/UpToDateNodeStateConfigurationTest.java (original)
+++ jackrabbit/oak/trunk/oak-solr-embedded/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/embedded/UpToDateNodeStateConfigurationTest.java Tue May 28 11:03:34 2013
@@ -25,7 +25,7 @@ import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertNotNull;
/**
* Testcase for {@link UpToDateNodeStateConfiguration}
@@ -38,7 +38,7 @@ public class UpToDateNodeStateConfigurat
public void setUp() throws Exception {
MicroKernel microKernel = new MicroKernelImpl();
String jsop = "^\"a\":1 ^\"b\":2 ^\"c\":3 +\"x\":{} +\"y\":{} +\"z\":{} " +
- "+\"oak:index\":{\"solrIdx\":{\"coreName\":\"cn\", \"solrHome\":\"sh\", \"solrConfig\":\"sc\"}} ";
+ "+\"oak:index\":{\"solrIdx\":{\"coreName\":\"cn\", \"solrHomePath\":\"sh\", \"solrConfigPath\":\"sc\"}} ";
microKernel.commit("/", jsop, microKernel.getHeadRevision(), "test data");
store = new KernelNodeStore(microKernel);
}
@@ -47,7 +47,11 @@ public class UpToDateNodeStateConfigurat
public void testExistingPath() throws Exception {
String path = "oak:index/solrIdx";
UpToDateNodeStateConfiguration upToDateNodeStateConfiguration = new UpToDateNodeStateConfiguration(store, path);
- assertEquals("cn", upToDateNodeStateConfiguration.getCoreName()); // property defined in the node state
+ SolrServerConfiguration solrServerConfiguration = upToDateNodeStateConfiguration.getSolrServerConfiguration();
+ assertNotNull(solrServerConfiguration);
+ assertEquals("sh", solrServerConfiguration.getSolrHomePath()); // property defined in the node state
+ assertEquals("cn", solrServerConfiguration.getCoreName()); // property defined in the node state
+ assertEquals("sc", solrServerConfiguration.getSolrConfigPath()); // property defined in the node state
assertEquals("path_exact", upToDateNodeStateConfiguration.getPathField()); // using default as this property not defined in the node state
}
@@ -55,7 +59,7 @@ public class UpToDateNodeStateConfigurat
public void testNonExistingPath() throws Exception {
String path = "some/path/to/oak:index/solrIdx";
UpToDateNodeStateConfiguration upToDateNodeStateConfiguration = new UpToDateNodeStateConfiguration(store, path);
- assertNull(upToDateNodeStateConfiguration.getCoreName());
+ assertNotNull(upToDateNodeStateConfiguration.getSolrServerConfiguration());
}
@Test
Modified: jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java (original)
+++ jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrConfigurationProvider.java Tue May 28 11:03:34 2013
@@ -34,7 +34,7 @@ import org.osgi.service.component.Compon
* the default behavior that properties are indexed by name.
* Possible extensions of this class may trigger type based property indexing / search.
*/
-@Component
+@Component(metatype = true)
@Service(OakSolrConfigurationProvider.class)
public class RemoteSolrConfigurationProvider implements OakSolrConfigurationProvider {
@@ -42,29 +42,23 @@ public class RemoteSolrConfigurationProv
private static final String DEFAULT_CHILD_FIELD = "path_child";
private static final String DEFAULT_PARENT_FIELD = "path_anc";
private static final String DEFAULT_PATH_FIELD = "path_exact";
- private static final String DEFAULT_CORE_NAME = "oak";
- @Property(value = DEFAULT_DESC_FIELD)
+ @Property(value = DEFAULT_DESC_FIELD, name = "field for descendants search")
private static final String PATH_DESCENDANTS_FIELD = "path.desc.field";
- @Property(value = DEFAULT_CHILD_FIELD)
+ @Property(value = DEFAULT_CHILD_FIELD, name = "field for children search")
private static final String PATH_CHILDREN_FIELD = "path.child.field";
- @Property(value = DEFAULT_PARENT_FIELD)
+ @Property(value = DEFAULT_PARENT_FIELD, name = "field for parent search")
private static final String PATH_PARENT_FIELD = "path.parent.field";
- @Property(value = DEFAULT_PATH_FIELD)
+ @Property(value = DEFAULT_PATH_FIELD, name = "field for path search")
private static final String PATH_EXACT_FIELD = "path.exact.field";
- @Property(value = DEFAULT_CORE_NAME)
- private static final String CORE_NAME = "core.name";
-
-
private String pathChildrenFieldName;
private String pathParentFieldName;
private String pathDescendantsFieldName;
private String pathExactFieldName;
- private String coreName;
private OakSolrConfiguration oakSolrConfiguration;
@@ -73,17 +67,14 @@ public class RemoteSolrConfigurationProv
this.pathDescendantsFieldName = DEFAULT_DESC_FIELD;
this.pathExactFieldName = DEFAULT_PATH_FIELD;
this.pathParentFieldName = DEFAULT_PARENT_FIELD;
- this.coreName = DEFAULT_CORE_NAME;
}
public RemoteSolrConfigurationProvider(String pathChildrenFieldName, String pathParentFieldName,
- String pathDescendantsFieldName, String pathExactFieldName,
- String coreName) {
+ String pathDescendantsFieldName, String pathExactFieldName) {
this.pathChildrenFieldName = pathChildrenFieldName;
this.pathParentFieldName = pathParentFieldName;
this.pathDescendantsFieldName = pathDescendantsFieldName;
this.pathExactFieldName = pathExactFieldName;
- this.coreName = coreName;
}
protected void activate(ComponentContext componentContext) throws Exception {
@@ -91,7 +82,6 @@ public class RemoteSolrConfigurationProv
pathParentFieldName = String.valueOf(componentContext.getProperties().get(PATH_PARENT_FIELD));
pathExactFieldName = String.valueOf(componentContext.getProperties().get(PATH_EXACT_FIELD));
pathDescendantsFieldName = String.valueOf(componentContext.getProperties().get(PATH_DESCENDANTS_FIELD));
- coreName = String.valueOf(componentContext.getProperties().get(CORE_NAME));
}
@Override
@@ -147,10 +137,6 @@ public class RemoteSolrConfigurationProv
return CommitPolicy.SOFT;
}
- @Override
- public String getCoreName() {
- return coreName;
- }
};
}
return oakSolrConfiguration;
Modified: jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrServerProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrServerProvider.java?rev=1486862&r1=1486861&r2=1486862&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrServerProvider.java (original)
+++ jackrabbit/oak/trunk/oak-solr-remote/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/http/RemoteSolrServerProvider.java Tue May 28 11:03:34 2013
@@ -46,36 +46,44 @@ public class RemoteSolrServerProvider im
private static final String DEFAULT_HTTP_URL = "http://127.0.0.1:8983/solr";
private static final String DEFAULT_ZK_HOST = "localhost:9983";
- @Property(value = DEFAULT_HTTP_URL)
+ @Property(value = DEFAULT_HTTP_URL, name = "Default Solr HTTP URL")
private static final String SOLR_HTTP_URL = "solr.http.url";
- @Property(value = DEFAULT_ZK_HOST)
+ @Property(value = DEFAULT_ZK_HOST, name = "Zookeeper host")
private static final String SOLR_ZK_HOST = "solr.zk.host";
+ @Property(value = DEFAULT_COLLECTION, name = "Default collection")
+ private static final String SOLR_COLLECTION = "solr.collection";
+
private SolrServer solrServer;
private String solrHttpUrl;
private String solrZkHost;
+ private String solrCollection;
public RemoteSolrServerProvider() {
this.solrHttpUrl = DEFAULT_HTTP_URL;
this.solrZkHost = DEFAULT_ZK_HOST;
+ this.solrCollection = DEFAULT_COLLECTION;
}
- public RemoteSolrServerProvider(String solrHttpUrl, String solrZkHost) {
+ public RemoteSolrServerProvider(String solrHttpUrl, String solrZkHost, String solrCollection) {
this.solrHttpUrl = solrHttpUrl;
this.solrZkHost = solrZkHost;
+ this.solrCollection = solrCollection;
}
@Activate
protected void activate(ComponentContext componentContext) throws Exception {
solrHttpUrl = String.valueOf(componentContext.getProperties().get(SOLR_HTTP_URL));
solrZkHost = String.valueOf(componentContext.getProperties().get(SOLR_ZK_HOST));
+ solrCollection = String.valueOf(componentContext.getProperties().get(SOLR_COLLECTION));
}
@Deactivate
protected void deactivate() throws Exception {
solrHttpUrl = null;
solrZkHost = null;
+ solrCollection = null;
if (solrServer != null) {
solrServer.shutdown();
solrServer = null;