diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java index 6705b654569..39cc300fd60 100644 --- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java +++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java @@ -257,15 +257,13 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa for (CommandOperation op : ops) { switch (op.name) { case CREATE: - case MODIFY: case UPDATE: { Map map = op.getDataMap(); if (op.hasError()) break; for (Map.Entry entry : map.entrySet()) { - - Map val = map; + Map val =null; String key = entry.getKey(); if (key == null || key.trim().isEmpty()) { op.addError("null key "); @@ -290,18 +288,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa } MapSolrParams old = params.getParams(key); - if (CREATE.equals(op.name) && (old != null)) { - op.addError(MessageFormat.format("params exist ''{0}'' , use {1}", key, UPDATE)); - break; - } - if (MODIFY.equals(op.name) || UPDATE.equals(op.name)) { - if (old == null) { - op.addError(MessageFormat.format("params ''{0}'' does not exist , use {1}", key, CREATE)); - break; - } - } - - if (op.name.equals(MODIFY)) { + if (op.name.equals(UPDATE)) { LinkedHashMap m = new LinkedHashMap(old.getMap()); m.putAll(val); val = m; @@ -554,8 +541,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa public static final String CREATE_REQHANDLER = "create-requesthandler"; public static final String DELETE_REQHANDLER = "delete-requesthandler"; public static final String UPDATE_REQHANDLER = "update-requesthandler"; - public static final String CREATE = "create"; + public static final String CREATE = "set"; public static final String UPDATE = "update"; - public static final String MODIFY = "modify"; } diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java index 01f5f049e40..2676bbcfac9 100644 --- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java +++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java @@ -85,7 +85,7 @@ public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase { RestTestHarness writeHarness = restTestHarnesses.get(random().nextInt(restTestHarnesses.size())); String payload = " {\n" + - " 'create' : {'x': {" + + " 'set' : {'x': {" + " 'a':'A val',\n" + " 'b': 'B val'}\n" + " }\n" + @@ -167,7 +167,7 @@ public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase { writeHarness = restTestHarnesses.get(random().nextInt(restTestHarnesses.size())); payload = " {\n" + - " 'create' : {'y':{\n" + + " 'set' : {'y':{\n" + " 'c':'CY val',\n" + " 'b': 'BY val'}\n" + " }\n" + @@ -211,7 +211,7 @@ public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase { 5); payload = " {\n" + - " 'modify' : {'y': {\n" + + " 'update' : {'y': {\n" + " 'c':'CY val modified',\n" + " 'e':'EY val',\n" + " 'b': 'BY val'" + @@ -241,7 +241,7 @@ public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase { 10); payload = " {\n" + - " 'update' : {'y': {\n" + + " 'set' : {'y': {\n" + " 'p':'P val',\n" + " 'q': 'Q val'" + "}\n" +