This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
commit a437a9f16a31f95954b9f300a44d0d5b17ce130d Author: Francesco Chicchiriccò <ilgro...@apache.org> AuthorDate: Wed Jun 15 16:23:52 2022 +0200 Upgrading Elasticsearch --- .../console/panels/AnyObjectDirectoryPanel.java | 107 ++++++------ .../client/console/panels/GroupDirectoryPanel.java | 192 ++++++++++----------- .../client/console/panels/ListViewPanel.java | 20 +-- .../client/console/wizards/any/StatusPanel.java | 16 +- .../persistence/api/dao/search/ResourceCond.java | 18 +- .../persistence/api/dao/search/SearchCond.java | 6 +- .../persistence/api/search/SearchCondVisitor.java | 2 +- .../api/search/SearchCondConverterTest.java | 2 +- .../persistence/jpa/dao/PGJPAJSONAnySearchDAO.java | 4 +- .../core/persistence/jpa/dao/JPAAnyMatchDAO.java | 2 +- .../core/persistence/jpa/dao/JPAAnySearchDAO.java | 4 +- .../core/persistence/jpa/inner/AnyMatchTest.java | 4 +- .../core/persistence/jpa/inner/AnySearchTest.java | 8 +- .../jpa/dao/ElasticsearchAnySearchDAO.java | 2 +- pom.xml | 2 +- .../starter/pac4j/saml/BaseWASAML2ClientTest.java | 2 +- 16 files changed, 194 insertions(+), 197 deletions(-) diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java index e022061c2c..079bf86a82 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyObjectDirectoryPanel.java @@ -84,7 +84,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO @Override public void onClick(final AjaxRequestTarget target, final Serializable ignore) { target.add(displayAttributeModal.setContent(new AnyObjectDisplayAttributesModalPanel<>( - displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type))); + displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames, type))); displayAttributeModal.addSubmitButton(); displayAttributeModal.header(new ResourceModel("any.attr.display")); displayAttributeModal.show(true); @@ -104,16 +104,16 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO panel.add(new ActionLink<>() { - private static final long serialVersionUID = -7978723352517770644L; + private static final long serialVersionUID = -7978723352517770644L; - @Override - public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { - send(AnyObjectDirectoryPanel.this, Broadcast.EXACT, - new AjaxWizard.EditItemActionEvent<>( - new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())), - target)); - } - }, ActionType.EDIT, + @Override + public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { + send(AnyObjectDirectoryPanel.this, Broadcast.EXACT, + new AjaxWizard.EditItemActionEvent<>( + new AnyWrapper<>(new AnyObjectRestClient().read(model.getObject().getKey())), + target)); + } + }, ActionType.EDIT, String.format("%s,%s", AnyEntitlement.READ.getFor(type), AnyEntitlement.UPDATE.getFor(type))). setRealms(realm, model.getObject().getDynRealms()); @@ -134,7 +134,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO @Override public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { target.add(utilityModal.setContent(new AnyPropagationTasks( - utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef))); + utilityModal, AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef))); utilityModal.header(new StringResourceModel("any.propagation.tasks", model)); utilityModal.show(true); @@ -148,8 +148,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO @Override public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { target.add(utilityModal.setContent( - new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), - pageRef))); + new NotificationTasks(AnyTypeKind.ANY_OBJECT, model.getObject().getKey(), pageRef))); utilityModal.header(new StringResourceModel("any.notification.tasks", model)); utilityModal.show(true); target.add(utilityModal); @@ -158,46 +157,46 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO } panel.add(new ActionLink<>() { - private static final long serialVersionUID = -2878723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { - model.setObject(restClient.read(model.getObject().getKey())); - target.add(altDefaultModal.setContent(new AuditHistoryModal<>( - altDefaultModal, - AuditElements.EventCategoryType.LOGIC, - "AnyObjectLogic", - model.getObject(), - AnyEntitlement.UPDATE.getFor(type), - pageRef) { - - private static final long serialVersionUID = -7440902560249531201L; - - @Override - protected void restore(final String json, final AjaxRequestTarget target) { - AnyObjectTO original = model.getObject(); - try { - AnyObjectTO updated = MAPPER.readValue(json, AnyObjectTO.class); - AnyObjectUR updateReq = AnyOperations.diff(updated, original, false); - ProvisioningResult<AnyObjectTO> result = - restClient.update(original.getETagValue(), updateReq); - model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate()); - - SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); - target.add(container); - } catch (Exception e) { - LOG.error("While restoring any object {}", model.getObject().getKey(), e); - SyncopeConsoleSession.get().onException(e); - } - ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); - } - })); - - altDefaultModal.header(new StringResourceModel("auditHistory.title", model)); - - altDefaultModal.show(true); - } - }, ActionType.VIEW_AUDIT_HISTORY, + private static final long serialVersionUID = -2878723352517770644L; + + @Override + public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { + model.setObject(restClient.read(model.getObject().getKey())); + target.add(altDefaultModal.setContent(new AuditHistoryModal<>( + altDefaultModal, + AuditElements.EventCategoryType.LOGIC, + "AnyObjectLogic", + model.getObject(), + AnyEntitlement.UPDATE.getFor(type), + pageRef) { + + private static final long serialVersionUID = -7440902560249531201L; + + @Override + protected void restore(final String json, final AjaxRequestTarget target) { + AnyObjectTO original = model.getObject(); + try { + AnyObjectTO updated = MAPPER.readValue(json, AnyObjectTO.class); + AnyObjectUR updateReq = AnyOperations.diff(updated, original, false); + ProvisioningResult<AnyObjectTO> result = + restClient.update(original.getETagValue(), updateReq); + model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate()); + + SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); + target.add(container); + } catch (Exception e) { + LOG.error("While restoring any object {}", model.getObject().getKey(), e); + SyncopeConsoleSession.get().onException(e); + } + ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); + } + })); + + altDefaultModal.header(new StringResourceModel("auditHistory.title", model)); + + altDefaultModal.show(true); + } + }, ActionType.VIEW_AUDIT_HISTORY, String.format("%s,%s", AnyEntitlement.READ.getFor(type), IdRepoEntitlement.AUDIT_LIST)). setRealms(realm, model.getObject().getDynRealms()); @@ -210,7 +209,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO final AnyObjectTO clone = SerializationUtils.clone(model.getObject()); clone.setKey(null); send(AnyObjectDirectoryPanel.this, Broadcast.EXACT, - new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target)); + new AjaxWizard.NewItemActionEvent<>(new AnyWrapper<>(clone), target)); } @Override diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java index fce6681543..ed62d4d439 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/GroupDirectoryPanel.java @@ -195,7 +195,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli @Override public void onClick(final AjaxRequestTarget target, final Serializable ignore) { target.add(displayAttributeModal.setContent(new GroupDisplayAttributesModalPanel<>( - displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames))); + displayAttributeModal, page.getPageReference(), pSchemaNames, dSchemaNames))); displayAttributeModal.header(new ResourceModel("any.attr.display")); displayAttributeModal.show(true); } @@ -209,15 +209,15 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli panel.add(new ActionLink<>() { - private static final long serialVersionUID = -7978723352517770644L; + private static final long serialVersionUID = -7978723352517770644L; - @Override - public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { - send(GroupDirectoryPanel.this, Broadcast.EXACT, - new AjaxWizard.EditItemActionEvent<>(new GroupWrapper( - restClient.read(model.getObject().getKey())), target)); - } - }, ActionType.EDIT, + @Override + public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { + send(GroupDirectoryPanel.this, Broadcast.EXACT, + new AjaxWizard.EditItemActionEvent<>(new GroupWrapper( + restClient.read(model.getObject().getKey())), target)); + } + }, ActionType.EDIT, String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.GROUP_UPDATE)). setRealms(realm, model.getObject().getDynRealms()); @@ -228,7 +228,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli @Override public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { target.add(typeExtensionsModal.setContent(new TypeExtensionDirectoryPanel( - typeExtensionsModal, model.getObject(), pageRef))); + typeExtensionsModal, model.getObject(), pageRef))); typeExtensionsModal.header(new StringResourceModel("typeExtensions", model)); typeExtensionsModal.show(true); } @@ -237,58 +237,58 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli panel.add(new ActionLink<>() { - private static final long serialVersionUID = -7978723352517770645L; + private static final long serialVersionUID = -7978723352517770645L; - @Override - public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { - templates.setTargetObject(model.getObject()); - templates.toggle(target, true); - } + @Override + public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { + templates.setTargetObject(model.getObject()); + templates.toggle(target, true); + } - @Override - public boolean isIndicatorEnabled() { - return false; - } - }, ActionType.MEMBERS, + @Override + public boolean isIndicatorEnabled() { + return false; + } + }, ActionType.MEMBERS, String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.GROUP_UPDATE)). setRealms(realm, model.getObject().getDynRealms()); panel.add(new ActionLink<>() { - private static final long serialVersionUID = -7978723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { - try { - SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); - target.add(container); - } catch (SyncopeClientException e) { - LOG.error("While provisioning members of group {}", model.getObject().getKey(), e); - SyncopeConsoleSession.get().onException(e); - } - ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); - } - }, ActionType.PROVISION_MEMBERS, + private static final long serialVersionUID = -7978723352517770644L; + + @Override + public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { + try { + SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); + target.add(container); + } catch (SyncopeClientException e) { + LOG.error("While provisioning members of group {}", model.getObject().getKey(), e); + SyncopeConsoleSession.get().onException(e); + } + ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); + } + }, ActionType.PROVISION_MEMBERS, String.format("%s,%s", IdRepoEntitlement.TASK_CREATE, IdRepoEntitlement.TASK_EXECUTE)). setRealm(realm); panel.add(new ActionLink<>() { - private static final long serialVersionUID = -7978723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { - try { - GroupRestClient.provisionMembers(model.getObject().getKey(), ProvisionAction.DEPROVISION); - SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); - target.add(container); - } catch (SyncopeClientException e) { - LOG.error("While provisioning members of group {}", model.getObject().getKey(), e); - SyncopeConsoleSession.get().onException(e); - } - ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); - } - }, ActionType.DEPROVISION_MEMBERS, + private static final long serialVersionUID = -7978723352517770644L; + + @Override + public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { + try { + GroupRestClient.provisionMembers(model.getObject().getKey(), ProvisionAction.DEPROVISION); + SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); + target.add(container); + } catch (SyncopeClientException e) { + LOG.error("While provisioning members of group {}", model.getObject().getKey(), e); + SyncopeConsoleSession.get().onException(e); + } + ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); + } + }, ActionType.DEPROVISION_MEMBERS, String.format("%s,%s", IdRepoEntitlement.TASK_CREATE, IdRepoEntitlement.TASK_EXECUTE)). setRealm(realm); @@ -307,7 +307,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli @Override public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { target.add(utilityModal.setContent(new AnyPropagationTasks( - utilityModal, AnyTypeKind.GROUP, model.getObject().getKey(), pageRef))); + utilityModal, AnyTypeKind.GROUP, model.getObject().getKey(), pageRef))); utilityModal.header(new StringResourceModel("any.propagation.tasks", model)); utilityModal.show(true); } @@ -320,7 +320,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli @Override public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { target.add(utilityModal.setContent( - new NotificationTasks(AnyTypeKind.GROUP, model.getObject().getKey(), pageRef))); + new NotificationTasks(AnyTypeKind.GROUP, model.getObject().getKey(), pageRef))); utilityModal.header(new StringResourceModel("any.notification.tasks", model)); utilityModal.show(true); } @@ -328,49 +328,49 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli panel.add(new ActionLink<>() { - private static final long serialVersionUID = -2878723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { - model.setObject(restClient.read(model.getObject().getKey())); - target.add(altDefaultModal.setContent(new AuditHistoryModal<>( - altDefaultModal, - AuditElements.EventCategoryType.LOGIC, - "GroupLogic", - model.getObject(), - IdRepoEntitlement.GROUP_UPDATE, - pageRef) { - - private static final long serialVersionUID = -5819724478921691835L; - - @Override - protected void restore(final String json, final AjaxRequestTarget target) { - GroupTO original = model.getObject(); - try { - GroupTO updated = MAPPER.readValue(json, GroupTO.class); - GroupUR updateReq = AnyOperations.diff(updated, original, false); - ProvisioningResult<GroupTO> result = - restClient.update(original.getETagValue(), updateReq); - model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate()); - - SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); - target.add(container); - } catch (Exception e) { - LOG.error("While restoring group {}", model.getObject().getKey(), e); - SyncopeConsoleSession.get().onException(e); - } - ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); - } - })); - - altDefaultModal.header(new Model<>( - getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject()))))); - - altDefaultModal.show(true); - } - }, ActionType.VIEW_AUDIT_HISTORY, - String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.AUDIT_LIST)). - setRealms(realm, model.getObject().getDynRealms()); + private static final long serialVersionUID = -2878723352517770644L; + + @Override + public void onClick(final AjaxRequestTarget target, final GroupTO ignore) { + model.setObject(restClient.read(model.getObject().getKey())); + target.add(altDefaultModal.setContent(new AuditHistoryModal<>( + altDefaultModal, + AuditElements.EventCategoryType.LOGIC, + "GroupLogic", + model.getObject(), + IdRepoEntitlement.GROUP_UPDATE, + pageRef) { + + private static final long serialVersionUID = -5819724478921691835L; + + @Override + protected void restore(final String json, final AjaxRequestTarget target) { + GroupTO original = model.getObject(); + try { + GroupTO updated = MAPPER.readValue(json, GroupTO.class); + GroupUR updateReq = AnyOperations.diff(updated, original, false); + ProvisioningResult<GroupTO> result = + restClient.update(original.getETagValue(), updateReq); + model.getObject().setLastChangeDate(result.getEntity().getLastChangeDate()); + + SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED)); + target.add(container); + } catch (Exception e) { + LOG.error("While restoring group {}", model.getObject().getKey(), e); + SyncopeConsoleSession.get().onException(e); + } + ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); + } + })); + + altDefaultModal.header(new Model<>( + getString("auditHistory.title", new Model<>(new AnyWrapper<>(model.getObject()))))); + + altDefaultModal.show(true); + } + }, ActionType.VIEW_AUDIT_HISTORY, + String.format("%s,%s", IdRepoEntitlement.GROUP_READ, IdRepoEntitlement.AUDIT_LIST)). + setRealms(realm, model.getObject().getDynRealms()); panel.add(new ActionLink<>() { @@ -381,7 +381,7 @@ public class GroupDirectoryPanel extends AnyDirectoryPanel<GroupTO, GroupRestCli GroupTO clone = SerializationUtils.clone(model.getObject()); clone.setKey(null); send(GroupDirectoryPanel.this, Broadcast.EXACT, - new AjaxWizard.NewItemActionEvent<>(new GroupWrapper(clone), target)); + new AjaxWizard.NewItemActionEvent<>(new GroupWrapper(clone), target)); } @Override diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java index f3aeace74c..029bafbdf6 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ListViewPanel.java @@ -172,10 +172,10 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan @Override protected void populateItem(final ListItem<T> beanItem) { beanItem.add(new Check<>("check", beanItem.getModel(), checkGroup).setOutputMarkupId(true). - setOutputMarkupPlaceholderTag(true). - setVisible(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE - || ListViewPanel.this.check.getObject() == CheckAvailability.DISABLED). - setEnabled(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE)); + setOutputMarkupPlaceholderTag(true). + setVisible(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE + || ListViewPanel.this.check.getObject() == CheckAvailability.DISABLED). + setEnabled(ListViewPanel.this.check.getObject() == CheckAvailability.AVAILABLE)); final T bean = beanItem.getModelObject(); @@ -200,9 +200,9 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan @Override protected void onEvent(final AjaxRequestTarget target) { togglePanel.toggleWithContent( - target, - actions.cloneWithLabels("actions", new Model<>(bean)), - bean); + target, + actions.cloneWithLabels("actions", new Model<>(bean)), + bean); } }); } @@ -224,7 +224,7 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan checkGroup.add(beans); } - private static ListView<String> header(final List<String> labels) { + protected ListView<String> header(final List<String> labels) { return new ListView<>("names", labels) { private static final long serialVersionUID = -9112553137618363167L; @@ -232,7 +232,7 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan @Override protected void populateItem(final ListItem<String> item) { item.add(new Label(Constants.NAME_FIELD_NAME, - new ResourceModel(item.getModelObject(), item.getModelObject()))); + new ResourceModel(item.getModelObject(), item.getModelObject()))); } }; } @@ -424,7 +424,7 @@ public abstract class ListViewPanel<T extends Serializable> extends WizardMgtPan @Override protected WizardMgtPanel<T> newInstance(final String id, final boolean wizardInModal) { return new ListViewPanel<>( - id, items, reference, includes, actions, check, reuseItem, wizardInModal, captionVisible, model) { + id, items, reference, includes, actions, check, reuseItem, wizardInModal, captionVisible, model) { private static final long serialVersionUID = -1715389337530657988L; diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java index 641309df1b..18e856f941 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/StatusPanel.java @@ -54,11 +54,11 @@ public class StatusPanel extends Panel { private static final long serialVersionUID = -4013796607157549641L; - private static final Logger LOG = LoggerFactory.getLogger(StatusPanel.class); + protected static final Logger LOG = LoggerFactory.getLogger(StatusPanel.class); - private Map<String, StatusBean> initialStatusBeanMap; + protected Map<String, StatusBean> initialStatusBeanMap; - private ListViewPanel<?> listViewPanel; + protected ListViewPanel<?> listViewPanel; public <T extends AnyTO> StatusPanel( final String id, @@ -82,7 +82,7 @@ public class StatusPanel extends Panel { init(any, model, connObjects, pageRef, true); } - private void init( + protected void init( final AnyTO any, final IModel<List<StatusBean>> model, final List<Triple<ConnObjectTO, ConnObjectWrapper, String>> connObjects, @@ -130,7 +130,7 @@ public class StatusPanel extends Panel { } }); - final MultilevelPanel mlp = new MultilevelPanel("resources"); + MultilevelPanel mlp = new MultilevelPanel("resources"); add(mlp); ListViewPanel.Builder<StatusBean> builder = new ListViewPanel.Builder<>(StatusBean.class, pageRef) { @@ -159,7 +159,7 @@ public class StatusPanel extends Panel { @Override protected boolean statusCondition(final StatusBean bean) { Pair<ConnObjectTO, ConnObjectTO> pair = - getConnObjectTOs(bean.getKey(), bean.getResource(), connObjects); + getConnObjectTOs(bean.getKey(), bean.getResource(), connObjects); return pair != null && pair.getRight() != null; } @@ -220,9 +220,9 @@ public class StatusPanel extends Panel { private static final long serialVersionUID = 4303365227411467563L; - private final StatusBean bean; + protected final StatusBean bean; - private final List<Triple<ConnObjectTO, ConnObjectWrapper, String>> connObjects; + protected final List<Triple<ConnObjectTO, ConnObjectWrapper, String>> connObjects; RemoteAnyPanel(final StatusBean bean, final List<Triple<ConnObjectTO, ConnObjectWrapper, String>> connObjects) { this.bean = bean; diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/ResourceCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/ResourceCond.java index ea87bb2a19..849c8ab421 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/ResourceCond.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/ResourceCond.java @@ -29,25 +29,25 @@ public class ResourceCond extends AbstractSearchCond { private static final long serialVersionUID = 466054166309460002L; - private String resourceKey; + private String resource; - public String getResourceKey() { - return resourceKey; + public String getResource() { + return resource; } - public void setResourceKey(final String resourceKey) { - this.resourceKey = resourceKey; + public void setResource(final String resource) { + this.resource = resource; } @Override public final boolean isValid() { - return resourceKey != null; + return resource != null; } @Override public int hashCode() { return new HashCodeBuilder(). - append(resourceKey). + append(resource). build(); } @@ -64,14 +64,14 @@ public class ResourceCond extends AbstractSearchCond { } final ResourceCond other = (ResourceCond) obj; return new EqualsBuilder(). - append(resourceKey, other.resourceKey). + append(resource, other.resource). build(); } @Override public String toString() { return new ToStringBuilder(this). - append(resourceKey). + append(resource). build(); } } diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java index 8d7730156c..112e56f78c 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java @@ -81,8 +81,7 @@ public class SearchCond extends AbstractSearchCond { if (conditions.size() == 1) { return conditions.get(0); } else if (conditions.size() > 2) { - SearchCond removed = conditions.remove(0); - return getAnd(removed, getAnd(conditions)); + return getAnd(conditions.get(0), getAnd(conditions.subList(1, conditions.size()))); } else { return getAnd(conditions.get(0), conditions.get(1)); } @@ -102,8 +101,7 @@ public class SearchCond extends AbstractSearchCond { if (conditions.size() == 1) { return conditions.get(0); } else if (conditions.size() > 2) { - SearchCond removed = conditions.remove(0); - return getOr(removed, getOr(conditions)); + return getOr(conditions.get(0), getAnd(conditions.subList(1, conditions.size()))); } else { return getOr(conditions.get(0), conditions.get(1)); } diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java index ddd027d027..85ddbc17f3 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/search/SearchCondVisitor.java @@ -160,7 +160,7 @@ public class SearchCondVisitor extends AbstractSearchConditionVisitor<SearchBean case RESOURCES: ResourceCond resourceCond = new ResourceCond(); - resourceCond.setResourceKey(value); + resourceCond.setResource(value); leaf = SearchCond.getLeaf(resourceCond); break; diff --git a/core/persistence-api/src/test/java/org/apache/syncope/core/persistence/api/search/SearchCondConverterTest.java b/core/persistence-api/src/test/java/org/apache/syncope/core/persistence/api/search/SearchCondConverterTest.java index 7bee68e818..5716642339 100644 --- a/core/persistence-api/src/test/java/org/apache/syncope/core/persistence/api/search/SearchCondConverterTest.java +++ b/core/persistence-api/src/test/java/org/apache/syncope/core/persistence/api/search/SearchCondConverterTest.java @@ -245,7 +245,7 @@ public class SearchCondConverterTest { assertEquals(SpecialAttr.RESOURCES + "==resource-ldap", fiql); ResourceCond resCond = new ResourceCond(); - resCond.setResourceKey("resource-ldap"); + resCond.setResource("resource-ldap"); SearchCond leaf = SearchCond.getLeaf(resCond); assertEquals(leaf, SearchCondConverter.convert(VISITOR, fiql)); diff --git a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java index 24e8f8b6ce..4c73c531a3 100644 --- a/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java +++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java @@ -435,13 +435,13 @@ public class PGJPAJSONAnySearchDAO extends JPAAnySearchDAO { query.append("SELECT DISTINCT any_id FROM "). append(svs.resource().name). append(" WHERE resource_id=?"). - append(setParameter(parameters, cond.getResourceKey())); + append(setParameter(parameters, cond.getResource())); if (svs.anyTypeKind == AnyTypeKind.USER || svs.anyTypeKind == AnyTypeKind.ANY_OBJECT) { query.append(" UNION SELECT DISTINCT any_id FROM "). append(svs.groupResource().name). append(" WHERE resource_id=?"). - append(setParameter(parameters, cond.getResourceKey())); + append(setParameter(parameters, cond.getResource())); } query.append(')'); diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java index a0dc2fa084..8c0cbb207c 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyMatchDAO.java @@ -279,7 +279,7 @@ public class JPAAnyMatchDAO extends AbstractDAO<Any<?>> implements AnyMatchDAO { protected boolean matches(final Any<?> any, final ResourceCond cond, final boolean not) { boolean found = anyUtilsFactory.getInstance(any).getAllResources(any).stream(). - anyMatch(resource -> resource.getKey().equals(cond.getResourceKey())); + anyMatch(resource -> resource.getKey().equals(cond.getResource())); return not ? !found : found; } diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java index f7dacda6fd..9475f39935 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java @@ -867,13 +867,13 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO { query.append("SELECT DISTINCT any_id FROM "). append(svs.resource().name). append(" WHERE resource_id=?"). - append(setParameter(parameters, cond.getResourceKey())); + append(setParameter(parameters, cond.getResource())); if (svs.anyTypeKind == AnyTypeKind.USER || svs.anyTypeKind == AnyTypeKind.ANY_OBJECT) { query.append(" UNION SELECT DISTINCT any_id FROM "). append(svs.groupResource().name). append(" WHERE resource_id=?"). - append(setParameter(parameters, cond.getResourceKey())); + append(setParameter(parameters, cond.getResource())); } query.append(')'); diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnyMatchTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnyMatchTest.java index 8c60f6eaea..dcdadf2234 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnyMatchTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnyMatchTest.java @@ -63,10 +63,10 @@ public class AnyMatchTest extends AbstractTest { assertNotNull(user); ResourceCond resourceCond = new ResourceCond(); - resourceCond.setResourceKey("resource-testdb2"); + resourceCond.setResource("resource-testdb2"); assertTrue(anyMatcher.matches(user, SearchCond.getLeaf(resourceCond))); - resourceCond.setResourceKey("ws-target-resource-delete"); + resourceCond.setResource("ws-target-resource-delete"); assertFalse(anyMatcher.matches(user, SearchCond.getLeaf(resourceCond))); } diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnySearchTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnySearchTest.java index 926ce35b01..d29d8ed36f 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnySearchTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/AnySearchTest.java @@ -375,10 +375,10 @@ public class AnySearchTest extends AbstractTest { @Test public void searchByResource() { ResourceCond ws2 = new ResourceCond(); - ws2.setResourceKey("ws-target-resource-2"); + ws2.setResource("ws-target-resource-2"); ResourceCond ws1 = new ResourceCond(); - ws1.setResourceKey("ws-target-resource-list-mappings-2"); + ws1.setResource("ws-target-resource-list-mappings-2"); SearchCond searchCondition = SearchCond.getAnd(SearchCond.getNotLeaf(ws2), SearchCond.getLeaf(ws1)); assertTrue(searchCondition.isValid()); @@ -712,10 +712,10 @@ public class AnySearchTest extends AbstractTest { @Test public void issue202() { ResourceCond ws2 = new ResourceCond(); - ws2.setResourceKey("ws-target-resource-2"); + ws2.setResource("ws-target-resource-2"); ResourceCond ws1 = new ResourceCond(); - ws1.setResourceKey("ws-target-resource-list-mappings-1"); + ws1.setResource("ws-target-resource-list-mappings-1"); SearchCond searchCondition = SearchCond.getAnd(SearchCond.getNotLeaf(ws2), SearchCond.getNotLeaf(ws1)); diff --git a/ext/elasticsearch/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/ElasticsearchAnySearchDAO.java b/ext/elasticsearch/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/ElasticsearchAnySearchDAO.java index 7bc554eab0..d203491980 100644 --- a/ext/elasticsearch/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/ElasticsearchAnySearchDAO.java +++ b/ext/elasticsearch/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/ElasticsearchAnySearchDAO.java @@ -518,7 +518,7 @@ public class ElasticsearchAnySearchDAO extends AbstractAnySearchDAO { protected Query getQuery(final ResourceCond cond) { return new Query.Builder().term(QueryBuilders.term(). - field("resources").value(FieldValue.of(cond.getResourceKey())).build()). + field("resources").value(FieldValue.of(cond.getResource())).build()). build(); } diff --git a/pom.xml b/pom.xml index 56b65410d6..632684511f 100644 --- a/pom.xml +++ b/pom.xml @@ -430,7 +430,7 @@ under the License. <slf4j.version>1.7.36</slf4j.version> - <elasticsearch.version>8.2.2</elasticsearch.version> + <elasticsearch.version>8.2.3</elasticsearch.version> <apacheds.version>2.0.0.AM26</apacheds.version> <apachedirapi.version>2.0.0</apachedirapi.version> diff --git a/wa/starter/src/test/java/org/apache/syncope/wa/starter/pac4j/saml/BaseWASAML2ClientTest.java b/wa/starter/src/test/java/org/apache/syncope/wa/starter/pac4j/saml/BaseWASAML2ClientTest.java index 55dd52543f..498b30614a 100644 --- a/wa/starter/src/test/java/org/apache/syncope/wa/starter/pac4j/saml/BaseWASAML2ClientTest.java +++ b/wa/starter/src/test/java/org/apache/syncope/wa/starter/pac4j/saml/BaseWASAML2ClientTest.java @@ -111,7 +111,7 @@ public abstract class BaseWASAML2ClientTest { protected static String getKeystoreAsString() throws Exception { char[] pwdArray = "password".toCharArray(); - try ( ByteArrayOutputStream fos = new ByteArrayOutputStream()) { + try (ByteArrayOutputStream fos = new ByteArrayOutputStream()) { getKeystore().store(fos, pwdArray); fos.flush(); return Base64.getEncoder().encodeToString(fos.toByteArray());