Author: tommaso
Date: Tue Feb 24 17:18:56 2015
New Revision: 1662032
URL: http://svn.apache.org/r1662032
Log:
OAK-2526 - added consistency check for ns configuration
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfiguration.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfigurationTest.java
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java?rev=1662032&r1=1662031&r2=1662032&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServerProvider.java
Tue Feb 24 17:18:56 2015
@@ -39,24 +39,6 @@ public class NodeStateSolrServerProvider
this.nodeState = nodeState;
}
- private int getIntValueFor(String propertyName, int defaultValue) {
- long value = defaultValue;
- PropertyState property = nodeState.getProperty(propertyName);
- if (property != null) {
- value = property.getValue(Type.LONG);
- }
- return (int) value;
- }
-
- private String getStringValueFor(String propertyName, String defaultValue)
{
- String value = defaultValue;
- PropertyState property = nodeState.getProperty(propertyName);
- if (property != null) {
- value = property.getValue(Type.STRING);
- }
- return value;
- }
-
private void checkProviderInitialization() throws IllegalAccessException,
java.lang.reflect.InvocationTargetException, InstantiationException {
synchronized (nodeState) {
if (provider == null) {
@@ -83,7 +65,6 @@ public class NodeStateSolrServerProvider
return provider.getSearchingSolrServer();
}
-
@Override
public void close() throws IOException {
try {
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfiguration.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfiguration.java?rev=1662032&r1=1662031&r2=1662032&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfiguration.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfiguration.java
Tue Feb 24 17:18:56 2015
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Type;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.OakSolrConfiguration;
import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.SolrServerConfigurationDefaults;
+import org.apache.jackrabbit.oak.plugins.index.solr.query.SolrQueryIndex;
import org.apache.jackrabbit.oak.spi.query.Filter;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -41,6 +42,9 @@ public class OakSolrNodeStateConfigurati
public OakSolrNodeStateConfiguration(NodeState definition) {
this.definition = definition;
+ if (!definition.hasProperty("type") ||
!(SolrQueryIndex.TYPE.equals(definition.getProperty("type").getValue(Type.STRING))))
{
+ throw new IllegalArgumentException("missing or wrong 'type'
property in " + definition);
+ }
}
@Override
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfigurationTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfigurationTest.java?rev=1662032&r1=1662031&r2=1662032&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfigurationTest.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/OakSolrNodeStateConfigurationTest.java
Tue Feb 24 17:18:56 2015
@@ -26,6 +26,7 @@ import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
/**
* Tests for {@link
org.apache.jackrabbit.oak.plugins.index.solr.configuration.nodestate.OakSolrNodeStateConfiguration}
@@ -47,9 +48,8 @@ public class OakSolrNodeStateConfigurati
builder.setChildNode("z");
builder.setChildNode("oak:index").setChildNode("solrIdx")
- .setProperty("coreName", "cn")
- .setProperty("solrHomePath", "sh")
- .setProperty("solrConfigPath", "sc");
+ .setProperty("type", "solr")
+ .setProperty("rows", "100");
store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
@@ -57,24 +57,28 @@ public class OakSolrNodeStateConfigurati
@Test
public void testExistingPath() throws Exception {
NodeState idxDef =
store.getRoot().getChildNode("oak:index").getChildNode("solrIdx");
- OakSolrNodeStateConfiguration fixedNodeStateConfiguration = new
OakSolrNodeStateConfiguration(idxDef);
- assertNotNull(fixedNodeStateConfiguration);
-// assertEquals("sh", configuration.getSolrHomePath()); // property
defined in the node state
-// assertEquals("cn", solrServerConfiguration.getCoreName()); //
property defined in the node state
-// assertEquals("path_exact",
fixedNodeStateConfiguration.getPathField()); // using default as this property
is not defined in the node state
+ OakSolrNodeStateConfiguration nodeStateConfiguration = new
OakSolrNodeStateConfiguration(idxDef);
+ assertNotNull(nodeStateConfiguration.getCatchAllField());
}
@Test
public void testNonExistingPath() throws Exception {
NodeState idxDef =
store.getRoot().getChildNode("oak:index").getChildNode("a");
- OakSolrNodeStateConfiguration fixedNodeStateConfiguration = new
OakSolrNodeStateConfiguration(idxDef);
- assertNotNull(fixedNodeStateConfiguration);
+ try {
+ new OakSolrNodeStateConfiguration(idxDef);
+ } catch (IllegalArgumentException e) {
+ // expected to fail as the NodeState doesn't exist
+ }
}
@Test
public void testWrongNodeState() throws Exception {
- NodeState idxDef = store.getRoot().getChildNode("a");
- OakSolrNodeStateConfiguration fixedNodeStateConfiguration = new
OakSolrNodeStateConfiguration(idxDef);
- assertNotNull(fixedNodeStateConfiguration);
+ NodeState idxDef = store.getRoot().getChildNode("x");
+ try {
+ new OakSolrNodeStateConfiguration(idxDef);
+ fail();
+ } catch (IllegalArgumentException e) {
+ // expected to fail as the NodeState is not a solr node
+ }
}
}