You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2015/02/19 12:49:38 UTC
[1/3] syncope git commit: [SYNCOPE-645] Provide a validator for
resource user mapping
Repository: syncope
Updated Branches:
refs/heads/1_2_X 8f4ba7fb3 -> 583e83905
[SYNCOPE-645] Provide a validator for resource user mapping
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/8c38a41f
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/8c38a41f
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/8c38a41f
Branch: refs/heads/1_2_X
Commit: 8c38a41fff9c87f7eb62d43303926094f53909de
Parents: d01ed12
Author: Marco Di Sabatino Di Diodoro <md...@apache.org>
Authored: Thu Feb 19 09:35:29 2015 +0100
Committer: Marco Di Sabatino Di Diodoro <md...@apache.org>
Committed: Thu Feb 19 09:35:29 2015 +0100
----------------------------------------------------------------------
.../entity/ExternalResourceValidator.java | 12 ++++++++++
.../core/persistence/dao/ResourceTest.java | 23 ++++++++++++++++++++
2 files changed, 35 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/8c38a41f/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java b/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
index eed7add..124033d 100644
--- a/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
+++ b/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
@@ -20,11 +20,13 @@ package org.apache.syncope.core.persistence.validation.entity;
import javax.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.types.AttributableType;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.AbstractMapping;
import org.apache.syncope.core.persistence.beans.AbstractMappingItem;
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.propagation.PropagationActions;
+import org.apache.syncope.core.persistence.beans.user.UMapping;
public class ExternalResourceValidator extends AbstractValidator<ExternalResourceCheck, ExternalResource> {
@@ -74,6 +76,16 @@ public class ExternalResourceValidator extends AbstractValidator<ExternalResourc
return false;
}
+ final AbstractMappingItem accountId = mapping.getAccountIdItem();
+ if (mapping instanceof UMapping
+ && AttributableType.ROLE == accountId.getIntMappingType().getAttributableType()) {
+ context.buildConstraintViolationWithTemplate(
+ getTemplate(EntityViolationType.InvalidMapping,
+ "Role attribute as accountId is not permitted")).
+ addNode("attributableType").addConstraintViolation();
+ return false;
+ }
+
boolean isValid = true;
int passwords = 0;
http://git-wip-us.apache.org/repos/asf/syncope/blob/8c38a41f/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java b/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
index cd6f735..b5a7527 100644
--- a/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
+++ b/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
@@ -263,4 +263,27 @@ public class ResourceTest extends AbstractDAOTest {
assertTrue(e.hasViolation(EntityViolationType.InvalidName));
}
}
+
+ @Test(expected = InvalidEntityException.class)
+ public void issueSYNCOPE645() {
+ ExternalResource resource = new ExternalResource();
+ resource.setName("ws-target-resource-basic-save-invalid");
+
+ ConnInstance connector = resourceDAO.find("ws-target-resource-1").getConnector();
+ resource.setConnector(connector);
+
+ UMapping mapping = new UMapping();
+ resource.setUmapping(mapping);
+
+ final UMappingItem item = new UMappingItem();
+ item.setIntAttrName("icon");
+ item.setExtAttrName("icon");
+ item.setIntMappingType(IntMappingType.RoleSchema);
+ item.setPurpose(MappingPurpose.BOTH);
+ mapping.setAccountIdItem(item);
+
+ // save the resource
+ ExternalResource actual = resourceDAO.save(resource);
+ assertNotNull(actual);
+ }
}
[2/3] syncope git commit: Merge branch '1_1_X' into 1_2_X
Posted by md...@apache.org.
Merge branch '1_1_X' into 1_2_X
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/bef822f3
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/bef822f3
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/bef822f3
Branch: refs/heads/1_2_X
Commit: bef822f39134ff2bb388ba6deedf51ca7d1f2257
Parents: 8f4ba7f 8c38a41
Author: Marco Di Sabatino Di Diodoro <md...@apache.org>
Authored: Thu Feb 19 11:18:56 2015 +0100
Committer: Marco Di Sabatino Di Diodoro <md...@apache.org>
Committed: Thu Feb 19 11:18:56 2015 +0100
----------------------------------------------------------------------
.../entity/ExternalResourceValidator.java | 12 ++++++++++
.../core/persistence/dao/ResourceTest.java | 23 ++++++++++++++++++++
2 files changed, 35 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/bef822f3/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/bef822f3/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
----------------------------------------------------------------------
[3/3] syncope git commit: [SYNCOPE-645] Merge from 1_1_X
Posted by md...@apache.org.
[SYNCOPE-645] Merge from 1_1_X
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/583e8390
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/583e8390
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/583e8390
Branch: refs/heads/1_2_X
Commit: 583e83905f533293ee621e9fce0d82fecfdb1938
Parents: bef822f
Author: Marco Di Sabatino Di Diodoro <md...@apache.org>
Authored: Thu Feb 19 11:37:00 2015 +0100
Committer: Marco Di Sabatino Di Diodoro <md...@apache.org>
Committed: Thu Feb 19 11:37:00 2015 +0100
----------------------------------------------------------------------
.../persistence/validation/entity/ExternalResourceValidator.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/583e8390/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java b/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
index 5fa4417..7c69b05 100644
--- a/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
+++ b/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/ExternalResourceValidator.java
@@ -82,7 +82,7 @@ public class ExternalResourceValidator extends AbstractValidator<ExternalResourc
context.buildConstraintViolationWithTemplate(
getTemplate(EntityViolationType.InvalidMapping,
"Role attribute as accountId is not permitted")).
- addNode("attributableType").addConstraintViolation();
+ addPropertyNode("attributableType").addConstraintViolation();
return false;
}