diff --git a/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketDataChangedListenerTest.java b/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketDataChangedListenerTest.java index b8a38fca71c2..27721ffa99f5 100644 --- a/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketDataChangedListenerTest.java +++ b/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketDataChangedListenerTest.java @@ -72,8 +72,8 @@ public void before() { */ @Test public void testOnPluginChanged() { - String message = "{\"groupType\":\"PLUGIN\",\"eventType\":\"UPDATE\",\"data\":[{\"id\":\"2\",\"name\":\"waf\"," - + "\"config\":\"{\\\\\\\"model\\\\\\\":\\\\\\\"black\\\\\\\"}\",\"role\":\"1\",\"enabled\":true,\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; + String message = "{\"groupType\":\"PLUGIN\",\"eventType\":\"UPDATE\",\"data\":[{\"config\":\"{\\\\\\\"model\\\\\\\":\\\\\\\"black\\\\\\\"}\"," + + "\"role\":\"1\",\"id\":\"2\",\"name\":\"waf\",\"enabled\":true,\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; MockedStatic.Verification verification = () -> WebsocketCollector.send(Constants.SYS_DEFAULT_NAMESPACE_ID, message, DataEventTypeEnum.UPDATE); try (MockedStatic mockedStatic = mockStatic(WebsocketCollector.class)) { mockedStatic.when(verification).thenAnswer((Answer) invocation -> null); @@ -88,19 +88,25 @@ public void testOnPluginChanged() { @Test public void testOnSelectorChanged() { String message = "{\"groupType\":\"SELECTOR\",\"eventType\":\"UPDATE\",\"data\":" - + "[{\"id\":\"1336329408516136960\",\"pluginId\":\"5\",\"pluginName\":\"divide\",\"name\":" - + "\"/http\",\"matchMode\":0,\"type\":1,\"sort\":1,\"enabled\":true,\"logged\":true," + + "[{\"pluginId\":\"5\",\"pluginName\":\"divide\"," + + "\"matchMode\":0,\"type\":1,\"logged\":true," + "\"continued\":true,\"handle\":\"[{\\\\\\\"upstreamHost\\\\\\\":\\\\\\\"localhost\\\\\\\"," + "\\\\\\\"protocol\\\\\\\":\\\\\\\"http://\\\\\\\",\\\\\\\"upstreamUrl\\\\\\\":" + "\\\\\\\"127.0.0.1:8187\\\\\\\",\\\\\\\"weight\\\\\\\":\\\\\\\"51\\\\\\\"}," + "{\\\\\\\"upstreamHost\\\\\\\":\\\\\\\"localhost\\\\\\\",\\\\\\\"protocol\\\\\\\":" + "\\\\\\\"http://\\\\\\\",\\\\\\\"upstreamUrl\\\\\\\":\\\\\\\"127.0.0.1:8188\\\\\\\"," + "\\\\\\\"weight\\\\\\\":\\\\\\\"49\\\\\\\"}]\",\"conditionList\":[{\"paramType\":\"uri\"," - + "\"operator\":\"match\",\"paramName\":\"/\",\"paramValue\":\"/http/**\"}],\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; + + "\"operator\":\"match\",\"paramName\":\"/\",\"paramValue\":\"/http/**\"}],\"id\":\"1336329408516136960\"," + + "\"name\":\"/http\",\"enabled\":true,\"sort\":1,\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; MockedStatic.Verification verification = () -> WebsocketCollector.send(Constants.SYS_DEFAULT_NAMESPACE_ID, message, DataEventTypeEnum.UPDATE); + try (MockedStatic mockedStatic = mockStatic(WebsocketCollector.class)) { mockedStatic.when(verification).thenAnswer((Answer) invocation -> null); + + // 调用被测试的方法 websocketDataChangedListener.onSelectorChanged(selectorDataList, DataEventTypeEnum.UPDATE); + + // 验证 mockedStatic.verify(verification); } } @@ -110,12 +116,13 @@ public void testOnSelectorChanged() { */ @Test public void testOnRuleChanged() { - String message = "{\"groupType\":\"RULE\",\"eventType\":\"UPDATE\",\"data\":[{\"id\":\"1336350040008105984\"," - + "\"name\":\"test\",\"pluginName\":\"waf\",\"selectorId\":\"1336349806465064960\"," - + "\"matchMode\":1,\"sort\":1,\"enabled\":true,\"loged\":true,\"handle\":" + String message = "{\"groupType\":\"RULE\",\"eventType\":\"UPDATE\",\"data\":[{" + + "\"pluginName\":\"waf\",\"selectorId\":\"1336349806465064960\"," + + "\"matchMode\":1,\"loged\":true,\"handle\":" + "\"{\\\\\\\"permission\\\\\\\":\\\\\\\"reject\\\\\\\",\\\\\\\"statusCode\\\\\\\":" + "\\\\\\\"503\\\\\\\"}\",\"conditionDataList\":[{\"paramType\":\"header\",\"operator\":" - + "\"\\u003d\",\"paramName\":\"test\",\"paramValue\":\"a\"}],\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; + + "\"\\u003d\",\"paramName\":\"test\",\"paramValue\":\"a\"}],\"id\":\"1336350040008105984\",\"name\":\"test\"," + + "\"enabled\":true,\"sort\":1,\"namespaceId\":\"649330b6-c2d7-4edc-be8e-8a54df9eb385\"}]}"; MockedStatic.Verification verification = () -> WebsocketCollector.send(Constants.SYS_DEFAULT_NAMESPACE_ID, message, DataEventTypeEnum.UPDATE); try (MockedStatic mockedStatic = mockStatic(WebsocketCollector.class)) { mockedStatic.when(verification).thenAnswer((Answer) invocation -> null); diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/BaseData.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/BaseData.java new file mode 100644 index 000000000000..65fc3a0e3660 --- /dev/null +++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/BaseData.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.shenyu.common.dto; + +/** + * Base class for common data transfer objects. + * Contains common fields shared across SelectorData, RuleData, and PluginData. + */ + +public class BaseData { + + /** + * primary key id. + */ + private String id; + + /** + * name. + */ + private String name; + + /** + * whether enabled. + */ + private Boolean enabled; + + /** + * sort order. + */ + private Integer sort; + + /** + * namespace id. + */ + private String namespaceId; + + /** + * get id. + * + * @return id + */ + public String getId() { + return id; + } + + /** + * set id. + * + * @param id id + * @return this + */ + public BaseData setId(final String id) { + this.id = id; + return this; + } + + /** + * get name. + * + * @return name + */ + public String getName() { + return name; + } + + /** + * set name. + * + * @param name name + * @return this + */ + public BaseData setName(final String name) { + this.name = name; + return this; + } + + /** + * get enabled. + * + * @return enabled + */ + public Boolean getEnabled() { + return enabled; + } + + /** + * set enabled. + * + * @param enabled enabled + * @return this + */ + public BaseData setEnabled(final Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * get sort. + * + * @return sort + */ + public Integer getSort() { + return sort; + } + + /** + * set sort. + * + * @param sort sort + * @return this + */ + public BaseData setSort(final Integer sort) { + this.sort = sort; + return this; + } + + /** + * get namespaceId. + * + * @return namespaceId + */ + public String getNamespaceId() { + return namespaceId; + } + + /** + * set namespaceId. + * + * @param namespaceId namespaceId + * @return this + */ + public BaseData setNamespaceId(final String namespaceId) { + this.namespaceId = namespaceId; + return this; + } +} diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/PluginData.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/PluginData.java index 1ed11aa14acd..a93e39e3f6b9 100644 --- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/PluginData.java +++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/PluginData.java @@ -24,24 +24,14 @@ * * @since 2.0.0 */ -public class PluginData { - - private String id; - - private String name; +public class PluginData extends BaseData { private String config; private String role; - private Boolean enabled; - - private Integer sort; - private String pluginJar; - private String namespaceId; - /** * no args constructor. */ @@ -58,11 +48,11 @@ public PluginData() { * @param enabled enabled */ public PluginData(final String id, final String name, final String config, final String role, final Boolean enabled, final String pluginJar) { - this.id = id; - this.name = name; + this.setId(id); + this.setName(name); this.config = config; this.role = role; - this.enabled = enabled; + this.setEnabled(enabled); this.pluginJar = pluginJar; } @@ -78,30 +68,15 @@ public PluginData(final String id, final String name, final String config, final */ public PluginData(final String id, final String name, final String config, final String role, final Boolean enabled, final Integer sort, final String pluginJar) { - this.id = id; - this.name = name; + this.setId(id); + this.setName(name); this.config = config; this.role = role; - this.enabled = enabled; - this.sort = sort; + this.setEnabled(enabled); + this.setSort(sort); this.pluginJar = pluginJar; } - /** - * builder constructor. - * - * @param builder builder - */ - private PluginData(final Builder builder) { - this.id = builder.id; - this.name = builder.name; - this.config = builder.config; - this.role = builder.role; - this.enabled = builder.enabled; - this.sort = builder.sort; - this.pluginJar = builder.pluginJar; - } - /** * all args constructor. * @@ -113,14 +88,14 @@ private PluginData(final Builder builder) { * @param sort sort */ public PluginData(final String id, final String name, final String config, final String role, final Boolean enabled, final Integer sort, final String pluginJar, final String namespaceId) { - this.id = id; - this.name = name; + this.setId(id); + this.setName(name); this.config = config; this.role = role; - this.enabled = enabled; - this.sort = sort; + this.setEnabled(enabled); + this.setSort(sort); this.pluginJar = pluginJar; - this.namespaceId = namespaceId; + this.setNamespaceId(namespaceId); } /** @@ -132,42 +107,6 @@ public static Builder builder() { return new Builder(); } - /** - * get id. - * - * @return id - */ - public String getId() { - return id; - } - - /** - * set id. - * - * @param id id - */ - public void setId(final String id) { - this.id = id; - } - - /** - * get name. - * - * @return name - */ - public String getName() { - return name; - } - - /** - * set name. - * - * @param name name - */ - public void setName(final String name) { - this.name = name; - } - /** * get config. * @@ -204,15 +143,6 @@ public void setRole(final String role) { this.role = role; } - /** - * get enabled. - * - * @return enabled - */ - public Boolean getEnabled() { - return enabled; - } - /** * get pluginJar. * @@ -231,52 +161,6 @@ public void setPluginJar(final String pluginJar) { this.pluginJar = pluginJar; } - /** - * get sort. - * - * @return enabled - */ - public Integer getSort() { - return sort; - } - - - /** - * set sort. - * - * @param sort sort value - */ - public void setSort(final Integer sort) { - this.sort = sort; - } - - /** - * set enabled. - * - * @param enabled enabled - */ - public void setEnabled(final Boolean enabled) { - this.enabled = enabled; - } - - /** - * get namespaceId. - * - * @return namespaceId - */ - public String getNamespaceId() { - return namespaceId; - } - - /** - * set namespaceId. - * - * @param namespaceId namespaceId - */ - public void setNamespaceId(final String namespaceId) { - this.namespaceId = namespaceId; - } - @Override public boolean equals(final Object o) { if (this == o) { @@ -286,14 +170,14 @@ public boolean equals(final Object o) { return false; } PluginData that = (PluginData) o; - return Objects.equals(id, that.id) && Objects.equals(name, that.name) && Objects.equals(config, that.config) - && Objects.equals(role, that.role) && Objects.equals(enabled, that.enabled) && Objects.equals(sort, that.sort) - && Objects.equals(pluginJar, that.pluginJar) && Objects.equals(namespaceId, that.namespaceId); + return Objects.equals(getId(), that.getId()) && Objects.equals(getName(), that.getName()) && Objects.equals(config, that.config) + && Objects.equals(role, that.role) && Objects.equals(getEnabled(), that.getEnabled()) && Objects.equals(getSort(), that.getSort()) + && Objects.equals(pluginJar, that.pluginJar) && Objects.equals(getNamespaceId(), that.getNamespaceId()); } @Override public int hashCode() { - return Objects.hash(id, name, config, role, enabled, sort, pluginJar, namespaceId); + return Objects.hash(getId(), getName(), config, role, getEnabled(), getSort(), pluginJar, getNamespaceId()); } public static final class Builder { diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/RuleData.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/RuleData.java index 2e2efa05d4f6..ec3fef65f616 100644 --- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/RuleData.java +++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/RuleData.java @@ -25,11 +25,7 @@ * * @since 2.0.0 */ -public class RuleData { - - private String id; - - private String name; +public class RuleData extends BaseData { private String pluginName; @@ -40,10 +36,6 @@ public class RuleData { */ private Integer matchMode; - private Integer sort; - - private Boolean enabled; - private Boolean loged; /** @@ -59,11 +51,6 @@ public class RuleData { * match restful. */ private Boolean matchRestful; - - /** - * namespaceId. - */ - private String namespaceId; /** * no args constructor. @@ -77,19 +64,19 @@ public RuleData() { * @param builder builder */ private RuleData(final Builder builder) { - this.id = builder.id; - this.name = builder.name; + this.setId(builder.id); + this.setName(builder.name); this.pluginName = builder.pluginName; this.selectorId = builder.selectorId; this.matchMode = builder.matchMode; - this.sort = builder.sort; - this.enabled = builder.enabled; + this.setSort(builder.sort); + this.setEnabled(builder.enabled); this.loged = builder.loged; this.handle = builder.handle; this.conditionDataList = builder.conditionDataList; this.beforeConditionDataList = builder.beforeConditionDataList; this.matchRestful = builder.matchRestful; - this.namespaceId = builder.namespaceId; + this.setNamespaceId(builder.namespaceId); } /** @@ -102,32 +89,34 @@ public static Builder builder() { } /** - * get id. + * get pluginName. * - * @return id + * @return pluginName */ - public String getId() { - return id; + public String getPluginName() { + return pluginName; } /** - * set id. + * set pluginName. * - * @param id id + * @param pluginName pluginName * @return this */ - public RuleData setId(final String id) { - this.id = id; + public RuleData setPluginName(final String pluginName) { + this.pluginName = pluginName; return this; } /** - * get name. + * set id. * - * @return name + * @param id id + * @return this */ - public String getName() { - return name; + public RuleData setId(final String id) { + super.setId(id); + return this; } /** @@ -137,27 +126,40 @@ public String getName() { * @return this */ public RuleData setName(final String name) { - this.name = name; + super.setName(name); return this; } /** - * get pluginName. + * set sort. * - * @return pluginName + * @param sort sort + * @return this */ - public String getPluginName() { - return pluginName; + public RuleData setSort(final Integer sort) { + super.setSort(sort); + return this; } /** - * set pluginName. + * set enabled. * - * @param pluginName pluginName + * @param enabled enabled * @return this */ - public RuleData setPluginName(final String pluginName) { - this.pluginName = pluginName; + public RuleData setEnabled(final Boolean enabled) { + super.setEnabled(enabled); + return this; + } + + /** + * set namespaceId. + * + * @param namespaceId namespaceId + * @return this + */ + public RuleData setNamespaceId(final String namespaceId) { + super.setNamespaceId(namespaceId); return this; } @@ -201,46 +203,6 @@ public RuleData setMatchMode(final Integer matchMode) { return this; } - /** - * get sort. - * - * @return sort - */ - public Integer getSort() { - return sort; - } - - /** - * set sort. - * - * @param sort sort - * @return this - */ - public RuleData setSort(final Integer sort) { - this.sort = sort; - return this; - } - - /** - * get enabled. - * - * @return enabled - */ - public Boolean getEnabled() { - return enabled; - } - - /** - * set enabled. - * - * @param enabled enabled - * @return this - */ - public RuleData setEnabled(final Boolean enabled) { - this.enabled = enabled; - return this; - } - /** * get loged. * @@ -337,22 +299,6 @@ public void setMatchRestful(final Boolean matchRestful) { this.matchRestful = matchRestful; } - /** - * get namespaceId. - * @return namespaceId - */ - public String getNamespaceId() { - return namespaceId; - } - - /** - * set namespaceId. - * @param namespaceId namespaceId - */ - public void setNamespaceId(final String namespaceId) { - this.namespaceId = namespaceId; - } - @Override public boolean equals(final Object o) { if (this == o) { @@ -362,35 +308,35 @@ public boolean equals(final Object o) { return false; } final RuleData ruleData = (RuleData) o; - return Objects.equals(id, ruleData.id) - && Objects.equals(name, ruleData.name) + return Objects.equals(getId(), ruleData.getId()) + && Objects.equals(getName(), ruleData.getName()) && Objects.equals(pluginName, ruleData.pluginName) && Objects.equals(selectorId, ruleData.selectorId) && Objects.equals(matchMode, ruleData.matchMode) - && Objects.equals(sort, ruleData.sort) - && Objects.equals(enabled, ruleData.enabled) + && Objects.equals(getSort(), ruleData.getSort()) + && Objects.equals(getEnabled(), ruleData.getEnabled()) && Objects.equals(loged, ruleData.loged) && Objects.equals(handle, ruleData.handle) && Objects.equals(conditionDataList, ruleData.conditionDataList) && Objects.equals(beforeConditionDataList, ruleData.beforeConditionDataList) && Objects.equals(matchRestful, ruleData.matchRestful) - && Objects.equals(namespaceId, ruleData.namespaceId); + && Objects.equals(getNamespaceId(), ruleData.getNamespaceId()); } @Override public int hashCode() { - return Objects.hash(id, name, pluginName, selectorId, matchMode, sort, enabled, loged, handle, conditionDataList, - beforeConditionDataList, matchRestful, namespaceId); + return Objects.hash(getId(), getName(), pluginName, selectorId, matchMode, getSort(), getEnabled(), loged, handle, conditionDataList, + beforeConditionDataList, matchRestful, getNamespaceId()); } @Override public String toString() { return "RuleData{" + "id='" - + id + + getId() + '\'' + ", name='" - + name + + getName() + '\'' + ", pluginName='" + pluginName @@ -401,9 +347,9 @@ public String toString() { + ", matchMode=" + matchMode + ", sort=" - + sort + + getSort() + ", enabled=" - + enabled + + getEnabled() + ", loged=" + loged + ", handle='" diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/SelectorData.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/SelectorData.java index 616154c1a1c6..c6aec37add82 100644 --- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/SelectorData.java +++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/SelectorData.java @@ -25,9 +25,7 @@ * * @since 2.0.0 */ -public class SelectorData { - - private String id; +public class SelectorData extends BaseData { private String pluginId; @@ -36,8 +34,6 @@ public class SelectorData { */ private String pluginName; - private String name; - /** * matchMode(0 and 1 or). */ @@ -48,10 +44,6 @@ public class SelectorData { */ private Integer type; - private Integer sort; - - private Boolean enabled; - private Boolean logged; private Boolean continued = Boolean.TRUE; @@ -67,11 +59,6 @@ public class SelectorData { */ private Boolean matchRestful; - /** - * namespaceId. - */ - private String namespaceId; - /** * no args constructor. */ @@ -84,21 +71,21 @@ public SelectorData() { * @param builder builder */ private SelectorData(final Builder builder) { - this.id = builder.id; + this.setId(builder.id); this.pluginId = builder.pluginId; this.pluginName = builder.pluginName; - this.name = builder.name; + this.setName(builder.name); this.matchMode = builder.matchMode; this.type = builder.type; - this.sort = builder.sort; - this.enabled = builder.enabled; + this.setSort(builder.sort); + this.setEnabled(builder.enabled); this.logged = builder.logged; this.continued = builder.continued; this.handle = builder.handle; this.conditionList = builder.conditionList; this.matchRestful = builder.matchRestful; this.beforeConditionList = builder.beforeConditionList; - this.namespaceId = builder.namespaceId; + this.setNamespaceId(builder.namespaceId); } /** @@ -110,24 +97,6 @@ public static Builder builder() { return new Builder(); } - /** - * get id. - * - * @return id - */ - public String getId() { - return id; - } - - /** - * set id. - * - * @param id id - */ - public void setId(final String id) { - this.id = id; - } - /** * get pluginId. * @@ -164,24 +133,6 @@ public void setPluginName(final String pluginName) { this.pluginName = pluginName; } - /** - * get name. - * - * @return name - */ - public String getName() { - return name; - } - - /** - * set name. - * - * @param name name - */ - public void setName(final String name) { - this.name = name; - } - /** * get matchMode. * @@ -218,42 +169,6 @@ public void setType(final Integer type) { this.type = type; } - /** - * get sort. - * - * @return sort - */ - public Integer getSort() { - return sort; - } - - /** - * set sort. - * - * @param sort sort - */ - public void setSort(final Integer sort) { - this.sort = sort; - } - - /** - * get enabled. - * - * @return enabled - */ - public Boolean getEnabled() { - return enabled; - } - - /** - * set enabled. - * - * @param enabled enabled - */ - public void setEnabled(final Boolean enabled) { - this.enabled = enabled; - } - /** * get logged. * @@ -365,24 +280,6 @@ public void setBeforeConditionList(final List beforeConditionList this.beforeConditionList = beforeConditionList; } - /** - * get namespaceId. - * - * @return namespaceId - */ - public String getNamespaceId() { - return namespaceId; - } - - /** - * set namespaceId. - * - * @param namespaceId namespaceId - */ - public void setNamespaceId(final String namespaceId) { - this.namespaceId = namespaceId; - } - @Override public boolean equals(final Object o) { if (this == o) { @@ -392,24 +289,25 @@ public boolean equals(final Object o) { return false; } SelectorData that = (SelectorData) o; - return Objects.equals(id, that.id) && Objects.equals(pluginId, that.pluginId) && Objects.equals(pluginName, that.pluginName) - && Objects.equals(name, that.name) && Objects.equals(matchMode, that.matchMode) && Objects.equals(type, that.type) - && Objects.equals(sort, that.sort) && Objects.equals(enabled, that.enabled) && Objects.equals(logged, that.logged) + return Objects.equals(getId(), that.getId()) && Objects.equals(pluginId, that.pluginId) && Objects.equals(pluginName, that.pluginName) + && Objects.equals(getName(), that.getName()) && Objects.equals(matchMode, that.matchMode) && Objects.equals(type, that.type) + && Objects.equals(getSort(), that.getSort()) && Objects.equals(getEnabled(), that.getEnabled()) && Objects.equals(logged, that.logged) && Objects.equals(continued, that.continued) && Objects.equals(handle, that.handle) && Objects.equals(conditionList, that.conditionList) && Objects.equals(beforeConditionList, that.beforeConditionList) && Objects.equals(matchRestful, that.matchRestful) - && Objects.equals(namespaceId, that.namespaceId); + && Objects.equals(getNamespaceId(), that.getNamespaceId()); } @Override public int hashCode() { - return Objects.hash(id, pluginId, pluginName, name, matchMode, type, sort, enabled, logged, continued, handle, conditionList, beforeConditionList, matchRestful, namespaceId); + return Objects.hash(getId(), pluginId, pluginName, getName(), matchMode, type, getSort(), getEnabled(), logged, continued, handle, + conditionList, beforeConditionList, matchRestful, getNamespaceId()); } @Override public String toString() { return "SelectorData{" + "id='" - + id + + getId() + '\'' + ", pluginId='" + pluginId @@ -418,16 +316,16 @@ public String toString() { + pluginName + '\'' + ", name='" - + name + + getName() + '\'' + ", matchMode=" + matchMode + ", type=" + type + ", sort=" - + sort + + getSort() + ", enabled=" - + enabled + + getEnabled() + ", logged=" + logged + ", continued=" @@ -440,7 +338,7 @@ public String toString() { + ", matchRestful=" + matchRestful + ", namespaceId=" - + namespaceId + + getNamespaceId() + '}'; } @@ -451,12 +349,12 @@ public static final class Builder { private String id; + private String name; + private String pluginId; private String pluginName; - private String name; - private Integer matchMode; private Integer type;