Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/
package org.apache.solr.client.api.endpoint;

import static org.apache.solr.client.api.util.Constants.ADDTL_FIELDS_PROPERTY;
import static org.apache.solr.client.api.util.Constants.GENERIC_ENTITY_PROPERTY;

import io.swagger.v3.oas.annotations.Operation;
Expand Down Expand Up @@ -147,7 +148,12 @@ SchemaDesignerAddResponse addSchemaObject(
SchemaDesignerUpdateResponse updateSchemaObject(
@PathParam("configSet") String configSet,
@QueryParam("schemaVersion") Integer schemaVersion,
SchemaDesignerUpdateRequestBody requestBody)
@RequestBody(
extensions = {
@Extension(
properties = {@ExtensionProperty(name = ADDTL_FIELDS_PROPERTY, value = "true")})
})
SchemaDesignerUpdateRequestBody requestBody)
throws Exception;

@PUT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package org.apache.solr.client.api.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Map;

/**
Expand All @@ -27,19 +26,15 @@
*/
public class SchemaDesignerAddRequestBody {

@Schema(name = "addField")
@JsonProperty("add-field")
public Map<String, Object> addField;

@Schema(name = "addDynamicField")
@JsonProperty("add-dynamic-field")
public Map<String, Object> addDynamicField;

@Schema(name = "addCopyField")
@JsonProperty("add-copy-field")
public Map<String, Object> addCopyField;

@Schema(name = "addFieldType")
@JsonProperty("add-field-type")
public Map<String, Object> addFieldType;
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Map;

Expand All @@ -28,6 +29,7 @@
* indexed}, {@code stored}, {@code analyzer}, {@code copyDest}) are captured via the dynamic {@code
* additionalProperties} map and forwarded to the Schema API.
*/
@Schema(additionalProperties = Schema.AdditionalPropertiesValue.TRUE)
public class SchemaDesignerUpdateRequestBody {

@JsonProperty public String name;
Expand All @@ -36,6 +38,7 @@ public class SchemaDesignerUpdateRequestBody {
// Accessed via @JsonAnyGetter / @JsonAnySetter for JSON (de)serialization.
public Map<String, Object> additionalProperties = new HashMap<>();

@Schema(hidden = true)
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,19 @@
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Map;

@Schema(additionalProperties = Schema.AdditionalPropertiesValue.TRUE)
public class UpsertDynamicFieldOperation extends SchemaChange {
@JsonProperty public String name;
@JsonProperty public String type;

// Used for setting index and stored settings, etc.
private Map<String, Object> additionalProperties = new HashMap<>();

@Schema(hidden = true)
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Map;

@Schema(additionalProperties = Schema.AdditionalPropertiesValue.TRUE)
public class UpsertFieldOperation extends SchemaChange {
@JsonProperty public String name;

Expand All @@ -30,6 +32,7 @@ public class UpsertFieldOperation extends SchemaChange {
// Used for setting index and stored settings, etc.
private Map<String, Object> additionalProperties = new HashMap<>();

@Schema(hidden = true)
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap;
import java.util.Map;

@Schema(additionalProperties = Schema.AdditionalPropertiesValue.TRUE)
public class UpsertFieldTypeOperation extends SchemaChange {
@JsonProperty public String name;

Expand All @@ -31,6 +33,7 @@ public class UpsertFieldTypeOperation extends SchemaChange {
// Used for setting analyzers, index and stored settings, etc.
private Map<String, Object> additionalProperties = new HashMap<>();

@Schema(hidden = true)
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,9 @@ public void testTypedBodyRoundTrip() throws Exception {
var update = new SchemaDesignerApi.UpdateSchemaObject(configSet);
update.setSchemaVersion(schemaVersion);
update.setName("keywords");
update.setAdditionalProperties(Map.of("type", "string", "stored", true, "multiValued", true));
update.setAdditionalProperty("type", "string");
update.setAdditionalProperty("stored", true);
update.setAdditionalProperty("multiValued", true);
SchemaDesignerUpdateResponse updateResp = update.process(cluster.getSolrClient());
assertNotNull(updateResp.field);
assertEquals("field", updateResp.updateType);
Expand Down
6 changes: 3 additions & 3 deletions solr/solrj/src/resources/java-template/api.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,11 @@ public class {{classname}} {
// TODO find a way to add required parameters in the request body to the class constructor
{{#description}}
/**
* @param {{baseName}} {{description}}
* @param {{name}} {{description}}
*/
{{/description}}
public void {{setter}}({{{dataType}}} {{baseName}}) {
this.requestBody.{{baseName}} = {{baseName}};
public void {{setter}}({{{dataType}}} {{name}}) {
this.requestBody.{{name}} = {{name}};
}
{{/vars}}

Expand Down
Loading