diff --git a/solr-api/pom.xml b/solr-api/pom.xml index c484402..4894a87 100644 --- a/solr-api/pom.xml +++ b/solr-api/pom.xml @@ -6,13 +6,13 @@ com.inteligr8.alfresco asie-platform-module-parent - 1.2-SNAPSHOT + 1.3-SNAPSHOT ../ com.inteligr8 solr-api - 1.0-SNAPSHOT-solr6 + 1.1-SNAPSHOT-solr6 jar Apache Solr JAX-RS API diff --git a/solr-api/src/main/java/com/inteligr8/solr/api/CollectionAdminApi.java b/solr-api/src/main/java/com/inteligr8/solr/api/CollectionAdminApi.java index 96af2f3..472b147 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/api/CollectionAdminApi.java +++ b/solr-api/src/main/java/com/inteligr8/solr/api/CollectionAdminApi.java @@ -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 reload(@BeanParam ReloadRequest request); + ActionResponse reload(@BeanParam ReloadRequest request); @GET @Produces(MediaType.APPLICATION_JSON) diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/ResponseAction.java b/solr-api/src/main/java/com/inteligr8/solr/model/Action.java similarity index 59% rename from solr-api/src/main/java/com/inteligr8/solr/model/ResponseAction.java rename to solr-api/src/main/java/com/inteligr8/solr/model/Action.java index d5d1456..02718a0 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/ResponseAction.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/Action.java @@ -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; - } } diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/ActionResponse.java b/solr-api/src/main/java/com/inteligr8/solr/model/ActionResponse.java index b78ffbc..613058d 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/ActionResponse.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/ActionResponse.java @@ -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 extends BaseResponse { +public class ActionResponse extends BaseResponse { - @JsonProperty(access = Access.READ_ONLY) + @JsonProperty private T action; public T getAction() { diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/BaseResponse.java b/solr-api/src/main/java/com/inteligr8/solr/model/BaseResponse.java index 1e40276..24847bc 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/BaseResponse.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/BaseResponse.java @@ -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; - } } diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/Cores.java b/solr-api/src/main/java/com/inteligr8/solr/model/Cores.java new file mode 100644 index 0000000..3e88023 --- /dev/null +++ b/solr-api/src/main/java/com/inteligr8/solr/model/Cores.java @@ -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 { + + private Map 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); + } + +} diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/Metadata.java b/solr-api/src/main/java/com/inteligr8/solr/model/Metadata.java new file mode 100644 index 0000000..67f11b5 --- /dev/null +++ b/solr-api/src/main/java/com/inteligr8/solr/model/Metadata.java @@ -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 metadata = new HashMap<>(); + + public Map 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); + } + +} diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/ResponseHeader.java b/solr-api/src/main/java/com/inteligr8/solr/model/ResponseHeader.java index 3d76474..bfa9d3f 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/ResponseHeader.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/ResponseHeader.java @@ -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; - } } diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/TransactionResponseStatus.java b/solr-api/src/main/java/com/inteligr8/solr/model/TransactionResponseStatus.java deleted file mode 100644 index 361c756..0000000 --- a/solr-api/src/main/java/com/inteligr8/solr/model/TransactionResponseStatus.java +++ /dev/null @@ -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 transactionIdToDeletedNodeCount; - - @JsonProperty(value = "duplicatedTx", access = Access.READ_ONLY) - private Map transactionIdToDuplicateNodeCount; - - @JsonProperty(value = "missingTx", access = Access.READ_ONLY) - private Map transactionIdToUnindexNodeCount; - - public Map getTransactionIdToDeletedNodeCount() { - return transactionIdToDeletedNodeCount; - } - - protected void setTransactionIdToDeletedNodeCount(Map transactionIdToDeletedNodeCount) { - this.transactionIdToDeletedNodeCount = transactionIdToDeletedNodeCount; - } - - public Map getTransactionIdToDuplicateNodeCount() { - return transactionIdToDuplicateNodeCount; - } - - protected void setTransactionIdToDuplicateNodeCount(Map transactionIdToDuplicateNodeCount) { - this.transactionIdToDuplicateNodeCount = transactionIdToDuplicateNodeCount; - } - - public Map getTransactionIdToUnindexNodeCount() { - return transactionIdToUnindexNodeCount; - } - - protected void setTransactionIdToUnindexNodeCount(Map transactionIdToUnindexNodeCount) { - this.transactionIdToUnindexNodeCount = transactionIdToUnindexNodeCount; - } - -} diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/TransactionStatus.java b/solr-api/src/main/java/com/inteligr8/solr/model/TransactionStatus.java new file mode 100644 index 0000000..733e3fd --- /dev/null +++ b/solr-api/src/main/java/com/inteligr8/solr/model/TransactionStatus.java @@ -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 transactionIdToDeletedNodeCount; + + @JsonProperty(value = "duplicatedTx") + private Map transactionIdToDuplicateNodeCount; + + @JsonProperty(value = "missingTx") + private Map transactionIdToUnindexNodeCount; + + public Map getTransactionIdToDeletedNodeCount() { + return transactionIdToDeletedNodeCount; + } + + public Map getTransactionIdToDuplicateNodeCount() { + return transactionIdToDuplicateNodeCount; + } + + public Map getTransactionIdToUnindexNodeCount() { + return transactionIdToUnindexNodeCount; + } + +} diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/collection/AliasesResponse.java b/solr-api/src/main/java/com/inteligr8/solr/model/collection/AliasesResponse.java index 7d132d1..9593e78 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/collection/AliasesResponse.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/collection/AliasesResponse.java @@ -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 aliases; public Map getAliases() { return aliases; } - - protected void setAliases(Map aliases) { - this.aliases = aliases; - } } diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/core/Status.java b/solr-api/src/main/java/com/inteligr8/solr/model/core/Status.java deleted file mode 100644 index 12d50ff..0000000 --- a/solr-api/src/main/java/com/inteligr8/solr/model/core/Status.java +++ /dev/null @@ -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 cores = new HashMap(); - - @JsonAnyGetter - public Map getCores() { - return cores; - } - - @JsonAnySetter - public void setCore(String core, CoreMetadata metadata) { - this.cores.put(core, metadata); - } - -} diff --git a/solr-api/src/main/java/com/inteligr8/solr/model/core/StatusResponse.java b/solr-api/src/main/java/com/inteligr8/solr/model/core/StatusResponse.java index a74d76d..7eb4e85 100644 --- a/solr-api/src/main/java/com/inteligr8/solr/model/core/StatusResponse.java +++ b/solr-api/src/main/java/com/inteligr8/solr/model/core/StatusResponse.java @@ -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 cores; - public Status getStatus() { - return status; - } - - public void setStatus(Status status) { - this.status = status; + public Cores getCores() { + return cores; } }