fix Solr response model

This commit is contained in:
2025-02-28 16:58:36 -05:00
parent 35bae4283d
commit 75e25577b7
13 changed files with 101 additions and 121 deletions

View File

@@ -6,13 +6,13 @@
<parent>
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>asie-platform-module-parent</artifactId>
<version>1.2-SNAPSHOT</version>
<version>1.3-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
<groupId>com.inteligr8</groupId>
<artifactId>solr-api</artifactId>
<version>1.0-SNAPSHOT-solr6</version>
<version>1.1-SNAPSHOT-solr6</version>
<packaging>jar</packaging>
<name>Apache Solr JAX-RS API</name>

View File

@@ -1,7 +1,7 @@
package com.inteligr8.solr.api;
import com.inteligr8.solr.model.ActionResponse;
import com.inteligr8.solr.model.ResponseAction;
import com.inteligr8.solr.model.Action;
import com.inteligr8.solr.model.collection.AliasesResponse;
import com.inteligr8.solr.model.collection.GetAliasesRequest;
import com.inteligr8.solr.model.core.ReloadRequest;
@@ -17,7 +17,7 @@ public interface CollectionAdminApi {
@GET
@Produces(MediaType.APPLICATION_JSON)
ActionResponse<ResponseAction> reload(@BeanParam ReloadRequest request);
ActionResponse<Action> reload(@BeanParam ReloadRequest request);
@GET
@Produces(MediaType.APPLICATION_JSON)

View File

@@ -2,10 +2,9 @@ package com.inteligr8.solr.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResponseAction {
public class Action {
public enum Status {
@JsonProperty("success")
@@ -16,26 +15,18 @@ public class ResponseAction {
Error,
}
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty
private Status status;
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty
private String errorMessage;
public Status getStatus() {
return status;
}
protected void setStatus(Status status) {
this.status = status;
}
public String getErrorMessage() {
return errorMessage;
}
protected void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}

View File

@@ -2,12 +2,11 @@ package com.inteligr8.solr.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ActionResponse<T extends ResponseAction> extends BaseResponse {
public class ActionResponse<T extends Action> extends BaseResponse {
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty
private T action;
public T getAction() {

View File

@@ -2,20 +2,15 @@ package com.inteligr8.solr.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
@JsonIgnoreProperties(ignoreUnknown = true)
public class BaseResponse {
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty(required = true)
private ResponseHeader responseHeader;
public ResponseHeader getResponseHeader() {
return responseHeader;
}
protected void setResponseHeader(ResponseHeader responseHeader) {
this.responseHeader = responseHeader;
}
}

View File

@@ -0,0 +1,23 @@
package com.inteligr8.solr.model;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Cores<T> {
private Map<String, T> cores = new HashMap<>();
public T getByCore(String core) {
return cores.get(core);
}
@JsonAnySetter
public void addCore(String core, T value) {
this.cores.put(core, value);
}
}

View File

@@ -0,0 +1,27 @@
package com.inteligr8.solr.model;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Metadata {
private Map<String, Object> metadata = new HashMap<>();
public Map<String, Object> getAll() {
return this.metadata;
}
public Object getByField(String field) {
return this.metadata.get(field);
}
@JsonAnySetter
public void setMetadata(String field, Object value) {
this.metadata.put(field, value);
}
}

View File

@@ -2,31 +2,22 @@ package com.inteligr8.solr.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResponseHeader {
@JsonProperty(value = "QTime", access = Access.READ_ONLY)
@JsonProperty(value = "QTime", required = true)
private long executionTimeInMilliseconds;
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty(required = true)
private int status;
public long getExecutionTimeInMilliseconds() {
return executionTimeInMilliseconds;
}
protected void setExecutionTimeInMilliseconds(long executionTimeInMilliseconds) {
this.executionTimeInMilliseconds = executionTimeInMilliseconds;
}
public int getStatus() {
return status;
}
protected void setStatus(int status) {
this.status = status;
}
}

View File

@@ -1,45 +0,0 @@
package com.inteligr8.solr.model;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
@JsonIgnoreProperties(ignoreUnknown = true)
public class TransactionResponseStatus {
@JsonProperty(value = "txInIndexNotInDb", access = Access.READ_ONLY)
private Map<String, Long> transactionIdToDeletedNodeCount;
@JsonProperty(value = "duplicatedTx", access = Access.READ_ONLY)
private Map<String, Long> transactionIdToDuplicateNodeCount;
@JsonProperty(value = "missingTx", access = Access.READ_ONLY)
private Map<String, Long> transactionIdToUnindexNodeCount;
public Map<String, Long> getTransactionIdToDeletedNodeCount() {
return transactionIdToDeletedNodeCount;
}
protected void setTransactionIdToDeletedNodeCount(Map<String, Long> transactionIdToDeletedNodeCount) {
this.transactionIdToDeletedNodeCount = transactionIdToDeletedNodeCount;
}
public Map<String, Long> getTransactionIdToDuplicateNodeCount() {
return transactionIdToDuplicateNodeCount;
}
protected void setTransactionIdToDuplicateNodeCount(Map<String, Long> transactionIdToDuplicateNodeCount) {
this.transactionIdToDuplicateNodeCount = transactionIdToDuplicateNodeCount;
}
public Map<String, Long> getTransactionIdToUnindexNodeCount() {
return transactionIdToUnindexNodeCount;
}
protected void setTransactionIdToUnindexNodeCount(Map<String, Long> transactionIdToUnindexNodeCount) {
this.transactionIdToUnindexNodeCount = transactionIdToUnindexNodeCount;
}
}

View File

@@ -0,0 +1,32 @@
package com.inteligr8.solr.model;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public class TransactionStatus {
@JsonProperty(value = "txInIndexNotInDb")
private Map<String, Long> transactionIdToDeletedNodeCount;
@JsonProperty(value = "duplicatedTx")
private Map<String, Long> transactionIdToDuplicateNodeCount;
@JsonProperty(value = "missingTx")
private Map<String, Long> transactionIdToUnindexNodeCount;
public Map<String, Long> getTransactionIdToDeletedNodeCount() {
return transactionIdToDeletedNodeCount;
}
public Map<String, Long> getTransactionIdToDuplicateNodeCount() {
return transactionIdToDuplicateNodeCount;
}
public Map<String, Long> getTransactionIdToUnindexNodeCount() {
return transactionIdToUnindexNodeCount;
}
}

View File

@@ -4,21 +4,16 @@ import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
import com.inteligr8.solr.model.BaseResponse;
@JsonIgnoreProperties(ignoreUnknown = true)
public class AliasesResponse extends BaseResponse {
@JsonProperty(access = Access.READ_ONLY)
@JsonProperty
private Map<String, String> aliases;
public Map<String, String> getAliases() {
return aliases;
}
protected void setAliases(Map<String, String> aliases) {
this.aliases = aliases;
}
}

View File

@@ -1,26 +0,0 @@
package com.inteligr8.solr.model.core;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.inteligr8.solr.model.CoreMetadata;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Status {
private Map<String, CoreMetadata> cores = new HashMap<String, CoreMetadata>();
@JsonAnyGetter
public Map<String, CoreMetadata> getCores() {
return cores;
}
@JsonAnySetter
public void setCore(String core, CoreMetadata metadata) {
this.cores.put(core, metadata);
}
}

View File

@@ -3,19 +3,17 @@ package com.inteligr8.solr.model.core;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.solr.model.BaseResponse;
import com.inteligr8.solr.model.CoreMetadata;
import com.inteligr8.solr.model.Cores;
@JsonIgnoreProperties(ignoreUnknown = true)
public class StatusResponse extends BaseResponse {
@JsonProperty
private Status status;
@JsonProperty(value = "status", required = true)
private Cores<CoreMetadata> cores;
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
public Cores<CoreMetadata> getCores() {
return cores;
}
}