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
+        }
     }
 }


Reply via email to