You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2016/11/28 14:05:24 UTC
lucene-solr:apiv2: SOLR-8029: add support for #include in spec files
Repository: lucene-solr
Updated Branches:
refs/heads/apiv2 166291751 -> 84695ff71
SOLR-8029: add support for #include in spec files
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/84695ff7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/84695ff7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/84695ff7
Branch: refs/heads/apiv2
Commit: 84695ff71f33716774b85413eced4d42fb26ad09
Parents: 1662917
Author: Noble Paul <no...@apache.org>
Authored: Mon Nov 28 19:35:12 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Mon Nov 28 19:35:12 2016 +0530
----------------------------------------------------------------------
.../src/java/org/apache/solr/api/ApiBag.java | 12 ++-
.../collections.collection.Commands.json | 8 +-
.../src/resources/apispec/core.SchemaEdit.json | 44 ++++++--
...g.Commands.addRequestHandler.properties.json | 19 ++++
.../resources/apispec/core.config.Commands.json | 100 +++++++++----------
.../resources/apispec/cores.core.Commands.json | 2 +-
.../solr/common/util/ValidatingJsonMap.java | 2 +-
7 files changed, 118 insertions(+), 69 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/java/org/apache/solr/api/ApiBag.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/api/ApiBag.java b/solr/core/src/java/org/apache/solr/api/ApiBag.java
index 1f55ed6..9a1da62 100644
--- a/solr/core/src/java/org/apache/solr/api/ApiBag.java
+++ b/solr/core/src/java/org/apache/solr/api/ApiBag.java
@@ -216,10 +216,14 @@ public class ApiBag {
Map commands2BReplaced = new ValidatingJsonMap();
for (Object o : cmds.keySet()) {
Object val = cmds.get(o);
- if (val instanceof String) {
- String s = (String) val;
- ValidatingJsonMap cmdSpec = getResource(APISPEC_LOCATION + s + ".json");
- commands2BReplaced.put(o.toString(), cmdSpec);
+ Map m = (Map) val;
+ String include = (String) m.get("#include");
+ if (include != null) {
+ ValidatingJsonMap cmdSpec = getResource(APISPEC_LOCATION + include + ".json");
+ m = ValidatingJsonMap.getDeepCopy(m, 4, true);
+ m.remove("#include");
+ m.putAll(cmdSpec);
+ commands2BReplaced.put(o.toString(), m);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/resources/apispec/collections.collection.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.Commands.json b/solr/core/src/resources/apispec/collections.collection.Commands.json
index dea722e..dfd11b9 100644
--- a/solr/core/src/resources/apispec/collections.collection.Commands.json
+++ b/solr/core/src/resources/apispec/collections.collection.Commands.json
@@ -10,8 +10,12 @@
]
},
"commands": {
- "modify": "collections.collection.Commands.modify",
- "reload": "collections.collection.Commands.reload",
+ "modify": {
+ "#include": "collections.collection.Commands.modify"
+ },
+ "reload": {
+ "#include": "collections.collection.Commands.reload"
+ },
"migrate-docs":{
"type":"object",
"documentation":"https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api12",
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/resources/apispec/core.SchemaEdit.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.SchemaEdit.json b/solr/core/src/resources/apispec/core.SchemaEdit.json
index ef85751..d3f064f 100644
--- a/solr/core/src/resources/apispec/core.SchemaEdit.json
+++ b/solr/core/src/resources/apispec/core.SchemaEdit.json
@@ -9,16 +9,38 @@
]
},
"commands": {
- "add-field": "core.SchemaEdit.addField",
- "delete-field": "core.SchemaEdit.deleteField",
- "replace-field": "core.SchemaEdit.addField",
- "add-dynamic-field": "core.SchemaEdit.addField",
- "delete-dynamic-field": "core.SchemaEdit.deleteDynamicField",
- "replace-dynamic-field": "core.SchemaEdit.addField",
- "add-field-type": "core.SchemaEdit.addFieldType",
- "delete-field-type": "core.SchemaEdit.deleteFieldType",
- "replace-field-type": "core.SchemaEdit.replaceFieldType",
- "add-copy-field": "core.SchemaEdit.addCopyField",
- "delete-copy-field": "core.SchemaEdit.deleteCopyField"
+ "add-field": {
+ "#include": "core.SchemaEdit.addField"
+ },
+ "delete-field": {
+ "#include": "core.SchemaEdit.deleteField"
+ },
+ "replace-field": {
+ "#include": "core.SchemaEdit.addField"
+ },
+ "add-dynamic-field": {
+ "#include": "core.SchemaEdit.addField"
+ },
+ "delete-dynamic-field": {
+ "#include": "core.SchemaEdit.deleteDynamicField"
+ },
+ "replace-dynamic-field": {
+ "#include": "core.SchemaEdit.addField"
+ },
+ "add-field-type": {
+ "#include": "core.SchemaEdit.addFieldType"
+ },
+ "delete-field-type": {
+ "#include": "core.SchemaEdit.deleteFieldType"
+ },
+ "replace-field-type": {
+ "#include": "core.SchemaEdit.replaceFieldType"
+ },
+ "add-copy-field": {
+ "#include": "core.SchemaEdit.addCopyField"
+ },
+ "delete-copy-field": {
+ "#include": "core.SchemaEdit.deleteCopyField"
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json b/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
new file mode 100644
index 0000000..895d255
--- /dev/null
+++ b/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
@@ -0,0 +1,19 @@
+{
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "class": {
+ "type": "string"
+ },
+ "runtimeLib": {
+ "type": "boolean"
+ },
+ "startup": {
+ "type": "string",
+ "enum": [
+ "lazy"
+ ]
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/resources/apispec/core.config.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.json b/solr/core/src/resources/apispec/core.config.Commands.json
index 6dc8d4a..5aa6c70 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.json
@@ -22,23 +22,7 @@
},
"add-requesthandler": {
"type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "class": {
- "type": "string"
- },
- "runtimeLib": {
- "type": "boolean"
- },
- "startup": {
- "type": "string",
- "enum": [
- "lazy"
- ]
- }
- },
+ "#include":"core.config.Commands.addRequestHandler.properties",
"required": [
"name",
"class"
@@ -47,23 +31,7 @@
},
"update-requesthandler": {
"type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "class": {
- "type": "string"
- },
- "runtimeLib": {
- "type": "boolean"
- },
- "startup": {
- "type": "string",
- "enum": [
- "lazy"
- ]
- }
- },
+ "#include":"core.config.Commands.addRequestHandler.properties",
"required": [
"name"
],
@@ -75,8 +43,12 @@
"type": "string"
}
},
- "add-searchcomponent": "core.config.Commands.generic",
- "update-searchcomponent": "core.config.Commands.generic",
+ "add-searchcomponent": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-searchcomponent": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-searchcomponent": {
"type": "array",
"items": {
@@ -97,45 +69,69 @@
"type": "string"
}
},
- "add-queryresponsewriter": "core.config.Commands.generic",
- "update-queryresponsewriter": "core.config.Commands.generic",
+ "add-queryresponsewriter": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-queryresponsewriter": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-queryresponsewriter": {
"type": "array",
"items": {
"type": "string"
}
},
- "add-queryparser": "core.config.Commands.generic",
- "update-queryparser": "core.config.Commands.generic",
+ "add-queryparser": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-queryparser": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-queryparser": {
"type": "string"
},
- "add-valuesourceparser": "core.config.Commands.generic",
- "update-valuesourceparser": "core.config.Commands.generic",
+ "add-valuesourceparser": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-valuesourceparser": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-valuesourceparser": {
"type": "array",
"items": {
"type": "string"
}
},
- "add-transformer": "core.config.Commands.generic",
- "update-transformer": "core.config.Commands.generic",
+ "add-transformer": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-transformer": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-transformer": {
"type": "array",
"items": {
"type": "string"
}
},
- "add-updateprocessor": "core.config.Commands.generic",
- "update-updateprocessor": "core.config.Commands.generic",
+ "add-updateprocessor": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-updateprocessor": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-updateprocessor": {
"type": "array",
"items": {
"type": "string"
}
},
- "add-queryconverter": "core.config.Commands.generic",
- "update-queryconverter": "core.config.Commands.generic",
+ "add-queryconverter": {
+ "#include": "core.config.Commands.generic"
+ },
+ "update-queryconverter": {
+ "#include": "core.config.Commands.generic"
+ },
"delete-queryconverter": {
"type": "array",
"items": {
@@ -156,8 +152,12 @@
"type": "string"
}
},
- "add-runtimelib": "core.config.Commands.addRuntimeLib",
- "update-runtimelib": "core.config.Commands.updateRuntimeLib",
+ "add-runtimelib": {
+ "#include": "core.config.Commands.addRuntimeLib"
+ },
+ "update-runtimelib": {
+ "#include": "core.config.Commands.updateRuntimeLib"
+ },
"delete-runtimelib": {
"type":"array",
"items": {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/core/src/resources/apispec/cores.core.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/cores.core.Commands.json b/solr/core/src/resources/apispec/cores.core.Commands.json
index ca1fc2e..5ebab70 100644
--- a/solr/core/src/resources/apispec/cores.core.Commands.json
+++ b/solr/core/src/resources/apispec/cores.core.Commands.json
@@ -101,7 +101,7 @@
"additionalProperties": true,
"description": "Internal API"
},
- "split": "cores.core.Commands.split",
+ "split": { "#include": "cores.core.Commands.split"},
"prep-recovery": {
"type": "object",
"additionalProperties": true,
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84695ff7/solr/solrj/src/java/org/apache/solr/common/util/ValidatingJsonMap.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/ValidatingJsonMap.java b/solr/solrj/src/java/org/apache/solr/common/util/ValidatingJsonMap.java
index 61168f4..3ea11bf 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/ValidatingJsonMap.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/ValidatingJsonMap.java
@@ -107,7 +107,7 @@ public class ValidatingJsonMap implements Map<String, Object> {
@Override
public Object remove(Object key) {
- return null;
+ return delegate.remove(key);
}
@Override