Extend Query Langage Support (#2696)
* add option for parser replacement - so, one could replace the query language and don't use RSQL * add easy way to modify query root Node * add easy Node modification utilities * code refactored and naming more 'QL' than 'RSQL' oriented Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -17,7 +17,7 @@ import lombok.Getter;
|
||||
* Sort and search fields for actions.
|
||||
*/
|
||||
@Getter
|
||||
public enum ActionFields implements RsqlQueryField, FieldValueConverter<ActionFields> {
|
||||
public enum ActionFields implements QueryField, FieldValueConverter<ActionFields> {
|
||||
|
||||
ID("id"),
|
||||
STATUS("active"),
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.Getter;
|
||||
* Sort and search fields for action status.
|
||||
*/
|
||||
@Getter
|
||||
public enum ActionStatusFields implements RsqlQueryField {
|
||||
public enum ActionStatusFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
@Deprecated
|
||||
|
||||
@@ -18,7 +18,7 @@ import lombok.Getter;
|
||||
* REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum DistributionSetFields implements RsqlQueryField {
|
||||
public enum DistributionSetFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
TYPE("type",
|
||||
@@ -48,7 +48,7 @@ public enum DistributionSetFields implements RsqlQueryField {
|
||||
|
||||
@Override
|
||||
public String getDefaultSubEntityAttribute() {
|
||||
return this == TYPE ? DistributionSetTypeFields.KEY.getJpaEntityFieldName() : RsqlQueryField.super.getDefaultSubEntityAttribute();
|
||||
return this == TYPE ? DistributionSetTypeFields.KEY.getJpaEntityFieldName() : QueryField.super.getDefaultSubEntityAttribute();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,7 +20,7 @@ import lombok.Getter;
|
||||
* filtering over distribution set fields also.
|
||||
*/
|
||||
@Getter
|
||||
public enum DistributionSetTagFields implements RsqlQueryField {
|
||||
public enum DistributionSetTagFields implements QueryField {
|
||||
|
||||
ID(TagFields.ID.getJpaEntityFieldName()),
|
||||
NAME(TagFields.NAME.getJpaEntityFieldName()),
|
||||
|
||||
@@ -16,7 +16,7 @@ import lombok.Getter;
|
||||
* the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum DistributionSetTypeFields implements RsqlQueryField {
|
||||
public enum DistributionSetTypeFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
KEY("key"),
|
||||
|
||||
@@ -16,9 +16,9 @@ import java.util.Map;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* An RSQL query field interface extended by all the fields that could be used in RSQL queries.
|
||||
* A query field interface extended by all the fields that could be used in queries.
|
||||
*/
|
||||
public interface RsqlQueryField {
|
||||
public interface QueryField {
|
||||
|
||||
/**
|
||||
* Separator for the sub attributes
|
||||
@@ -17,7 +17,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the Rollout model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum RolloutFields implements RsqlQueryField {
|
||||
public enum RolloutFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
NAME("name"),
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the RolloutGroup model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum RolloutGroupFields implements RsqlQueryField {
|
||||
public enum RolloutGroupFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
NAME("name"),
|
||||
|
||||
@@ -17,7 +17,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the SoftwareModule model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum SoftwareModuleFields implements RsqlQueryField {
|
||||
public enum SoftwareModuleFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
TYPE("type",
|
||||
@@ -44,7 +44,7 @@ public enum SoftwareModuleFields implements RsqlQueryField {
|
||||
|
||||
@Override
|
||||
public String getDefaultSubEntityAttribute() {
|
||||
return this == TYPE ? SoftwareModuleTypeFields.KEY.getJpaEntityFieldName() : RsqlQueryField.super.getDefaultSubEntityAttribute();
|
||||
return this == TYPE ? SoftwareModuleTypeFields.KEY.getJpaEntityFieldName() : QueryField.super.getDefaultSubEntityAttribute();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the SoftwareModuleType model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum SoftwareModuleTypeFields implements RsqlQueryField {
|
||||
public enum SoftwareModuleTypeFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
KEY("key"),
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the Tag model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum TagFields implements RsqlQueryField {
|
||||
public enum TagFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
NAME("name"),
|
||||
|
||||
@@ -18,7 +18,7 @@ import lombok.Getter;
|
||||
* e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum TargetFields implements RsqlQueryField {
|
||||
public enum TargetFields implements QueryField {
|
||||
|
||||
ID("controllerId"),
|
||||
NAME("name"),
|
||||
@@ -62,7 +62,7 @@ public enum TargetFields implements RsqlQueryField {
|
||||
|
||||
@Override
|
||||
public String getDefaultSubEntityAttribute() {
|
||||
return this == TYPE ? TargetTypeFields.KEY.getJpaEntityFieldName() : RsqlQueryField.super.getDefaultSubEntityAttribute();
|
||||
return this == TYPE ? TargetTypeFields.KEY.getJpaEntityFieldName() : QueryField.super.getDefaultSubEntityAttribute();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,7 +18,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the Target model which can be used in the REST API e.g. for sorting etc.
|
||||
*/
|
||||
@Getter
|
||||
public enum TargetFilterQueryFields implements RsqlQueryField {
|
||||
public enum TargetFilterQueryFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
NAME("name"),
|
||||
|
||||
@@ -16,7 +16,7 @@ import lombok.Getter;
|
||||
* Additionally, here were added fields for Target in order filtering over target fields also.
|
||||
*/
|
||||
@Getter
|
||||
public enum TargetTagFields implements RsqlQueryField {
|
||||
public enum TargetTagFields implements QueryField {
|
||||
|
||||
ID(TagFields.ID.getJpaEntityFieldName()),
|
||||
NAME(TagFields.NAME.getJpaEntityFieldName()),
|
||||
|
||||
@@ -15,7 +15,7 @@ import lombok.Getter;
|
||||
* Describing the fields of the TargetType model which can be used in the REST API
|
||||
*/
|
||||
@Getter
|
||||
public enum TargetTypeFields implements RsqlQueryField {
|
||||
public enum TargetTypeFields implements QueryField {
|
||||
|
||||
ID("id"),
|
||||
KEY("key"),
|
||||
|
||||
Reference in New Issue
Block a user