You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2013/04/19 11:34:32 UTC
svn commit: r1469758 - in /syncope/branches/1_1_X:
console/src/main/java/org/apache/syncope/console/pages/
console/src/main/java/org/apache/syncope/console/pages/panels/
core/src/main/java/org/apache/syncope/core/rest/data/
core/src/test/java/org/apach...
Author: ilgrosso
Date: Fri Apr 19 09:34:32 2013
New Revision: 1469758
URL: http://svn.apache.org/r1469758
Log:
[SYNCOPE-361] Handling mapping reset
Modified:
syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java
syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/data/ResourceDataBinder.java
syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/relationships/ResourceTest.java
syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
Modified: syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java?rev=1469758&r1=1469757&r2=1469758&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java Fri Apr 19 09:34:32 2013
@@ -102,7 +102,7 @@ public class ResourceModalPage extends B
boolean accountIdError = false;
- if (resourceTO.getUmapping().getItems().isEmpty()) {
+ if (resourceTO.getUmapping() == null || resourceTO.getUmapping().getItems().isEmpty()) {
resourceTO.setUmapping(null);
} else {
int uAccountIdCount = 0;
@@ -114,7 +114,7 @@ public class ResourceModalPage extends B
accountIdError = uAccountIdCount != 1;
}
- if (resourceTO.getRmapping().getItems().isEmpty()) {
+ if (resourceTO.getRmapping() == null || resourceTO.getRmapping().getItems().isEmpty()) {
resourceTO.setRmapping(null);
} else {
int rAccountIdCount = 0;
Modified: syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java?rev=1469758&r1=1469757&r2=1469758&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java Fri Apr 19 09:34:32 2013
@@ -273,7 +273,6 @@ public class ResourceMappingPanel extend
}
});
-
mappings = new ListView<MappingItemTO>("mappings", getMapping().getItems()) {
private static final long serialVersionUID = 4949588177564901031L;
Modified: syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/data/ResourceDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/data/ResourceDataBinder.java?rev=1469758&r1=1469757&r2=1469758&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/data/ResourceDataBinder.java (original)
+++ syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/data/ResourceDataBinder.java Fri Apr 19 09:34:32 2013
@@ -105,13 +105,17 @@ public class ResourceDataBinder {
resource.setPropagationMode(resourceTO.getPropagationMode());
- if (resourceTO.getUmapping() != null) {
+ if (resourceTO.getUmapping() == null || resourceTO.getUmapping().getItems().isEmpty()) {
+ resource.setUmapping(null);
+ } else {
UMapping mapping = new UMapping();
mapping.setResource(resource);
resource.setUmapping(mapping);
populateMapping(resourceTO.getUmapping(), mapping, new UMappingItem());
}
- if (resourceTO.getRmapping() != null) {
+ if (resourceTO.getRmapping() == null || resourceTO.getRmapping().getItems().isEmpty()) {
+ resource.setRmapping(null);
+ } else {
RMapping mapping = new RMapping();
mapping.setResource(resource);
resource.setRmapping(mapping);
Modified: syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/relationships/ResourceTest.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/relationships/ResourceTest.java?rev=1469758&r1=1469757&r2=1469758&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/relationships/ResourceTest.java (original)
+++ syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/persistence/relationships/ResourceTest.java Fri Apr 19 09:34:32 2013
@@ -24,9 +24,11 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import javax.persistence.EntityManager;
import org.apache.syncope.common.types.IntMappingType;
import org.apache.syncope.common.types.MappingPurpose;
@@ -34,6 +36,7 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.persistence.beans.PasswordPolicy;
import org.apache.syncope.core.persistence.beans.PropagationTask;
+import org.apache.syncope.core.persistence.beans.role.RMappingItem;
import org.apache.syncope.core.persistence.beans.user.SyncopeUser;
import org.apache.syncope.core.persistence.beans.user.UMapping;
import org.apache.syncope.core.persistence.beans.user.UMappingItem;
@@ -51,6 +54,9 @@ import org.springframework.transaction.a
public class ResourceTest extends AbstractDAOTest {
@Autowired
+ private EntityManager entityManager;
+
+ @Autowired
private ResourceDAO resourceDAO;
@Autowired
@@ -241,6 +247,31 @@ public class ResourceTest extends Abstra
}
@Test
+ public void emptyMapping() {
+ ExternalResource ldap = resourceDAO.find("resource-ldap");
+ assertNotNull(ldap);
+ assertNotNull(ldap.getUmapping());
+ assertNotNull(ldap.getRmapping());
+
+ List<RMappingItem> items = ldap.getRmapping().<RMappingItem>getItems();
+ assertNotNull(items);
+ assertFalse(items.isEmpty());
+ List<Long> itemIds = new ArrayList<Long>(items.size());
+ for (RMappingItem item : items) {
+ itemIds.add(item.getId());
+ }
+
+ ldap.setRmapping(null);
+
+ resourceDAO.save(ldap);
+ resourceDAO.flush();
+
+ for (Long itemId : itemIds) {
+ assertNull(entityManager.find(RMappingItem.class, itemId));
+ }
+ }
+
+ @Test
public void issue243() {
ExternalResource csv = resourceDAO.find("resource-csv");
assertNotNull(csv);
Modified: syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java?rev=1469758&r1=1469757&r2=1469758&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java (original)
+++ syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java Fri Apr 19 09:34:32 2013
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.core.rest;
+import static org.apache.syncope.core.rest.AbstractTest.getUUIDString;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -440,6 +441,23 @@ public class ResourceTestITCase extends
}
}
+ @Test
+ public void issueSYNCOPE360() {
+ final String name = "SYNCOPE360-" + getUUIDString();
+ resourceService.create(buildResourceTO(name));
+
+ ResourceTO resource = resourceService.read(name);
+ assertNotNull(resource);
+ assertNotNull(resource.getUmapping());
+
+ resource.setUmapping(new MappingTO());
+ resourceService.update(name, resource);
+
+ resource = resourceService.read(name);
+ assertNotNull(resource);
+ assertNull(resource.getUmapping());
+ }
+
private ResourceTO buildResourceTO(String resourceName) {
ResourceTO resourceTO = new ResourceTO();