This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch RANGER-3923
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit bba84d1d74fb65bbe670f45f886928a7df4e2696
Merge: 444475c6a 3d69ff979
Author: Madhan Neethiraj <mad...@apache.org>
AuthorDate: Fri Aug 11 09:46:07 2023 -0700

    Merge branch 'master' into RANGER-3923

 .../plugin/contextenricher/RangerTagForEval.java   |   5 -
 .../apache/ranger/plugin/model/AuditFilter.java    |   5 -
 .../org/apache/ranger/plugin/model/GroupInfo.java  |   5 -
 .../ranger/plugin/model/RangerBaseModelObject.java |   6 -
 .../apache/ranger/plugin/model/RangerMetrics.java  |   6 -
 .../ranger/plugin/model/RangerPluginInfo.java      |   5 -
 .../apache/ranger/plugin/model/RangerPolicy.java   |  22 --
 .../ranger/plugin/model/RangerPolicyDelta.java     |   6 -
 .../org/apache/ranger/plugin/model/RangerRole.java |   7 -
 .../ranger/plugin/model/RangerSecurityZone.java    |   7 -
 .../plugin/model/RangerSecurityZoneHeaderInfo.java |   6 -
 .../apache/ranger/plugin/model/RangerService.java  |   6 -
 .../ranger/plugin/model/RangerServiceDef.java      |  26 ---
 .../plugin/model/RangerServiceHeaderInfo.java      |   6 -
 .../ranger/plugin/model/RangerServiceResource.java |   5 -
 .../ranger/plugin/model/RangerServiceTags.java     |   5 -
 .../org/apache/ranger/plugin/model/RangerTag.java  |   5 -
 .../apache/ranger/plugin/model/RangerTagDef.java   |   8 -
 .../ranger/plugin/model/RangerTagResourceMap.java  |   6 -
 .../plugin/model/RangerValidityRecurrence.java     |  10 -
 .../plugin/model/RangerValiditySchedule.java       |   7 -
 .../ranger/plugin/model/ServiceDeleteResponse.java |   6 -
 .../org/apache/ranger/plugin/model/UserInfo.java   |   5 -
 .../plugin/policyengine/RangerResourceACLs.java    |   9 -
 .../RangerAbstractResourceMatcher.java             | 125 ++++++++---
 .../RangerDefaultResourceMatcher.java              |  76 ++++---
 .../resourcematcher/RangerPathResourceMatcher.java | 239 +++++++++++++++++++--
 .../resourcematcher/RangerResourceMatcher.java     |   3 +
 .../resourcematcher/RangerURLResourceMatcher.java  |  35 ++-
 .../plugin/resourcematcher/ResourceMatcher.java    | 165 ++++++++++++--
 .../plugin/service/ResourceLookupContext.java      |   6 -
 .../ranger/plugin/store/StoredServiceResource.java |   6 -
 .../ranger/plugin/util/GrantRevokeRequest.java     |   6 -
 .../ranger/plugin/util/GrantRevokeRoleRequest.java |   5 -
 .../plugin/util/RangerRequestedResources.java      |   6 -
 .../org/apache/ranger/plugin/util/RangerRoles.java |   5 -
 .../apache/ranger/plugin/util/RangerUserStore.java |   5 -
 .../apache/ranger/plugin/util/ServicePolicies.java |  12 --
 .../org/apache/ranger/plugin/util/ServiceTags.java |   6 -
 .../RangerAbstractResourceMatcherTest.java         |   9 +
 .../RangerDefaultResourceMatcherTest.java          | 132 ++++++++++--
 .../RangerPathResourceMatcherTest.java             |  73 +++++++
 .../RangerURLResourceMatcherTest.java              |  73 +++++++
 .../java/org/apache/ranger/entity/XXDBBase.java    |   2 -
 .../org/apache/ranger/entity/XXRangerKeyStore.java |   2 -
 .../apache/ranger/entity/XXRangerMasterKey.java    |   4 +-
 .../client/json/model/KMSSchedulerResponse.java    |  12 --
 .../client/json/model/YarnSchedulerResponse.java   |  12 --
 .../java/org/apache/ranger/common/view/VEnum.java  |   3 -
 .../apache/ranger/common/view/VEnumElement.java    |   3 -
 .../java/org/apache/ranger/common/view/VList.java  |   2 -
 .../org/apache/ranger/common/view/VTrxLogAttr.java |   3 -
 .../apache/ranger/common/view/ViewBaseBean.java    |   6 +-
 .../org/apache/ranger/entity/XXAccessAudit.java    |   2 -
 .../apache/ranger/entity/XXAccessAuditBase.java    |   2 -
 .../org/apache/ranger/entity/XXAccessAuditV4.java  |   2 -
 .../org/apache/ranger/entity/XXAccessAuditV5.java  |   2 -
 .../org/apache/ranger/entity/XXAccessTypeDef.java  |   4 +-
 .../ranger/entity/XXAccessTypeDefGrants.java       |   4 +-
 .../java/org/apache/ranger/entity/XXAsset.java     |   2 -
 .../java/org/apache/ranger/entity/XXAuditMap.java  |   2 -
 .../org/apache/ranger/entity/XXAuthSession.java    |   2 -
 .../apache/ranger/entity/XXContextEnricherDef.java |   4 +-
 .../apache/ranger/entity/XXCredentialStore.java    |   2 -
 .../java/org/apache/ranger/entity/XXDBBase.java    |   2 -
 .../java/org/apache/ranger/entity/XXDataHist.java  |   4 +-
 .../apache/ranger/entity/XXDataMaskTypeDef.java    |   2 -
 .../java/org/apache/ranger/entity/XXEnumDef.java   |   4 +-
 .../org/apache/ranger/entity/XXEnumElementDef.java |   4 +-
 .../org/apache/ranger/entity/XXGlobalState.java    |   2 -
 .../apache/ranger/entity/XXGlobalStateBase.java    |   2 -
 .../java/org/apache/ranger/entity/XXGroup.java     |   2 -
 .../org/apache/ranger/entity/XXGroupGroup.java     |   2 -
 .../apache/ranger/entity/XXGroupPermission.java    |   5 +-
 .../java/org/apache/ranger/entity/XXGroupUser.java |   2 -
 .../java/org/apache/ranger/entity/XXModuleDef.java |   2 -
 .../java/org/apache/ranger/entity/XXPermMap.java   |   2 -
 .../org/apache/ranger/entity/XXPluginInfo.java     |   2 -
 .../java/org/apache/ranger/entity/XXPolicy.java    |   4 +-
 .../org/apache/ranger/entity/XXPolicyBase.java     |   2 -
 .../apache/ranger/entity/XXPolicyChangeLog.java    |   2 -
 .../apache/ranger/entity/XXPolicyConditionDef.java |   4 +-
 .../apache/ranger/entity/XXPolicyExportAudit.java  |   2 -
 .../org/apache/ranger/entity/XXPolicyItem.java     |   4 +-
 .../apache/ranger/entity/XXPolicyItemAccess.java   |   4 +-
 .../ranger/entity/XXPolicyItemCondition.java       |   4 +-
 .../ranger/entity/XXPolicyItemDataMaskInfo.java    |   2 -
 .../ranger/entity/XXPolicyItemGroupPerm.java       |   4 +-
 .../ranger/entity/XXPolicyItemRowFilterInfo.java   |   2 -
 .../apache/ranger/entity/XXPolicyItemUserPerm.java |   4 +-
 .../org/apache/ranger/entity/XXPolicyLabel.java    |   2 -
 .../org/apache/ranger/entity/XXPolicyLabelMap.java |   2 -
 .../ranger/entity/XXPolicyRefAccessType.java       |   4 +-
 .../apache/ranger/entity/XXPolicyRefCondition.java |   4 +-
 .../ranger/entity/XXPolicyRefDataMaskType.java     |   4 +-
 .../org/apache/ranger/entity/XXPolicyRefGroup.java |   4 +-
 .../apache/ranger/entity/XXPolicyRefResource.java  |   4 +-
 .../org/apache/ranger/entity/XXPolicyRefRole.java  |   2 -
 .../org/apache/ranger/entity/XXPolicyRefUser.java  |   4 +-
 .../org/apache/ranger/entity/XXPolicyResource.java |   4 +-
 .../apache/ranger/entity/XXPolicyResourceMap.java  |   4 +-
 .../ranger/entity/XXPolicyWithAssignedId.java      |   2 -
 .../org/apache/ranger/entity/XXPortalUser.java     |   2 -
 .../org/apache/ranger/entity/XXPortalUserRole.java |   2 -
 .../apache/ranger/entity/XXRMSMappingProvider.java |   2 -
 .../apache/ranger/entity/XXRMSNotification.java    |   4 +-
 .../apache/ranger/entity/XXRMSResourceMapping.java |   2 -
 .../apache/ranger/entity/XXRMSServiceResource.java |   2 -
 .../java/org/apache/ranger/entity/XXResource.java  |   2 -
 .../org/apache/ranger/entity/XXResourceDef.java    |   2 -
 .../main/java/org/apache/ranger/entity/XXRole.java |   2 -
 .../java/org/apache/ranger/entity/XXRoleBase.java  |   2 -
 .../org/apache/ranger/entity/XXRoleRefGroup.java   |   4 +-
 .../org/apache/ranger/entity/XXRoleRefRole.java    |   4 +-
 .../org/apache/ranger/entity/XXRoleRefUser.java    |   4 +-
 .../org/apache/ranger/entity/XXSecurityZone.java   |   2 -
 .../apache/ranger/entity/XXSecurityZoneBase.java   |   2 -
 .../ranger/entity/XXSecurityZoneRefGroup.java      |   4 +-
 .../ranger/entity/XXSecurityZoneRefResource.java   |   4 +-
 .../ranger/entity/XXSecurityZoneRefRole.java       |   4 +-
 .../ranger/entity/XXSecurityZoneRefService.java    |   4 +-
 .../ranger/entity/XXSecurityZoneRefTagService.java |   2 -
 .../ranger/entity/XXSecurityZoneRefUser.java       |   2 -
 .../java/org/apache/ranger/entity/XXService.java   |   4 +-
 .../org/apache/ranger/entity/XXServiceBase.java    |   2 -
 .../apache/ranger/entity/XXServiceConfigDef.java   |   4 +-
 .../apache/ranger/entity/XXServiceConfigMap.java   |   4 +-
 .../org/apache/ranger/entity/XXServiceDef.java     |   2 -
 .../org/apache/ranger/entity/XXServiceDefBase.java |   2 -
 .../ranger/entity/XXServiceDefWithAssignedId.java  |   2 -
 .../apache/ranger/entity/XXServiceResource.java    |   2 -
 .../ranger/entity/XXServiceResourceElement.java    |   2 -
 .../entity/XXServiceResourceElementValue.java      |   2 -
 .../apache/ranger/entity/XXServiceVersionInfo.java |   2 -
 .../ranger/entity/XXServiceWithAssignedId.java     |   2 -
 .../main/java/org/apache/ranger/entity/XXTag.java  |   2 -
 .../org/apache/ranger/entity/XXTagAttribute.java   |   2 -
 .../apache/ranger/entity/XXTagAttributeDef.java    |   2 -
 .../org/apache/ranger/entity/XXTagChangeLog.java   |   2 -
 .../java/org/apache/ranger/entity/XXTagDef.java    |   2 -
 .../org/apache/ranger/entity/XXTagResourceMap.java |   2 -
 .../java/org/apache/ranger/entity/XXTrxLog.java    |   2 -
 .../apache/ranger/entity/XXUgsyncAuditInfo.java    |   2 -
 .../main/java/org/apache/ranger/entity/XXUser.java |   2 -
 .../org/apache/ranger/entity/XXUserPermission.java |   2 -
 .../org/apache/ranger/entity/view/VXXTrxLog.java   |   2 -
 .../org/apache/ranger/rest/ServiceRESTUtil.java    |  57 -----
 .../apache/ranger/view/RangerExportPolicyList.java |   6 -
 .../apache/ranger/view/RangerExportRoleList.java   |   6 -
 .../apache/ranger/view/RangerPluginInfoList.java   |   6 -
 .../org/apache/ranger/view/RangerPolicyList.java   |   6 -
 .../org/apache/ranger/view/RangerRoleList.java     |   6 -
 .../apache/ranger/view/RangerSecurityZoneList.java |   6 -
 .../apache/ranger/view/RangerServiceDefList.java   |   6 -
 .../org/apache/ranger/view/RangerServiceList.java  |   8 +-
 .../java/org/apache/ranger/view/VXAccessAudit.java |   3 -
 .../org/apache/ranger/view/VXAccessAuditList.java  |   6 -
 .../main/java/org/apache/ranger/view/VXAsset.java  |   3 -
 .../java/org/apache/ranger/view/VXAssetList.java   |   6 -
 .../java/org/apache/ranger/view/VXAuditMap.java    |   3 -
 .../org/apache/ranger/view/VXAuditMapList.java     |   6 -
 .../java/org/apache/ranger/view/VXAuditRecord.java |   3 -
 .../org/apache/ranger/view/VXAuditRecordList.java  |   6 -
 .../java/org/apache/ranger/view/VXAuthSession.java |   3 -
 .../org/apache/ranger/view/VXAuthSessionList.java  |   6 -
 .../org/apache/ranger/view/VXCredentialStore.java  |   3 -
 .../apache/ranger/view/VXCredentialStoreList.java  |   6 -
 .../java/org/apache/ranger/view/VXDataObject.java  |   3 -
 .../apache/ranger/view/VXFileSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXGroup.java  |   3 -
 .../java/org/apache/ranger/view/VXGroupGroup.java  |   3 -
 .../org/apache/ranger/view/VXGroupGroupList.java   |   6 -
 .../java/org/apache/ranger/view/VXGroupList.java   |   6 -
 .../org/apache/ranger/view/VXGroupPermission.java  |   4 -
 .../apache/ranger/view/VXGroupPermissionList.java  |   7 -
 .../java/org/apache/ranger/view/VXGroupUser.java   |   3 -
 .../org/apache/ranger/view/VXGroupUserInfo.java    |   5 +-
 .../org/apache/ranger/view/VXGroupUserList.java    |   6 -
 .../main/java/org/apache/ranger/view/VXKmsKey.java |   3 -
 .../java/org/apache/ranger/view/VXKmsKeyList.java  |   6 -
 .../apache/ranger/view/VXLdapSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXLong.java   |   3 -
 .../java/org/apache/ranger/view/VXMessage.java     |   3 -
 .../ranger/view/VXMetricAuditDetailsCount.java     |   5 -
 .../apache/ranger/view/VXMetricPolicyCount.java    |   5 -
 .../view/VXMetricPolicyWithServiceNameCount.java   |   5 -
 .../apache/ranger/view/VXMetricServiceCount.java   |   5 -
 .../ranger/view/VXMetricServiceNameCount.java      |   6 -
 .../apache/ranger/view/VXMetricUserGroupCount.java |   8 +-
 .../java/org/apache/ranger/view/VXModuleDef.java   |   3 -
 .../org/apache/ranger/view/VXModuleDefList.java    |   7 -
 .../org/apache/ranger/view/VXModulePermission.java |   4 -
 .../apache/ranger/view/VXModulePermissionList.java |   7 -
 .../org/apache/ranger/view/VXPasswordChange.java   |   3 -
 .../java/org/apache/ranger/view/VXPermMap.java     |   3 -
 .../java/org/apache/ranger/view/VXPermMapList.java |   6 -
 .../java/org/apache/ranger/view/VXPermObj.java     |   3 -
 .../java/org/apache/ranger/view/VXPermObjList.java |   6 -
 .../main/java/org/apache/ranger/view/VXPolicy.java |   3 -
 .../apache/ranger/view/VXPolicyExportAudit.java    |   3 -
 .../ranger/view/VXPolicyExportAuditList.java       |   6 -
 .../java/org/apache/ranger/view/VXPolicyLabel.java |   3 -
 .../org/apache/ranger/view/VXPolicyLabelList.java  |   6 -
 .../java/org/apache/ranger/view/VXPolicyList.java  |   6 -
 .../java/org/apache/ranger/view/VXPortalUser.java  |   3 -
 .../org/apache/ranger/view/VXPortalUserList.java   |   6 -
 .../java/org/apache/ranger/view/VXRepository.java  |   3 -
 .../org/apache/ranger/view/VXRepositoryList.java   |   6 -
 .../java/org/apache/ranger/view/VXResource.java    |   3 -
 .../org/apache/ranger/view/VXResourceList.java     |   6 -
 .../java/org/apache/ranger/view/VXResponse.java    |   3 -
 .../main/java/org/apache/ranger/view/VXString.java |   3 -
 .../java/org/apache/ranger/view/VXStringList.java  |   6 -
 .../main/java/org/apache/ranger/view/VXTrxLog.java |   3 -
 .../java/org/apache/ranger/view/VXTrxLogList.java  |   5 -
 .../org/apache/ranger/view/VXUgsyncAuditInfo.java  |   4 +-
 .../apache/ranger/view/VXUgsyncAuditInfoList.java  |   5 -
 .../apache/ranger/view/VXUnixSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXUser.java   |   3 -
 .../org/apache/ranger/view/VXUserGroupInfo.java    |   5 +-
 .../java/org/apache/ranger/view/VXUserList.java    |   6 -
 .../org/apache/ranger/view/VXUserPermission.java   |   3 -
 .../apache/ranger/view/VXUserPermissionList.java   |   7 -
 .../react-webapp/src/components/Editable.jsx       |   2 +-
 .../main/webapp/react-webapp/src/utils/XAUtils.js  |  10 +-
 .../src/views/AuditEvent/AdminLogs/PolicyLogs.jsx  |   6 +-
 .../AuditEvent/AdminLogs/PolicyViewDetails.jsx     |   6 +-
 .../views/PolicyListing/PolicyPermissionItem.jsx   |   4 +-
 .../src/views/SecurityZone/ZoneListing.jsx         |   2 +-
 .../react-webapp/src/views/SideBar/SideBarBody.jsx |  22 +-
 .../UserGroupRoleListing/UserGroupRoleListing.jsx  |   2 +-
 .../UserGroupRoleListing/role_details/RoleForm.jsx |   4 +-
 .../role_details/RoleListing.jsx                   |   2 +-
 .../tagsync/source/atlas/AtlasTagSource.java       |   2 +-
 .../model/UsersGroupRoleAssignments.java           |   5 +-
 235 files changed, 898 insertions(+), 1062 deletions(-)

diff --cc 
agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
index f6a8c7efd,dd64a6767..deaf524b1
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
@@@ -27,10 -28,7 +27,6 @@@ import java.util.HashMap
  import java.util.List;
  import java.util.Map;
  
- import javax.xml.bind.annotation.XmlAccessType;
- import javax.xml.bind.annotation.XmlAccessorType;
- import javax.xml.bind.annotation.XmlRootElement;
- 
 -import org.apache.commons.collections.MapUtils;
  import org.apache.ranger.authorization.utils.StringUtil;
  import org.apache.ranger.plugin.model.RangerPolicy;
  import org.apache.ranger.plugin.model.RangerPolicyDelta;
@@@ -44,10 -45,9 +40,8 @@@ import org.codehaus.jackson.map.annotat
  @JsonAutoDetect(fieldVisibility=Visibility.ANY)
  @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
  @JsonIgnoreProperties(ignoreUnknown=true)
- @XmlRootElement
- @XmlAccessorType(XmlAccessType.FIELD)
  public class ServicePolicies implements java.io.Serializable {
        private static final long serialVersionUID = 1L;
 -      private static final Logger LOG = 
LoggerFactory.getLogger(ServicePolicies.class);
  
        private String             serviceName;
        private Long               serviceId;
@@@ -375,142 -354,6 +367,140 @@@
                }
        }
  
 +      @JsonAutoDetect(fieldVisibility=Visibility.ANY)
 +      @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
 +      @JsonIgnoreProperties(ignoreUnknown=true)
-       @XmlRootElement
-       @XmlAccessorType(XmlAccessType.FIELD)
 +      public static class GdsPolicies implements java.io.Serializable {
 +              private static final long serialVersionUID = 1L;
 +
 +              private String              serviceName;
 +              private Long                serviceId;
 +              private Long                policyVersion;
 +              private Date                policyUpdateTime;
 +              private List<RangerPolicy>  policies;
 +              private RangerServiceDef    serviceDef;
 +              private String              auditMode = 
RangerPolicyEngine.AUDIT_DEFAULT;
 +              private Map<String, String> serviceConfig;
 +
 +              /**
 +               * @return the serviceName
 +               */
 +              public String getServiceName() {
 +                      return serviceName;
 +              }
 +              /**
 +               * @param serviceName the serviceName to set
 +               */
 +              public void setServiceName(String serviceName) {
 +                      this.serviceName = serviceName;
 +              }
 +              /**
 +               * @return the serviceId
 +               */
 +              public Long getServiceId() {
 +                      return serviceId;
 +              }
 +              /**
 +               * @param serviceId the serviceId to set
 +               */
 +              public void setServiceId(Long serviceId) {
 +                      this.serviceId = serviceId;
 +              }
 +              /**
 +               * @return the policyVersion
 +               */
 +              public Long getPolicyVersion() {
 +                      return policyVersion;
 +              }
 +              /**
 +               * @param policyVersion the policyVersion to set
 +               */
 +              public void setPolicyVersion(Long policyVersion) {
 +                      this.policyVersion = policyVersion;
 +              }
 +              /**
 +               * @return the policyUpdateTime
 +               */
 +              public Date getPolicyUpdateTime() {
 +                      return policyUpdateTime;
 +              }
 +              /**
 +               * @param policyUpdateTime the policyUpdateTime to set
 +               */
 +              public void setPolicyUpdateTime(Date policyUpdateTime) {
 +                      this.policyUpdateTime = policyUpdateTime;
 +              }
 +              /**
 +               * @return the policies
 +               */
 +              public List<RangerPolicy> getPolicies() {
 +                      return policies;
 +              }
 +              /**
 +               * @param policies the policies to set
 +               */
 +              public void setPolicies(List<RangerPolicy> policies) {
 +                      this.policies = policies;
 +              }
 +              /**
 +               * @return the serviceDef
 +               */
 +              public RangerServiceDef getServiceDef() {
 +                      return serviceDef;
 +              }
 +              /**
 +               * @param serviceDef the serviceDef to set
 +               */
 +              public void setServiceDef(RangerServiceDef serviceDef) {
 +                      this.serviceDef = serviceDef;
 +              }
 +
 +              public String getAuditMode() {
 +                      return auditMode;
 +              }
 +
 +              public void setAuditMode(String auditMode) {
 +                      this.auditMode = auditMode;
 +              }
 +
 +              public Map<String, String> getServiceConfig() {
 +                      return serviceConfig;
 +              }
 +
 +              public void setServiceConfig(Map<String, String> serviceConfig) 
{
 +                      this.serviceConfig = serviceConfig;
 +              }
 +
 +              public void dedupStrings(Map<String, String> strTbl) {
 +                      serviceName   = StringUtil.dedupString(serviceName, 
strTbl);
 +                      auditMode     = StringUtil.dedupString(auditMode, 
strTbl);
 +                      serviceConfig = 
StringUtil.dedupStringsMap(serviceConfig, strTbl);
 +
 +                      if (policies != null) {
 +                              for (RangerPolicy policy : policies) {
 +                                      policy.dedupStrings(strTbl);
 +                              }
 +                      }
 +
 +                      if (serviceDef != null) {
 +                              serviceDef.dedupStrings(strTbl);
 +                      }
 +              }
 +
 +              @Override
 +              public String toString() {
 +                      return "serviceName=" + serviceName + ", "
 +                                      + "serviceId=" + serviceId + ", "
 +                                      + "policyVersion=" + policyVersion + ", 
"
 +                                      + "policyUpdateTime=" + 
policyUpdateTime + ", "
 +                                      + "policies=" + policies + ", "
 +                                      + "serviceDef=" + serviceDef + ", "
 +                                      + "auditMode=" + auditMode
 +                                      + "serviceConfig=" + serviceConfig
 +                                      ;
 +              }
 +      }
 +
        @JsonAutoDetect(fieldVisibility = Visibility.ANY)
        @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
        @JsonIgnoreProperties(ignoreUnknown = true)

Reply via email to