From 0def208ba97c4daca8230aa45d4244891cccf214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Mon, 9 Jul 2018 14:06:40 +0200 Subject: [PATCH 0001/1588] Adjusting docs links --- src/main/asciidoc/getting-started/obtain.adoc | 2 +- .../reference-guide/concepts/audit.adoc | 6 ++-- .../concepts/entitlements.adoc | 6 ++-- .../reference-guide/concepts/extensions.adoc | 12 +++---- .../concepts/externalresources.adoc | 4 +-- .../concepts/notifications.adoc | 4 +-- .../reference-guide/concepts/policies.adoc | 32 +++++++++---------- .../concepts/provisioning/propagation.adoc | 14 ++++---- .../concepts/provisioning/provisioning.adoc | 12 +++---- .../concepts/provisioning/pull.adoc | 19 +++-------- .../concepts/provisioning/push.adoc | 2 +- .../reference-guide/concepts/realms.adoc | 2 +- .../reference-guide/concepts/reports.adoc | 24 +++++++------- .../reference-guide/concepts/tasks.adoc | 14 ++++---- .../concepts/typemanagement.adoc | 8 ++--- .../reference-guide/concepts/workflow.adoc | 18 +++++------ .../customization.adoc | 18 +++++------ .../restfulservices.adoc | 6 ++-- .../systemadministration/dbms.adoc | 4 +-- .../systemadministration/javaeecontainer.adoc | 6 ++-- .../systemadministration/keystore.adoc | 2 +- src/site/xdoc/integration.xml | 7 ++-- 22 files changed, 108 insertions(+), 114 deletions(-) diff --git a/src/main/asciidoc/getting-started/obtain.adoc b/src/main/asciidoc/getting-started/obtain.adoc index 3c7df2d6798..f02fbf4eaf3 100644 --- a/src/main/asciidoc/getting-started/obtain.adoc +++ b/src/main/asciidoc/getting-started/obtain.adoc @@ -347,7 +347,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/docker/src/main/resources[available^]. endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/docker/src/main/resources[available^]. +https://github.com/apache/syncope/tree/2_1_X/docker/src/main/resources[available^]. endif::[] .Syncope Core, Admin UI and Enduser UI with PostgreSQL diff --git a/src/main/asciidoc/reference-guide/concepts/audit.adoc b/src/main/asciidoc/reference-guide/concepts/audit.adoc index 4f195d7240a..b8adfe39e39 100644 --- a/src/main/asciidoc/reference-guide/concepts/audit.adoc +++ b/src/main/asciidoc/reference-guide/concepts/audit.adoc @@ -46,7 +46,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/audit/AuditAppender.java[AuditAppender^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/audit/AuditAppender.java[AuditAppender^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/audit/AuditAppender.java[AuditAppender^] endif::[] interface. @@ -60,7 +60,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultAuditAppender.java[DefaultAuditAppender^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultAuditAppender.java[DefaultAuditAppender^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultAuditAppender.java[DefaultAuditAppender^] endif::[] | This requires to specify (a) a set of events to which the appender is bound (log only if one of such events occurs) and (b) a target appender, e.g. one of https://logging.apache.org/log4j/2.x/manual/appenders.html[Apache Log4j 2 Appenders^] @@ -71,7 +71,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultRewriteAuditAppender.java[DefaultRewriteAuditAppender^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultRewriteAuditAppender.java[DefaultRewriteAuditAppender^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/audit/DefaultRewriteAuditAppender.java[DefaultRewriteAuditAppender^] endif::[] | In addition, this requires to provide a https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/appender/rewrite/RewritePolicy.html[RewritePolicy^] diff --git a/src/main/asciidoc/reference-guide/concepts/entitlements.adoc b/src/main/asciidoc/reference-guide/concepts/entitlements.adoc index 7bfa9e62dbc..29f0d05f837 100644 --- a/src/main/asciidoc/reference-guide/concepts/entitlements.adoc +++ b/src/main/asciidoc/reference-guide/concepts/entitlements.adoc @@ -27,7 +27,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java[RealmLogic^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java[RealmLogic^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java[RealmLogic^] endif::[] , the http://docs.spring.io/spring-security/site/docs/4.2.x/reference/htmlsingle/#el-common-built-in[`hasRole` expression^] @@ -50,14 +50,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/types/StandardEntitlement.java[statically defined^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/types/StandardEntitlement.java[statically defined^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/types/StandardEntitlement.java[statically defined^] endif::[] - even though <> have the ability to ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/types/CamelEntitlement.java[enlarge the initial list^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/types/CamelEntitlement.java[enlarge the initial list^] +https://github.com/apache/syncope/blob/2_1_X/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/types/CamelEntitlement.java[enlarge the initial list^] endif::[] : this is because entitlements are the pillars of the internal security model and are not meant for external usage. diff --git a/src/main/asciidoc/reference-guide/concepts/extensions.adoc b/src/main/asciidoc/reference-guide/concepts/extensions.adoc index 6ece7326196..173781ea7d9 100644 --- a/src/main/asciidoc/reference-guide/concepts/extensions.adoc +++ b/src/main/asciidoc/reference-guide/concepts/extensions.adoc @@ -54,7 +54,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/camel[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/camel[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/camel[source tree^] endif::[] . ==== @@ -80,7 +80,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/swagger-ui[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/swagger-ui[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/swagger-ui[source tree^] endif::[] . ==== @@ -105,7 +105,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/saml2sp[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/saml2sp[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/saml2sp[source tree^] endif::[] . ==== @@ -138,7 +138,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/oidcclient[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/oidcclient[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/oidcclient[source tree^] endif::[] . ==== @@ -166,7 +166,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/elasticsearch[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/elasticsearch[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/elasticsearch[source tree^] endif::[] . ==== @@ -191,7 +191,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/tree/syncope-{docVersion}/ext/scimv2[source tree^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/ext/scimv2[source tree^] +https://github.com/apache/syncope/tree/2_1_X/ext/scimv2[source tree^] endif::[] . ==== diff --git a/src/main/asciidoc/reference-guide/concepts/externalresources.adoc b/src/main/asciidoc/reference-guide/concepts/externalresources.adoc index 04c9517f190..052ed4ac5ba 100644 --- a/src/main/asciidoc/reference-guide/concepts/externalresources.adoc +++ b/src/main/asciidoc/reference-guide/concepts/externalresources.adoc @@ -54,7 +54,7 @@ When defining a connector instance, the following information must be provided: * administration realm - the <> under which administrators need to own <> in order to be allowed to manage this connector and all related external resources * connector bundle - one of the several -https://github.com/Tirasa/ConnId/blob/master/README.md#available-connectors[already available^], or some to be +https://github.com/Tirasa/ConnId/blob/2_1_X/README.md#available-connectors[already available^], or some to be https://connid.atlassian.net/wiki/display/BASE/Create+new+connector[made from scratch^], in order to fulfill specific requirements * pooling information @@ -142,7 +142,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/MappingItemTransformer.java[MappingItemTransformer^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/MappingItemTransformer.java[MappingItemTransformer^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/MappingItemTransformer.java[MappingItemTransformer^] endif::[] ; the purpose is to transform values before they are sent to or received from the underlying connector * mandatory condition - http://commons.apache.org/proper/commons-jexl/[JEXL^] expression indicating whether values for diff --git a/src/main/asciidoc/reference-guide/concepts/notifications.adoc b/src/main/asciidoc/reference-guide/concepts/notifications.adoc index d1c69aee9cd..eb5653daac7 100644 --- a/src/main/asciidoc/reference-guide/concepts/notifications.adoc +++ b/src/main/asciidoc/reference-guide/concepts/notifications.adoc @@ -40,7 +40,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/notification/NotificationRecipientsProvider.java[NotificationRecipientsProvider^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/notification/NotificationRecipientsProvider.java[NotificationRecipientsProvider^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/notification/NotificationRecipientsProvider.java[NotificationRecipientsProvider^] endif::[] interface * <> - event(s) triggering the enclosing notification @@ -117,7 +117,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java[UserTO^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java[UserTO^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java[UserTO^] endif::[] with actual value matching the _about_ condition as introduced above, can be used. diff --git a/src/main/asciidoc/reference-guide/concepts/policies.adoc b/src/main/asciidoc/reference-guide/concepts/policies.adoc index d5463cec124..9435e64c3b9 100644 --- a/src/main/asciidoc/reference-guide/concepts/policies.adoc +++ b/src/main/asciidoc/reference-guide/concepts/policies.adoc @@ -63,14 +63,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultAccountRule.java[DefaultAccountRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultAccountRule.java[DefaultAccountRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultAccountRule.java[DefaultAccountRule^] endif::[] and configurable via ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java[DefaultAccountRuleConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java[DefaultAccountRuleConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAccountRuleConf.java[DefaultAccountRuleConf^] endif::[] ) contains the following controls: @@ -94,21 +94,21 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] endif::[] . implementing enforcement in an implementation of ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] endif::[] annotated via ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] endif::[] referring to the configuration class ==== @@ -156,21 +156,21 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/policy/AccountRuleConf.java[AccountRuleConf^] endif::[] . implementing enforcement in an implementation of ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java[AccountRule^] endif::[] annotated via ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRuleConfClass.java[@AccountRuleConfClass^] endif::[] referring to the configuration class ==== @@ -182,14 +182,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPasswordRule.java[DefaultPasswordRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPasswordRule.java[DefaultPasswordRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPasswordRule.java[DefaultPasswordRule^] endif::[] and configurable via ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java[DefaultPasswordRuleConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java[DefaultPasswordRuleConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultPasswordRuleConf.java[DefaultPasswordRuleConf^] endif::[] ) contains the following controls: @@ -225,14 +225,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/HaveIBeenPwnedPasswordRule.java[HaveIBeenPwnedPasswordRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/HaveIBeenPwnedPasswordRule.java[HaveIBeenPwnedPasswordRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/HaveIBeenPwnedPasswordRule.java[HaveIBeenPwnedPasswordRule^] endif::[] and configurable via ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java[HaveIBeenPwnedPasswordRuleConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java[HaveIBeenPwnedPasswordRuleConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/policy/HaveIBeenPwnedPasswordRuleConf.java[HaveIBeenPwnedPasswordRuleConf^] endif::[] ) checks the provided password values against the popular https://haveibeenpwned.com["Have I Been Pwned?"^] service. @@ -273,7 +273,7 @@ https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa ] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPullCorrelationRule.java[default^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPullCorrelationRule.java[default^] endif::[] implementation attempts to match entities on the basis of the values of the provided plain attributes, according to the available <>. @@ -285,7 +285,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PullCorrelationRule.java[PullCorrelationRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PullCorrelationRule.java[PullCorrelationRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PullCorrelationRule.java[PullCorrelationRule^] endif::[] interface. ==== @@ -311,7 +311,7 @@ https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa ] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPushCorrelationRule.java[default^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/DefaultPushCorrelationRule.java[default^] endif::[] implementation attempts to match entities on the basis of the values of the provided plain attributes, according to the available <>. @@ -323,7 +323,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PushCorrelationRule.java[PushCorrelationRule^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PushCorrelationRule.java[PushCorrelationRule^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PushCorrelationRule.java[PushCorrelationRule^] endif::[] interface. ==== diff --git a/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc b/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc index ce781f70afd..98119e68bc2 100644 --- a/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc +++ b/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc @@ -72,7 +72,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^], +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^], endif::[] which implements the following logic: @@ -104,7 +104,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationTaskExecutor.java[PropagationTaskExecutor^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationTaskExecutor.java[PropagationTaskExecutor^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationTaskExecutor.java[PropagationTaskExecutor^] endif::[] interface can be provided, in case the required behavior does not fit into the provided implementation. @@ -116,7 +116,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java[PropagationActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java[PropagationActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/propagation/PropagationActions.java[PropagationActions^] endif::[] interface. @@ -130,7 +130,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java[LDAPMembershipPropagationActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java[LDAPMembershipPropagationActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java[LDAPMembershipPropagationActions^] endif::[] | If a User is associated with a Group in Syncope, keep the corresponding User as a member of the corresponding Group in LDAP. @@ -139,7 +139,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java[LDAPPasswordPropagationActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java[LDAPPasswordPropagationActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java[LDAPPasswordPropagationActions^] endif::[] | If no password value was already provided in the propagation task, sends out the internal password hash value to LDAP; the cipher algorithm associated with the password must match the value of `passwordHashAlgorithm` for the @@ -150,7 +150,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java[DBPasswordPropagationActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java[DBPasswordPropagationActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/DBPasswordPropagationActions.java[DBPasswordPropagationActions^] endif::[] | If no password value was already provided in the propagation task, sends out the internal password hash value to DBMS; the cipher algorithm associated with the password must match the value of `Password cipher algorithm` for the @@ -161,7 +161,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/GoogleAppsPropagationActions.java[GoogleAppsPropagationActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/GoogleAppsPropagationActions.java[GoogleAppsPropagationActions^] +https://github.com/apache/syncope/tree/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/GoogleAppsPropagationActions.java[GoogleAppsPropagationActions^] endif::[] | Required for setup of an External Resource based on the https://connid.atlassian.net/wiki/display/BASE/Google+Apps#GoogleApps-Configuration[ConnId GoogleApps connector bundle^]. diff --git a/src/main/asciidoc/reference-guide/concepts/provisioning/provisioning.adoc b/src/main/asciidoc/reference-guide/concepts/provisioning/provisioning.adoc index a1c9c5dda75..f7c8115bf1f 100644 --- a/src/main/asciidoc/reference-guide/concepts/provisioning/provisioning.adoc +++ b/src/main/asciidoc/reference-guide/concepts/provisioning/provisioning.adoc @@ -48,19 +48,19 @@ ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/UserProvisioningManager.java[UserProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/UserProvisioningManager.java[UserProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/UserProvisioningManager.java[UserProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/GroupProvisioningManager.java[GroupProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/GroupProvisioningManager.java[GroupProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/GroupProvisioningManager.java[GroupProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/AnyObjectProvisioningManager.java[AnyObjectProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/AnyObjectProvisioningManager.java[AnyObjectProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/AnyObjectProvisioningManager.java[AnyObjectProvisioningManager^] endif::[] Default implementations are available: @@ -69,19 +69,19 @@ ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultUserProvisioningManager.java[DefaultUserProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultUserProvisioningManager.java[DefaultUserProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultUserProvisioningManager.java[DefaultUserProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java[DefaultGroupProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java[DefaultGroupProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java[DefaultGroupProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java[DefaultAnyObjectProvisioningManager^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java[DefaultAnyObjectProvisioningManager^] +* https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultAnyObjectProvisioningManager.java[DefaultAnyObjectProvisioningManager^] endif::[] An Apache Camel-based implementation is available as <>. diff --git a/src/main/asciidoc/reference-guide/concepts/provisioning/pull.adoc b/src/main/asciidoc/reference-guide/concepts/provisioning/pull.adoc index 2d88bf443cc..aa46cd29eec 100644 --- a/src/main/asciidoc/reference-guide/concepts/provisioning/pull.adoc +++ b/src/main/asciidoc/reference-guide/concepts/provisioning/pull.adoc @@ -63,7 +63,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java[ReconciliationFilterBuilder^]) endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java[ReconciliationFilterBuilder^]) +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/ReconciliationFilterBuilder.java[ReconciliationFilterBuilder^]) endif::[] of all available entities is processed. INCREMENTAL:: Only the actual modifications performed since the last pull task execution are considered. This mode @@ -94,7 +94,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java[PullActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java[PullActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PullActions.java[PullActions^] endif::[] interface. @@ -108,7 +108,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActions.java[LDAPMembershipPullActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActions.java[LDAPMembershipPullActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActions.java[LDAPMembershipPullActions^] endif::[] | If a User is associated with a Group in LDAP, keep the corresponding User as a member of the corresponding Group in Syncope. @@ -117,7 +117,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java[LDAPPasswordPullActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java[LDAPPasswordPullActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java[LDAPPasswordPullActions^] endif::[] | Import hashed password values from LDAP; the cipher algorithm associated with the password must match the value of `passwordHashAlgorithm` for the @@ -128,21 +128,12 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java[DBPasswordPullActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java[DBPasswordPullActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/DBPasswordPullActions.java[DBPasswordPullActions^] endif::[] | Import hashed password values from DBMS; the cipher algorithm associated with the password must match the value of `Password cipher algorithm` for the https://connid.atlassian.net/wiki/display/BASE/Database+Table#DatabaseTable-ConfigurationProperties[DatabaseTable connector bundle^]. -| -ifeval::["{snapshotOrRelease}" == "release"] -https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GoogleAppsPullActions.java[GoogleAppsPullActions^] -endif::[] -ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/GoogleAppsPullActions.java[GoogleAppsPullActions^] -endif::[] -| Required for setup of an External Resource based on the https://connid.atlassian.net/wiki/display/BASE/Google+Apps#GoogleApps-Configuration[ConnId GoogleApps connector bundle^]. - |=== ===== Remediation diff --git a/src/main/asciidoc/reference-guide/concepts/provisioning/push.adoc b/src/main/asciidoc/reference-guide/concepts/provisioning/push.adoc index 03d3705ec14..d765ee45bea 100644 --- a/src/main/asciidoc/reference-guide/concepts/provisioning/push.adoc +++ b/src/main/asciidoc/reference-guide/concepts/provisioning/push.adoc @@ -59,6 +59,6 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java[PushActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java[PushActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/pushpull/PushActions.java[PushActions^] endif::[] interface. diff --git a/src/main/asciidoc/reference-guide/concepts/realms.adoc b/src/main/asciidoc/reference-guide/concepts/realms.adoc index b79d075fe33..4699380bad2 100644 --- a/src/main/asciidoc/reference-guide/concepts/realms.adoc +++ b/src/main/asciidoc/reference-guide/concepts/realms.adoc @@ -79,6 +79,6 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java[LogicActions^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java[LogicActions^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/LogicActions.java[LogicActions^] endif::[] interface. diff --git a/src/main/asciidoc/reference-guide/concepts/reports.adoc b/src/main/asciidoc/reference-guide/concepts/reports.adoc index 474e696ce07..41ae0786563 100644 --- a/src/main/asciidoc/reference-guide/concepts/reports.adoc +++ b/src/main/asciidoc/reference-guide/concepts/reports.adoc @@ -60,7 +60,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/AbstractReportlet.java[AbstractReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/AbstractReportlet.java[AbstractReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/AbstractReportlet.java[AbstractReportlet^] endif::[] and implementing the information extraction logic and generating an XML stream as result * a Java class extending @@ -68,7 +68,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java[AbstractReportletConf^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java[AbstractReportletConf^] +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/AbstractReportletConf.java[AbstractReportletConf^] endif::[] and embedding the configuration options that can be tuned when incorporating a given reportlet into a report; when properly annotated, such options are manageable via the <> @@ -83,14 +83,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/StaticReportlet.java[StaticReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/StaticReportlet.java[StaticReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/StaticReportlet.java[StaticReportlet^] endif::[] and ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java[StaticReportletConf^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java[StaticReportletConf^], +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/StaticReportletConf.java[StaticReportletConf^], endif::[] it is essentially a handy way to inject static values (of various types) into a report. @@ -100,14 +100,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/UserReportlet.java[UserReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/UserReportlet.java[UserReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/UserReportlet.java[UserReportlet^] endif::[] and ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java[UserReportletConf^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java[UserReportletConf^], +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/UserReportletConf.java[UserReportletConf^], endif::[] it can be used to report various information about Users available in the internal storage, their attributes, memberships and relationships, external resources and so on. @@ -117,14 +117,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/GroupReportlet.java[GroupReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/GroupReportlet.java[GroupReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/GroupReportlet.java[GroupReportlet^] endif::[] and ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java[GroupReportletConf^]. endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java[GroupReportletConf^]. +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/GroupReportletConf.java[GroupReportletConf^]. endif::[] ===== Reconciliation Reportlet @@ -134,14 +134,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReconciliationReportlet.java[ReconciliationReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReconciliationReportlet.java[ReconciliationReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReconciliationReportlet.java[ReconciliationReportlet^] endif::[] and ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java[ReconciliationReportletConf^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java[ReconciliationReportletConf^], +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java[ReconciliationReportletConf^], endif::[] it provides the global reconciliation status for all Users, Groups and Any Objects available in the internal storage, e.g. whether such entities are available on all Identity Stores matching the assigned @@ -158,13 +158,13 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/report/AuditReportlet.java[AuditReportlet^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/report/AuditReportlet.java[AuditReportlet^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/report/AuditReportlet.java[AuditReportlet^] endif::[] and ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java[AuditReportletConf^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java[AuditReportletConf^], +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/report/AuditReportletConf.java[AuditReportletConf^], endif::[] it is mostly a sample reportlet showing how to extract data produced by <>. diff --git a/src/main/asciidoc/reference-guide/concepts/tasks.adoc b/src/main/asciidoc/reference-guide/concepts/tasks.adoc index 097916fc791..dd1029a8a6b 100644 --- a/src/main/asciidoc/reference-guide/concepts/tasks.adoc +++ b/src/main/asciidoc/reference-guide/concepts/tasks.adoc @@ -50,14 +50,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java[PropagationManager^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java[PropagationManager^], +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PropagationManagerImpl.java[PropagationManager^], endif::[] executed (by default) via the ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/PriorityPropagationTaskExecutor.java[PriorityPropagationTaskExecutor^] endif::[] during the <> process, and are permanently saved - for later re-execution or for examining the execution details - depending on the trace levels set on the related @@ -91,7 +91,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullJobDelegate.java[PullJobDelegate^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullJobDelegate.java[PullJobDelegate^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PullJobDelegate.java[PullJobDelegate^] endif::[] during the <> process, and are permanently saved - for later re-execution or for examining the execution details - depending on the trace level set on the related @@ -131,7 +131,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushJobDelegate.java[PushJobDelegate^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushJobDelegate.java[PushJobDelegate^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/PushJobDelegate.java[PushJobDelegate^] endif::[] during the <> process, and are permanently saved - for later re-execution or for examining the execution details - depending on the trace level set on the related @@ -157,14 +157,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/NotificationManagerImpl.java[NotificationManager^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/NotificationManagerImpl.java[NotificationManager^], +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/notification/NotificationManagerImpl.java[NotificationManager^], endif::[] executed via the ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/logic/src/main/java/org/apache/syncope/core/logic/notification/NotificationJob.java[NotificationJob^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/logic/src/main/java/org/apache/syncope/core/logic/notification/NotificationJob.java[NotificationJob^] +https://github.com/apache/syncope/blob/2_1_X/core/logic/src/main/java/org/apache/syncope/core/logic/notification/NotificationJob.java[NotificationJob^] endif::[] and are permanently saved - for later re-execution or for examining the execution details - depending on the trace level set on the related <>. @@ -182,7 +182,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java[AbstractSchedTaskJobDelegate^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java[AbstractSchedTaskJobDelegate^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java[AbstractSchedTaskJobDelegate^] endif::[] providing the custom logic to execute * scheduling information: diff --git a/src/main/asciidoc/reference-guide/concepts/typemanagement.adoc b/src/main/asciidoc/reference-guide/concepts/typemanagement.adoc index a38c33b5235..f6a561b13a4 100644 --- a/src/main/asciidoc/reference-guide/concepts/typemanagement.adoc +++ b/src/main/asciidoc/reference-guide/concepts/typemanagement.adoc @@ -54,7 +54,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/attrvalue/validation/EmailAddressValidator.java[EmailAddressValidator^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/attrvalue/validation/EmailAddressValidator.java[EmailAddressValidator^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/attrvalue/validation/EmailAddressValidator.java[EmailAddressValidator^] endif::[] for reference * Mandatory condition - http://commons.apache.org/proper/commons-jexl/[JEXL^] expression indicating whether values for @@ -113,7 +113,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/cache/VirAttrCache.java[VirAttrCache^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/cache/VirAttrCache.java[VirAttrCache^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/cache/VirAttrCache.java[VirAttrCache^] endif::[] interface, and is configurable. @@ -127,7 +127,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/MemoryVirAttrCache.java[MemoryVirAttrCache^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/MemoryVirAttrCache.java[MemoryVirAttrCache^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/MemoryVirAttrCache.java[MemoryVirAttrCache^] endif::[] | Simple fixed-size in-memory cache, with configurable time-to-live. @@ -136,7 +136,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/DisabledVirAttrCache.java[DisabledVirAttrCache^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/DisabledVirAttrCache.java[DisabledVirAttrCache^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/cache/DisabledVirAttrCache.java[DisabledVirAttrCache^] endif::[] | Pass-through cache which actually does not provide any caching: use when direct access to the Identity Store is required. diff --git a/src/main/asciidoc/reference-guide/concepts/workflow.adoc b/src/main/asciidoc/reference-guide/concepts/workflow.adoc index 632711997c1..4b8002d4724 100644 --- a/src/main/asciidoc/reference-guide/concepts/workflow.adoc +++ b/src/main/asciidoc/reference-guide/concepts/workflow.adoc @@ -35,19 +35,19 @@ ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/UserWorkflowAdapter.java[UserWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/UserWorkflowAdapter.java[UserWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/UserWorkflowAdapter.java[UserWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java[GroupWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java[GroupWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/GroupWorkflowAdapter.java[GroupWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java[AnyObjectWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java[AnyObjectWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-api/src/main/java/org/apache/syncope/core/workflow/api/AnyObjectWorkflowAdapter.java[AnyObjectWorkflowAdapter^] endif::[] Default implementations are available: @@ -56,19 +56,19 @@ ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java[DefaultUserWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java[DefaultUserWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java[DefaultUserWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java[DefaultGroupWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java[DefaultGroupWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java[DefaultGroupWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "release"] * https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java[DefaultAnyObjectWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -* https://github.com/apache/syncope/blob/master/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java[DefaultAnyObjectWorkflowAdapter^] +* https://github.com/apache/syncope/blob/2_1_X/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java[DefaultAnyObjectWorkflowAdapter^] endif::[] Custom adapters can be provided by implementing the related interfaces, also as bridges towards third-party tools as @@ -85,14 +85,14 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java[FlowableUserWorkflowAdapter^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java[FlowableUserWorkflowAdapter^] +https://github.com/apache/syncope/blob/2_1_X/core/workflow-flowable/src/main/java/org/apache/syncope/core/workflow/flowable/FlowableUserWorkflowAdapter.java[FlowableUserWorkflowAdapter^] endif::[] is bootstrapped from ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/workflow-flowable/src/main/resources/userWorkflow.bpmn20.xml[userWorkflow.bpmn20.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/workflow-flowable/src/main/resources/userWorkflow.bpmn20.xml[userWorkflow.bpmn20.xml^] +https://github.com/apache/syncope/blob/2_1_X/core/workflow-flowable/src/main/resources/userWorkflow.bpmn20.xml[userWorkflow.bpmn20.xml^] endif::[] and presents several advantages and more features, if compared to the default user adapter: @@ -199,7 +199,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/IdentityRecertification.java[IdentityRecertification^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/IdentityRecertification.java[IdentityRecertification^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/IdentityRecertification.java[IdentityRecertification^] endif::[] class, which can be used as base to implement more complex recertification processes. diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/customization.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/customization.adoc index e0088b54166..8eb8faa538f 100644 --- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/customization.adoc +++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/customization.adoc @@ -45,7 +45,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeAuthenticationProvider.java[SyncopeAuthenticationProvider^]. endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeAuthenticationProvider.java[SyncopeAuthenticationProvider^]. +https://github.com/apache/syncope/blob/2_1_X/core/spring/src/main/java/org/apache/syncope/core/spring/security/SyncopeAuthenticationProvider.java[SyncopeAuthenticationProvider^]. endif::[] The same happens with resources as images or HTML files; if you place @@ -57,7 +57,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html[BasePage.html^]. endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html[BasePage.html^]. +https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html[BasePage.html^]. endif::[] This general behavior might have exceptions, as highlighted below. @@ -206,7 +206,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/camel/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CamelRouteService.java[CamelRouteService^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/camel/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CamelRouteService.java[CamelRouteService^] +https://github.com/apache/syncope/blob/2_1_X/ext/camel/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CamelRouteService.java[CamelRouteService^] endif::[] for reference; . if needed, define supporting payload objects - in an extension's `common-lib` module or under `common` otherwise; @@ -215,7 +215,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/to/CamelRouteTO.java[CamelRouteTO^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/to/CamelRouteTO.java[CamelRouteTO^] +https://github.com/apache/syncope/blob/2_1_X/ext/camel/common-lib/src/main/java/org/apache/syncope/common/lib/to/CamelRouteTO.java[CamelRouteTO^] endif::[] for reference; . implement - in an extension's `rest-cxf` module or under `core` otherwise - the interface defined above in a Java @@ -224,7 +224,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/camel/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/CamelRouteServiceImpl.java[CamelRouteServiceImpl^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/camel/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/CamelRouteServiceImpl.java[CamelRouteServiceImpl^] +https://github.com/apache/syncope/blob/2_1_X/ext/camel/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/CamelRouteServiceImpl.java[CamelRouteServiceImpl^] endif::[] for reference. @@ -239,7 +239,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/spring/src/main/resources/securityContext.xml[securityContext.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/spring/src/main/resources/securityContext.xml[securityContext.xml^] +https://github.com/apache/syncope/blob/2_1_X/core/spring/src/main/resources/securityContext.xml[securityContext.xml^] endif::[] , you will also need to replace the following text in `core/src/main/webapp/WEB-INF/web.xml`, @@ -393,7 +393,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/elasticsearch/persistence-jpa/src/main/resources/persistence.properties[persistence.properties^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/elasticsearch/persistence-jpa/src/main/resources/persistence.properties[persistence.properties^] +https://github.com/apache/syncope/blob/2_1_X/ext/elasticsearch/persistence-jpa/src/main/resources/persistence.properties[persistence.properties^] endif::[] and @@ -402,7 +402,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/elasticsearch/client-elasticsearch/src/main/resources/elasticsearchClientContext.xml[elasticsearchClientContext.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/elasticsearch/client-elasticsearch/src/main/resources/elasticsearchClientContext.xml[elasticsearchClientContext.xml^] +https://github.com/apache/syncope/blob/2_1_X/ext/elasticsearch/client-elasticsearch/src/main/resources/elasticsearchClientContext.xml[elasticsearchClientContext.xml^] endif::[] then save both under `core/src/main/resources`. @@ -774,5 +774,5 @@ Moreover, `defaultValues` do not overwrite any existing value. <> can be part of a local project, to encapsulate special features which are specific to a given deployment. For example, the http://www.chorevolution.eu/[CHOReVOLUTION^] IdM - based on Apache Syncope - provides -https://gitlab.ow2.org/chorevolution/syncope/tree/master/ext/choreography[an extension^] +https://gitlab.ow2.org/chorevolution/syncope/tree/2_1_X/ext/choreography[an extension^] for managing via the <> and visualizing via the <> the running choreography instances. diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/restfulservices.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/restfulservices.adoc index 1266a253329..6a13c6fe6a6 100644 --- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/restfulservices.adoc +++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/restfulservices.adoc @@ -65,7 +65,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/spring/src/main/resources/securityContext.xml[securityContext.xml^]; endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/spring/src/main/resources/securityContext.xml[securityContext.xml^]; +https://github.com/apache/syncope/blob/2_1_X/core/spring/src/main/resources/securityContext.xml[securityContext.xml^]; endif::[] while normally not needed, this configuration can be anyway customized via the <>. @@ -80,7 +80,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTSSOProvider.java[JWTSSOProvider^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTSSOProvider.java[JWTSSOProvider^] +https://github.com/apache/syncope/tree/2_1_X/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTSSOProvider.java[JWTSSOProvider^] endif::[] interface. @@ -155,7 +155,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java[ClientExceptionType^]) endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java[ClientExceptionType^]) +https://github.com/apache/syncope/blob/2_1_X/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java[ClientExceptionType^]) endif::[] and `X-Application-Error-Info` might be optionally populated with more details, if available. diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc index 0a29ab0aff2..34e87e676cf 100644 --- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc +++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc @@ -52,7 +52,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/fit/core-reference/src/main/resources/postgres/views.xml[views.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/fit/core-reference/src/main/resources/postgres/views.xml[views.xml^] +https://github.com/apache/syncope/tree/2_1_X/fit/core-reference/src/main/resources/postgres/views.xml[views.xml^] endif::[] and save it under `core/src/main/resources/`. @@ -182,6 +182,6 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/fit/core-reference/src/main/resources/sqlserver/views.xml[views.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/tree/master/fit/core-reference/src/main/resources/sqlserver/views.xml[views.xml^] +https://github.com/apache/syncope/tree/2_1_X/fit/core-reference/src/main/resources/sqlserver/views.xml[views.xml^] endif::[] and save it under `core/src/main/resources/`. diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc index 27a95d9cbfe..d10cf967069 100644 --- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc +++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc @@ -154,7 +154,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/fit/core-reference/src/main/resources/jboss/restCXFContext.xml[restCXFContext.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/fit/core-reference/src/main/resources/jboss/restCXFContext.xml[restCXFContext.xml^] +https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/main/resources/jboss/restCXFContext.xml[restCXFContext.xml^] endif::[] and save it under `core/src/main/resources/`. @@ -163,7 +163,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/fit/core-reference/src/main/resources/jboss/domains.xml[domains.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/fit/core-reference/src/main/resources/jboss/domains.xml[domains.xml^] +https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/main/resources/jboss/domains.xml[domains.xml^] endif::[] and save it under `core/src/main/resources/`. @@ -172,7 +172,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/core/persistence-jpa/src/main/resources/persistenceContext.xml[persistenceContext.xml^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/main/resources/persistenceContext.xml[persistenceContext.xml^] +https://github.com/apache/syncope/blob/2_1_X/core/persistence-jpa/src/main/resources/persistenceContext.xml[persistenceContext.xml^] endif::[] and save it under `core/src/main/resources/`. diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/keystore.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/keystore.adoc index d120eb6c74a..5af3fed0f24 100644 --- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/keystore.adoc +++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/keystore.adoc @@ -132,7 +132,7 @@ ifeval::["{snapshotOrRelease}" == "release"] https://github.com/apache/syncope/blob/syncope-{docVersion}/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SignatureAlgorithm.java[available values^], endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/master/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SignatureAlgorithm.java[available values^], +https://github.com/apache/syncope/blob/2_1_X/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SignatureAlgorithm.java[available values^], endif::[] each of which correspond to a shorthand for an associated algorithm as defined for use in the XML Signature specification. + diff --git a/src/site/xdoc/integration.xml b/src/site/xdoc/integration.xml index a263f8d144f..668fb8a5cac 100644 --- a/src/site/xdoc/integration.xml +++ b/src/site/xdoc/integration.xml @@ -50,10 +50,13 @@ under the License.

- https://ci.apache.org/builders/syncope-master-docs + https://ci.apache.org/builders/syncope-master-docs

- https://ci.apache.org/builders/syncope-master-docs + https://ci.apache.org/builders/syncope-2_1_X-docs +

+

+ https://ci.apache.org/builders/syncope-2_0_X-docs

From d59627fea5764eb19079d46cfd3a97b288a33867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Mon, 9 Jul 2018 14:08:18 +0200 Subject: [PATCH 0002/1588] Removing CONTRIBUTING.md and README.md for non-master branch --- CONTRIBUTING.md | 22 ---------------------- README.md | 33 --------------------------------- 2 files changed, 55 deletions(-) delete mode 100644 CONTRIBUTING.md delete mode 100644 README.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 7bc7e4b1c36..00000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,22 +0,0 @@ - -**Apache Syncope** is an Open Source system for managing digital identities in enterprise environments, -implemented in Java EE technology and released under Apache 2.0 license. - -Would you like to contribute? Visit http://syncope.apache.org/contributing.html diff --git a/README.md b/README.md deleted file mode 100644 index c4468af4354..00000000000 --- a/README.md +++ /dev/null @@ -1,33 +0,0 @@ - -**Apache Syncope** is an Open Source system for managing digital identities in enterprise environments, -implemented in Java EE technology and released under Apache 2.0 license. - -More information at http://syncope.apache.org - - - - - - - - - - - From 251c267a7ef5b6b7b9c9336f1303642375525b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Tue, 10 Jul 2018 09:47:26 +0200 Subject: [PATCH 0003/1588] Better help message for JEXL mapping transformers, remarking that only 'value' shall be used --- .../client/console/commons/Constants.java | 26 ++++++++++++++----- .../markup/html/form/AjaxTextFieldPanel.java | 8 +++++- .../JEXLTransformersTogglePanel.java | 4 +-- .../java/data/JEXLItemTransformerImpl.java | 2 -- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java index 01ea08a01a3..2fceb732f66 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java @@ -200,15 +200,27 @@ public final class Constants { public static final String GUARDED_BYTE_ARRAY = "org.identityconnectors.common.security.GuardedByteArray"; public static Component getJEXLPopover(final Component caller, final TooltipConfig.Placement placement) { + return getJEXLPopover(caller, placement, caller.getString("jexl_ex1"), caller.getString("jexl_ex2")); + } + + public static Component getJEXLPopover( + final Component caller, + final TooltipConfig.Placement placement, + final String... jexlExamples) { + + StringBuilder body = new StringBuilder(caller.getString("jexl_info")). + append("
    "); + for (String jexlExample : jexlExamples) { + body.append("
  • ").append(jexlExample).append("
  • "); + } + body.append("
"). + append(""). + append(caller.getString("jexl_syntax_url")). + append(""); + return new Label("jexlInfo", Model.of()).add(new PopoverBehavior( Model.of(), - Model.of(caller.getString("jexl_info") - + "
    " - + "
  • " + caller.getString("jexl_ex1") + "
  • " - + "
  • " + caller.getString("jexl_ex2") + "
  • " - + "
" - + "" + caller.getString("jexl_syntax_url") + ""), + Model.of(body.toString()), new PopoverConfig().withHtml(true).withPlacement(placement)) { private static final long serialVersionUID = -7867802555691605021L; diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java index 8d0c66507e6..4396a7ec89d 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java @@ -40,7 +40,7 @@ public class AjaxTextFieldPanel extends FieldPanel implements Cloneable private static final long serialVersionUID = 238940918106696068L; - private final Component questionMarkJexlHelp; + private Component questionMarkJexlHelp; private List choices = Collections.emptyList(); @@ -113,6 +113,12 @@ public FieldPanel enableJexlHelp() { return this; } + public FieldPanel enableJexlHelp(final String... jexlExamples) { + questionMarkJexlHelp = Constants.getJEXLPopover(this, TooltipConfig.Placement.bottom, jexlExamples); + addOrReplace(questionMarkJexlHelp.setVisible(true)); + return this; + } + protected Iterator getChoices(final String input) { Pattern pattern = Pattern.compile(".*" + Pattern.quote(input) + ".*", Pattern.CASE_INSENSITIVE); return choices.stream().filter(choice -> pattern.matcher(choice).matches()).iterator(); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java index fdbab7157b6..f375a68f13c 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java @@ -49,13 +49,13 @@ public JEXLTransformersTogglePanel(final WebMarkupContainer container, final Pag "propagationJEXLTransformer", "Propagation", Model.of("")); - form.add(propagationJEXLTransformer.enableJexlHelp()); + form.add(propagationJEXLTransformer.enableJexlHelp("value.toLowecase()", "'PREFIX' + value")); pullJEXLTransformer = new AjaxTextFieldPanel( "pullJEXLTransformer", "Pull", Model.of("")); - form.add(pullJEXLTransformer.enableJexlHelp()); + form.add(pullJEXLTransformer.enableJexlHelp("value.toLowecase()", "'PREFIX' + value")); form.add(new AjaxSubmitLink("submit", form) { diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java index 67c34398cc7..4ed74773bd8 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java @@ -94,7 +94,6 @@ public List beforePull( JexlUtils.addAttrTOsToContext(((AnyTO) entityTO).getVirAttrs(), jexlContext); } else if (entityTO instanceof RealmTO) { JexlUtils.addFieldsToContext((RealmTO) entityTO, jexlContext); - newValues.add(JexlUtils.evaluate(pullJEXL, jexlContext)); } newValues.add(JexlUtils.evaluate(pullJEXL, jexlContext)); @@ -105,5 +104,4 @@ public List beforePull( return JEXLItemTransformer.super.beforePull(item, entityTO, values); } - } From 450f7c6878f48b87077d29868c869b72cf9bb308 Mon Sep 17 00:00:00 2001 From: fmartelli Date: Tue, 10 Jul 2018 10:50:23 +0200 Subject: [PATCH 0004/1588] [SYNCOPE-1333] fix into VirAttr step in order to retrieve virtual attributes from memberships --- .../apache/syncope/client/console/wizards/any/VirAttrs.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java index 7850fe9ebb8..79d58daa6af 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java @@ -34,6 +34,7 @@ import org.apache.syncope.common.lib.EntityTOUtils; import org.apache.syncope.common.lib.to.AnyTO; import org.apache.syncope.common.lib.to.AttrTO; +import org.apache.syncope.common.lib.to.GroupableRelatableTO; import org.apache.syncope.common.lib.to.MembershipTO; import org.apache.syncope.common.lib.to.VirSchemaTO; import org.apache.syncope.common.lib.types.SchemaType; @@ -145,7 +146,8 @@ protected void setAttrs() { protected void setAttrs(final MembershipTO membershipTO) { List attrs = new ArrayList<>(); - Map attrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs()); + Map attrMap = EntityTOUtils.buildAttrMap( + GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getVirAttrs()); attrs.addAll(membershipSchemas.get(membershipTO.getGroupKey()).values().stream().map(schema -> { AttrTO attrTO = new AttrTO(); From 2a6138672a9285b22a231b8bb5166b321e4e81dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Tue, 10 Jul 2018 11:00:25 +0200 Subject: [PATCH 0005/1588] [SYNCOPE-1333] fix build --- .../org/apache/syncope/client/console/wizards/any/VirAttrs.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java index 79d58daa6af..042e61e3e44 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java @@ -147,7 +147,7 @@ protected void setAttrs(final MembershipTO membershipTO) { List attrs = new ArrayList<>(); Map attrMap = EntityTOUtils.buildAttrMap( - GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getVirAttrs()); + GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).get().getVirAttrs()); attrs.addAll(membershipSchemas.get(membershipTO.getGroupKey()).values().stream().map(schema -> { AttrTO attrTO = new AttrTO(); From 7c6ab5e9b780699d50dde340611d790443426e9f Mon Sep 17 00:00:00 2001 From: fmartelli Date: Tue, 10 Jul 2018 12:23:52 +0200 Subject: [PATCH 0006/1588] [SYNCOPE-1333] same fix on Derived and Plain + code improving --- .../syncope/client/console/wizards/any/DerAttrs.java | 10 +++++++++- .../client/console/wizards/any/PlainAttrs.java | 12 ++++++++++-- .../syncope/client/console/wizards/any/VirAttrs.java | 10 ++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java index f064402cca2..dd94bc2da14 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -31,6 +32,7 @@ import org.apache.syncope.common.lib.to.AnyTO; import org.apache.syncope.common.lib.to.AttrTO; import org.apache.syncope.common.lib.to.DerSchemaTO; +import org.apache.syncope.common.lib.to.GroupableRelatableTO; import org.apache.syncope.common.lib.to.MembershipTO; import org.apache.syncope.common.lib.types.SchemaType; import org.apache.wicket.extensions.markup.html.tabs.AbstractTab; @@ -135,7 +137,13 @@ protected void setAttrs() { protected void setAttrs(final MembershipTO membershipTO) { List attrs = new ArrayList<>(); - Map attrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs()); + final Map attrMap; + if (GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).isPresent()) { + attrMap = EntityTOUtils.buildAttrMap(GroupableRelatableTO.class.cast(anyTO) + .getMembership(membershipTO.getGroupKey()).get().getDerAttrs()); + } else { + attrMap = new HashMap<>(); + } membershipSchemas.get(membershipTO.getGroupKey()).values().forEach(schema -> { AttrTO attrTO = new AttrTO(); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java index 3fcecf56f56..722adc945bd 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -47,6 +48,7 @@ import org.apache.syncope.common.lib.to.AnyTO; import org.apache.syncope.common.lib.to.AttrTO; import org.apache.syncope.common.lib.to.GroupTO; +import org.apache.syncope.common.lib.to.GroupableRelatableTO; import org.apache.syncope.common.lib.to.MembershipTO; import org.apache.syncope.common.lib.to.PlainSchemaTO; import org.apache.syncope.common.lib.to.UserTO; @@ -189,14 +191,20 @@ protected void setAttrs() { protected void setAttrs(final MembershipTO membershipTO) { List attrs = new ArrayList<>(); - Map attrMap = EntityTOUtils.buildAttrMap(membershipTO.getPlainAttrs()); + final Map attrMap; + if (GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).isPresent()) { + attrMap = EntityTOUtils.buildAttrMap(GroupableRelatableTO.class.cast(anyTO) + .getMembership(membershipTO.getGroupKey()).get().getPlainAttrs()); + } else { + attrMap = new HashMap<>(); + } attrs.addAll(membershipSchemas.get(membershipTO.getGroupKey()).values().stream(). map(schema -> { AttrTO attrTO = new AttrTO(); attrTO.setSchema(schema.getKey()); if (attrMap.get(schema.getKey()) == null || attrMap.get(schema.getKey()).getValues().isEmpty()) { - attrTO.getValues().add(""); + attrTO.getValues().add(StringUtils.EMPTY); // is important to set the schema info only after values setting attrTO.setSchemaInfo(schema); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java index 042e61e3e44..d2ceaefaf00 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -146,8 +147,13 @@ protected void setAttrs() { protected void setAttrs(final MembershipTO membershipTO) { List attrs = new ArrayList<>(); - Map attrMap = EntityTOUtils.buildAttrMap( - GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).get().getVirAttrs()); + final Map attrMap; + if (GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).isPresent()) { + attrMap = EntityTOUtils.buildAttrMap(GroupableRelatableTO.class.cast(anyTO) + .getMembership(membershipTO.getGroupKey()).get().getVirAttrs()); + } else { + attrMap = new HashMap<>(); + } attrs.addAll(membershipSchemas.get(membershipTO.getGroupKey()).values().stream().map(schema -> { AttrTO attrTO = new AttrTO(); From d74794203a90a068b97958b2526f73b235be4b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Tue, 10 Jul 2018 17:17:51 +0200 Subject: [PATCH 0007/1588] Adding YAML dependency in order to use Swagger UI for build-tools --- fit/build-tools/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fit/build-tools/pom.xml b/fit/build-tools/pom.xml index b2d100a0c6b..204eae592a2 100644 --- a/fit/build-tools/pom.xml +++ b/fit/build-tools/pom.xml @@ -102,6 +102,10 @@ under the License. com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-yaml-provider + org.webjars From b7b99e06bf0f05b2300f02c86b528fd772d6a6c2 Mon Sep 17 00:00:00 2001 From: lorenzo Date: Tue, 10 Jul 2018 13:39:17 +0200 Subject: [PATCH 0008/1588] insert loredicola developer section --- pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index dcd11b1f481..6a1fd3f8e93 100644 --- a/pom.xml +++ b/pom.xml @@ -313,6 +313,17 @@ under the License. http://people.apache.org/~skylark17/ skylark17@apache.org + + loredicola + Lorenzo Di Cola + Tirasa + http://www.tirasa.net/ + + committer + + http://people.apache.org/~loredicola/ + loredicola@apache.org + From ab4239e6222a0d3ff0d41e7491db252aca45d1bf Mon Sep 17 00:00:00 2001 From: dayash Date: Tue, 10 Jul 2018 14:09:10 +0200 Subject: [PATCH 0009/1588] Adding my info to developers in pom.xml --- pom.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pom.xml b/pom.xml index 6a1fd3f8e93..e8e41c3a965 100644 --- a/pom.xml +++ b/pom.xml @@ -324,6 +324,16 @@ under the License. http://people.apache.org/~loredicola/ loredicola@apache.org + + dimaayash + Dima Ayash + Tirasa + http://www.tirasa.net/ + + committer + + dimaayash@apache.org + From 007976ee56f5411b223d92f373fabffdb906a7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Tue, 10 Jul 2018 17:37:55 +0200 Subject: [PATCH 0010/1588] [SYNCOPE-1334] Just remove the unused (and outdated) junit dependency --- .../src/main/resources/archetype-resources/console/pom.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/archetype/src/main/resources/archetype-resources/console/pom.xml b/archetype/src/main/resources/archetype-resources/console/pom.xml index 479126c6925..51cec9be0e3 100644 --- a/archetype/src/main/resources/archetype-resources/console/pom.xml +++ b/archetype/src/main/resources/archetype-resources/console/pom.xml @@ -96,13 +96,6 @@ under the License. org.webjars codemirror - - - - junit - junit - test - From a6fd59aaf0b9a0377069df0ec7cb253155f7899e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Tue, 10 Jul 2018 18:04:46 +0200 Subject: [PATCH 0011/1588] Adjusting Jenkins job to deploy releases to Docker --- src/site/xdoc/release-process.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xdoc/release-process.xml b/src/site/xdoc/release-process.xml index 2d3ad584fac..a89ce049be6 100644 --- a/src/site/xdoc/release-process.xml +++ b/src/site/xdoc/release-process.xml @@ -586,7 +586,7 @@ svn commit -m "Promoting the staging site"]]>
  • Deploy the updated Docker images to DockerHub by adjusting the GIT tag - name then running the dedicated Jenkins job. + name then running the dedicated Jenkins job.
  • From ff93866846b8eddb51206b59be01c9a1a2d96d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Wed, 11 Jul 2018 12:15:07 +0200 Subject: [PATCH 0012/1588] [SYNCOPE-1335] Missing statements added --- .../core/upgrade/GenerateUpgradeSQL.java | 76 ++++++++++++++++++- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/core/upgrade/src/main/java/org/apache/syncope/core/upgrade/GenerateUpgradeSQL.java b/core/upgrade/src/main/java/org/apache/syncope/core/upgrade/GenerateUpgradeSQL.java index 6f69d72625c..01554f32604 100644 --- a/core/upgrade/src/main/java/org/apache/syncope/core/upgrade/GenerateUpgradeSQL.java +++ b/core/upgrade/src/main/java/org/apache/syncope/core/upgrade/GenerateUpgradeSQL.java @@ -91,10 +91,41 @@ public static void main(final String[] args) throws Exception { schemaTool.run(); // now proceed with manual update statements... + Connection conn = jdbcConf.getDataSource2(null).getConnection(); + + // User + OUT.write("UPDATE SyncopeUser SET mustChangePassword=0 WHERE mustChangePassword IS NULL;\n"); + + // VirSchema + OUT.write("UPDATE VirSchema SET readonly=0 WHERE readonly IS NULL;\n"); + + // ExternalResource + OUT.write("UPDATE ExternalResource SET overrideCapabilities=0 WHERE overrideCapabilities IS NULL;\n"); + // OrgUnit OUT.write("UPDATE OrgUnit SET ignoreCaseMatch=0;\n"); - Connection conn = jdbcConf.getDataSource2(null).getConnection(); + // OrgUnitItemTransformer + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery( + "SELECT orgUnitItem_id,transformerClassName FROM OrgUnitItem_Transformer")) { + + while (rs.next()) { + String itemId = rs.getString(1); + String transformerClassName = rs.getString(2); + + String implementationId = "OrgUnitItemTransformer_" + itemId; + OUT.write("INSERT INTO Implementation(id,type,engine,body) VALUES(" + + "'" + implementationId + "'," + + "'ITEM_TRANSFORMER'," + + "'JAVA'," + + "'" + transformerClassName + "');\n"); + OUT.write("INSERT INTO OrgUnitItemTransformer(item_id,implementation_id) VALUES(" + + "'" + itemId + "'," + + "'" + implementationId + "');\n"); + } + } + OUT.write("DROP TABLE OrgUnitItem_Transformer;\n"); // PlainSchema try (Statement stmt = conn.createStatement(); @@ -210,6 +241,7 @@ public static void main(final String[] args) throws Exception { // Task OUT.write("UPDATE Task SET remediation=0;\n"); + OUT.write("UPDATE Task SET active=0 WHERE active IS NULL;\n"); OUT.write("INSERT INTO Implementation(id,type,engine,body) VALUES(" + "'PullJobDelegate'," @@ -375,12 +407,52 @@ public static void main(final String[] args) throws Exception { } } OUT.write("DROP TABLE ReportletConfInstance;\n"); + + // MappingItemTransformer + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery( + "SELECT mappingItem_id,transformerClassName FROM MappingItem_Transformer")) { + + while (rs.next()) { + String itemId = rs.getString(1); + String transformerClassName = rs.getString(2); + + String implementationId = "MappingItemTransformer_" + itemId; + OUT.write("INSERT INTO Implementation(id,type,engine,body) VALUES(" + + "'" + implementationId + "'," + + "'ITEM_TRANSFORMER'," + + "'JAVA'," + + "'" + transformerClassName + "');\n"); + OUT.write("INSERT INTO MappingItemTransformer(item_id,implementation_id) VALUES(" + + "'" + itemId + "'," + + "'" + implementationId + "');\n"); + } + } + OUT.write("DROP TABLE MappingItem_Transformer;\n"); + + // Notification + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery( + "SELECT DISTINCT recipientsProviderClassName " + + "FROM Notification WHERE recipientsProviderClassName IS NOT NULL")) { + + while (rs.next()) { + String recipientsProviderClassName = rs.getString(1); + OUT.write("INSERT INTO Implementation(id,type,engine,body) VALUES(" + + "'" + recipientsProviderClassName + "'," + + "'RECIPIENTS_PROVIDER'," + + "'JAVA'," + + "'" + recipientsProviderClassName + "');\n"); + } + } + OUT.write("UPDATE Notification SET recipientsProvider_id=recipientsProviderClassName;\n"); + OUT.write("ALTER TABLE Notification DROP COLUMN recipientsProviderClassName;\n"); } finally { OUT.flush(); OUT.close(); } } - + private GenerateUpgradeSQL() { // private constructor } From d90a2fe3805f120f846c342ea39a70938a80fbf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Thu, 12 Jul 2018 07:52:59 +0200 Subject: [PATCH 0013/1588] Upgrading Swagger UI --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e8e41c3a965..9f349921ac4 100644 --- a/pom.xml +++ b/pom.xml @@ -442,7 +442,7 @@ under the License. ${project.build.directory}/flowable-modeler 2.0.2 - 3.17.1 + 3.17.2 20.0 2.2.4 From 6ae9786485a45e0f21ab94684a5ccd333e302da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Thu, 12 Jul 2018 10:52:10 +0200 Subject: [PATCH 0014/1588] It's ItemTransformer for a while --- .../asciidoc/reference-guide/concepts/externalresources.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/asciidoc/reference-guide/concepts/externalresources.adoc b/src/main/asciidoc/reference-guide/concepts/externalresources.adoc index 052ed4ac5ba..0afc46a252f 100644 --- a/src/main/asciidoc/reference-guide/concepts/externalresources.adoc +++ b/src/main/asciidoc/reference-guide/concepts/externalresources.adoc @@ -139,10 +139,10 @@ owned by the mapped entity (which can only be user, in this case) * external attribute - the name of the attribute on the Identity Store * transformers - http://commons.apache.org/proper/commons-jexl/[JEXL^] expression or Java class implementing ifeval::["{snapshotOrRelease}" == "release"] -https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/MappingItemTransformer.java[MappingItemTransformer^] +https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java[ItemTransformer^] endif::[] ifeval::["{snapshotOrRelease}" == "snapshot"] -https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/MappingItemTransformer.java[MappingItemTransformer^] +https://github.com/apache/syncope/blob/2_1_X/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java[ItemTransformer^] endif::[] ; the purpose is to transform values before they are sent to or received from the underlying connector * mandatory condition - http://commons.apache.org/proper/commons-jexl/[JEXL^] expression indicating whether values for From eb522f5567310ec72dd69616ed97717dae073ccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Thu, 12 Jul 2018 11:46:05 +0200 Subject: [PATCH 0015/1588] [SYNCOPE-1336] Pagination and sorting controls added --- .../approvals/ApprovalDirectoryPanel.java | 19 +++-- .../console/commons/TaskDataProvider.java | 4 - .../console/rest/UserWorkflowRestClient.java | 14 ++- .../client/console/widgets/AlertWidget.java | 34 +++----- .../console/widgets/ApprovalsWidget.java | 85 +++---------------- .../console/widgets/RemediationsWidget.java | 50 +---------- .../client/console/widgets/AlertWidget.html | 6 +- .../widgets/ApprovalsWidget$InnerPanel.html | 27 ------ .../RemediationsWidget$InnerPanel.html | 26 ------ .../common/rest/api/beans/TaskQuery.java | 1 - .../rest/api/beans/WorkflowFormQuery.java | 32 +++++++ .../rest/api/service/UserWorkflowService.java | 6 +- .../syncope/core/logic/UserWorkflowLogic.java | 9 +- .../core/persistence/jpa/dao/JPATaskDAO.java | 18 ++-- .../cxf/service/UserWorkflowServiceImpl.java | 11 ++- .../core/workflow/api/WorkflowAdapter.java | 11 ++- .../flowable/FlowableUserWorkflowAdapter.java | 80 +++++++++++------ .../java/DefaultAnyObjectWorkflowAdapter.java | 8 +- .../java/DefaultGroupWorkflowAdapter.java | 8 +- .../java/DefaultUserWorkflowAdapter.java | 7 +- .../syncope/fit/core/SchedTaskITCase.java | 7 +- .../syncope/fit/core/UserWorkflowITCase.java | 44 +++++----- 22 files changed, 217 insertions(+), 290 deletions(-) delete mode 100644 client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html delete mode 100644 client/console/src/main/resources/org/apache/syncope/client/console/widgets/RemediationsWidget$InnerPanel.html create mode 100644 common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/WorkflowFormQuery.java diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java index 81783cda571..65e71241f08 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java @@ -29,10 +29,10 @@ import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.commons.DirectoryDataProvider; -import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.panels.DirectoryPanel; import org.apache.syncope.client.console.rest.UserWorkflowRestClient; import org.apache.syncope.client.console.approvals.ApprovalDirectoryPanel.ApprovalProvider; +import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.layout.FormLayoutInfoUtils; import org.apache.syncope.client.console.layout.UserFormLayoutInfo; import org.apache.syncope.client.console.pages.BasePage; @@ -118,14 +118,15 @@ protected List> getColumns() { columns.add(new PropertyColumn<>( new ResourceModel("taskId"), "taskId", "taskId")); columns.add(new PropertyColumn<>( - new ResourceModel("key"), "key", "key")); + new ResourceModel("key"), "key")); columns.add(new PropertyColumn<>( - new ResourceModel("username"), "username", "username")); + new ResourceModel("username"), "username")); columns.add(new DatePropertyColumn<>( new ResourceModel("createTime"), "createTime", "createTime")); columns.add(new DatePropertyColumn<>( new ResourceModel("dueDate"), "dueDate", "dueDate")); - columns.add(new PropertyColumn<>(new ResourceModel("owner"), "owner", "owner")); + columns.add(new PropertyColumn<>( + new ResourceModel("owner"), "owner", "owner")); return columns; } @@ -258,20 +259,20 @@ public static class ApprovalProvider extends DirectoryDataProvider(this); + comparator = new SortableDataProviderComparator<>(this); } @Override public Iterator iterator(final long first, final long count) { - final List list = restClient.getForms(); - Collections.sort(list, comparator); - return list.subList((int) first, (int) first + (int) count).iterator(); + int page = ((int) first / paginatorRows); + return restClient.getForms((page < 0 ? 0 : page) + 1, paginatorRows, getSort()).iterator(); } @Override public long size() { - return restClient.getForms().size(); + return restClient.countForms(); } @Override diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/TaskDataProvider.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/TaskDataProvider.java index 50f6fe70ed4..b68ab42e71f 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/commons/TaskDataProvider.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/TaskDataProvider.java @@ -40,10 +40,6 @@ public TaskDataProvider(final int paginatorRows, final TaskType taskType) { this.taskType = taskType; } - public SortableDataProviderComparator getComparator() { - return comparator; - } - @Override public IModel model(final T object) { return new CompoundPropertyModel<>(object); diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserWorkflowRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserWorkflowRestClient.java index fc42f9bb879..8ccf057f758 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserWorkflowRestClient.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserWorkflowRestClient.java @@ -21,14 +21,24 @@ import java.util.List; import org.apache.syncope.common.lib.to.UserTO; import org.apache.syncope.common.lib.to.WorkflowFormTO; +import org.apache.syncope.common.rest.api.beans.WorkflowFormQuery; import org.apache.syncope.common.rest.api.service.UserWorkflowService; +import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; public class UserWorkflowRestClient extends BaseRestClient { private static final long serialVersionUID = -4785231164900813921L; - public List getForms() { - return getService(UserWorkflowService.class).getForms(); + public int countForms() { + return getService(UserWorkflowService.class). + getForms(new WorkflowFormQuery.Builder().page(1).size(1).build()). + getTotalCount(); + } + + public List getForms(final int page, final int size, final SortParam sort) { + return getService(UserWorkflowService.class). + getForms(new WorkflowFormQuery.Builder().page(page).size(size).orderBy(toOrderBy(sort)).build()). + getResult(); } public WorkflowFormTO getFormForUser(final String userKey) { diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java index ac32d17e4b4..f564ac8f02e 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java @@ -25,8 +25,6 @@ import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.AbstractLink; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.LoadableDetachableModel; @@ -39,14 +37,14 @@ public abstract class AlertWidget extends Panel { protected static final Logger LOG = LoggerFactory.getLogger(AlertWidget.class); + protected static final int MAX_SIZE = 5; + protected final Label linkAlertsNumber; protected final Label headerAlertsNumber; protected final WebMarkupContainer latestAlertsList; - protected final ListView latestFive; - protected IModel> latestAlerts; public AlertWidget(final String id) { @@ -61,7 +59,7 @@ public AlertWidget(final String id) { @Override protected Integer load() { - return AlertWidget.this.latestAlerts.getObject().size(); + return getLatestAlertsSize(); } }; @@ -72,7 +70,7 @@ protected Integer load() { @Override protected List load() { final List latest = AlertWidget.this.latestAlerts.getObject(); - return latest.subList(0, latest.size() < 6 ? latest.size() : 5); + return latest.subList(0, latest.size() <= MAX_SIZE ? latest.size() : MAX_SIZE); } }; @@ -98,31 +96,20 @@ protected void onComponentTag(final ComponentTag tag) { headerAlertsNumber.setOutputMarkupId(true); add(headerAlertsNumber); + add(getEventsLink("alertsLink")); + latestAlertsList = new WebMarkupContainer("latestAlertsList"); latestAlertsList.setOutputMarkupId(true); add(latestAlertsList); + } - latestFive = new ListView("latestAlerts", items) { - - private static final long serialVersionUID = 4949588177564901031L; - - @Override - protected void populateItem(final ListItem item) { - item.add(getAlertLink("alert", item.getModelObject()).setRenderBodyOnly(true)); - } - }; - latestAlertsList.add(latestFive.setReuseItems(false).setOutputMarkupId(true)); - - add(getEventsLink("alertsLink")); + protected int getLatestAlertsSize() { + return latestAlerts.getObject().size(); } protected abstract IModel> getLatestAlerts(); - protected Panel getAlertLink(final String panelid, final T alert) { - return new AlertLink<>(panelid, alert); - } - - protected abstract AbstractLink getEventsLink(final String linkid); + protected abstract AbstractLink getEventsLink(String linkid); protected abstract Icon getIcon(String iconid); @@ -135,5 +122,4 @@ public AlertLink(final String id, final T alert) { add(new Label("alert", alert.toString())); } } - } diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java index 9f8ac626127..ee47619478b 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java @@ -22,10 +22,7 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; -import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.BookmarkablePageLinkBuilder; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.pages.Approvals; @@ -35,17 +32,12 @@ import org.apache.syncope.common.lib.types.StandardEntitlement; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; -import org.apache.wicket.markup.ComponentTag; -import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.AbstractLink; import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; -import org.apache.wicket.model.ResourceModel; import org.apache.wicket.model.util.ListModel; import org.apache.wicket.util.time.Duration; @@ -78,19 +70,27 @@ public final void refreshLatestAlerts(final AjaxRequestTarget target) { latestAlerts.getObject().clear(); latestAlerts.getObject().addAll(lastApprovals); - linkAlertsNumber.setDefaultModelObject(latestAlerts.getObject().size()); + int latestAlertSize = getLatestAlertsSize(); + linkAlertsNumber.setDefaultModelObject(latestAlertSize); target.add(linkAlertsNumber); - headerAlertsNumber.setDefaultModelObject(latestAlerts.getObject().size()); + headerAlertsNumber.setDefaultModelObject(latestAlertSize); target.add(headerAlertsNumber); - latestFive.removeAll(); target.add(latestAlertsList); lastApprovals.clear(); lastApprovals.addAll(latestAlerts.getObject()); } + @Override + protected int getLatestAlertsSize() { + return SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_LIST) + && SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_READ) + ? restClient.countForms() + : 0; + } + @Override protected IModel> getLatestAlerts() { return new ListModel() { @@ -103,9 +103,7 @@ public List getObject() { if (SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_LIST) && SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_READ)) { - updatedApprovals = restClient.getForms().stream(). - sorted(Comparator.comparing(WorkflowFormTO::getCreateTime)). - collect(Collectors.toList()); + updatedApprovals = restClient.getForms(1, MAX_SIZE, new SortParam<>("createTime", true)); } else { updatedApprovals = Collections.emptyList(); } @@ -115,11 +113,6 @@ public List getObject() { }; } - @Override - protected Panel getAlertLink(final String panelid, final WorkflowFormTO event) { - return new ApprovalsWidget.InnerPanel(panelid, event); - } - @Override protected AbstractLink getEventsLink(final String linkid) { BookmarkablePageLink approvals = BookmarkablePageLinkBuilder.build(linkid, Approvals.class); @@ -132,56 +125,4 @@ protected Icon getIcon(final String iconid) { return new Icon(iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.handshake_o).build()); } - - public static final class InnerPanel extends Panel { - - private static final long serialVersionUID = 3829642687027801451L; - - public InnerPanel(final String id, final WorkflowFormTO alert) { - super(id); - - final AjaxLink approval = new AjaxLink("approval") { - - private static final long serialVersionUID = 7021195294339489084L; - - @Override - public void onClick(final AjaxRequestTarget target) { - // do nothing - } - - @Override - protected void onComponentTag(final ComponentTag tag) { - super.onComponentTag(tag); - if (StringUtils.isNotBlank(alert.getUsername())) { - tag.put("title", alert.getUsername().trim()); - } - } - }; - - add(approval); - - approval.add(new Label("key", new ResourceModel(alert.getKey(), alert.getKey())). - setRenderBodyOnly(true)); - - approval.add(new Label("owner", alert.getOwner())); - - approval.add(new Label("createTime", - SyncopeConsoleSession.get().getDateFormat().format(alert.getCreateTime())). - setRenderBodyOnly(true)); - - WebMarkupContainer dueDateContainer = new WebMarkupContainer("dueDateContainer"); - dueDateContainer.setOutputMarkupId(true); - approval.add(dueDateContainer); - - if (alert.getDueDate() == null) { - dueDateContainer.add(new Label("dueDate")); - dueDateContainer.setVisible(false); - } else { - dueDateContainer.add(new Label("dueDate", - SyncopeConsoleSession.get().getDateFormat().format(alert.getDueDate())). - setRenderBodyOnly(true)); - } - } - - } } diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java index 287fdbca9a1..79e0ec4743d 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java @@ -34,14 +34,10 @@ import org.apache.syncope.common.lib.types.StandardEntitlement; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; -import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.AbstractLink; import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.util.ListModel; import org.apache.wicket.util.time.Duration; @@ -75,13 +71,13 @@ public final void refreshLatestAlerts(final AjaxRequestTarget target) { latestAlerts.getObject().clear(); latestAlerts.getObject().addAll(lastRemediations); - linkAlertsNumber.setDefaultModelObject(latestAlerts.getObject().size()); + int latestAlertSize = getLatestAlertsSize(); + linkAlertsNumber.setDefaultModelObject(latestAlertSize); target.add(linkAlertsNumber); - headerAlertsNumber.setDefaultModelObject(latestAlerts.getObject().size()); + headerAlertsNumber.setDefaultModelObject(latestAlertSize); target.add(headerAlertsNumber); - latestFive.removeAll(); target.add(latestAlertsList); lastRemediations.clear(); @@ -112,11 +108,6 @@ public List getObject() { }; } - @Override - protected Panel getAlertLink(final String panelid, final RemediationTO event) { - return new RemediationsWidget.InnerPanel(panelid, event); - } - @Override protected AbstractLink getEventsLink(final String linkid) { BookmarkablePageLink remediations = BookmarkablePageLinkBuilder.build(linkid, Remediations.class); @@ -129,39 +120,4 @@ protected Icon getIcon(final String iconid) { return new Icon(iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.medkit).build()); } - - public static final class InnerPanel extends Panel { - - private static final long serialVersionUID = 8074027899915634928L; - - public InnerPanel(final String id, final RemediationTO alert) { - super(id); - - AjaxLink approval = new AjaxLink("remediation") { - - private static final long serialVersionUID = 7021195294339489084L; - - @Override - public void onClick(final AjaxRequestTarget target) { - // do nothing - } - - @Override - protected void onComponentTag(final ComponentTag tag) { - super.onComponentTag(tag); - tag.put("title", alert.getRemoteName().trim()); - } - }; - - add(approval); - - approval.add(new Label("label", alert.getOperation().name() + " " + alert.getAnyType())); - - approval.add(new Label("resource", alert.getResource())); - - approval.add(new Label("instant", - SyncopeConsoleSession.get().getDateFormat().format(alert.getInstant())). - setRenderBodyOnly(true)); - } - } } diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html index e9a6433a5fc..4d75003ca6c 100644 --- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html +++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html @@ -27,11 +27,7 @@
  • - +