Repository: syncope
Updated Branches:
  refs/heads/2_0_X 5415d2019 -> 42592f079


[SYNCOPE-1333] same fix on Derived and Plain + code improving


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/42592f07
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/42592f07
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/42592f07

Branch: refs/heads/2_0_X
Commit: 42592f0792f0e1bf8a1296ac54d69492bb500305
Parents: 5415d20
Author: fmartelli <fabio.marte...@gmail.com>
Authored: Tue Jul 10 11:43:14 2018 +0200
Committer: fmartelli <fabio.marte...@gmail.com>
Committed: Tue Jul 10 11:43:14 2018 +0200

----------------------------------------------------------------------
 .../syncope/client/console/wizards/any/DerAttrs.java    | 10 +++++++++-
 .../syncope/client/console/wizards/any/PlainAttrs.java  | 12 ++++++++++--
 .../syncope/client/console/wizards/any/VirAttrs.java    | 10 ++++++++--
 3 files changed, 27 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/42592f07/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
----------------------------------------------------------------------
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 fe6444d..a43e263 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 @@ package org.apache.syncope.client.console.wizards.any;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
@@ -29,6 +30,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.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;
@@ -134,7 +136,13 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
     protected void setAttrs(final MembershipTO membershipTO) {
         List<AttrTO> attrs = new ArrayList<>();
 
-        Map<String, AttrTO> attrMap = 
EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
+        final Map<String, AttrTO> attrMap;
+        if 
(GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey())
 == null) {
+            attrMap = new HashMap<>();
+        } else {
+            attrMap = EntityTOUtils.buildAttrMap(
+                    
GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getDerAttrs());
+        }
 
         for (DerSchemaTO schema : 
membershipSchemas.get(membershipTO.getGroupKey()).values()) {
             AttrTO attrTO = new AttrTO();

http://git-wip-us.apache.org/repos/asf/syncope/blob/42592f07/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
----------------------------------------------------------------------
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 a778026..d7beff2 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
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.wizards.any;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.collections4.ListUtils;
@@ -47,6 +48,7 @@ import org.apache.syncope.common.lib.to.AnyObjectTO;
 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;
@@ -194,14 +196,20 @@ public class PlainAttrs extends 
AbstractAttrs<PlainSchemaTO> {
     protected void setAttrs(final MembershipTO membershipTO) {
         List<AttrTO> attrs = new ArrayList<>();
 
-        Map<String, AttrTO> attrMap = 
EntityTOUtils.buildAttrMap(membershipTO.getPlainAttrs());
+        final Map<String, AttrTO> attrMap;
+        if 
(GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey())
 == null) {
+            attrMap = new HashMap<>();
+        } else {
+            attrMap = EntityTOUtils.buildAttrMap(
+                    
GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getPlainAttrs());
+        }
 
         for (PlainSchemaTO schema : 
membershipSchemas.get(membershipTO.getGroupKey()).values()) {
             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);

http://git-wip-us.apache.org/repos/asf/syncope/blob/42592f07/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
----------------------------------------------------------------------
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 1909613..06f55f5 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 @@ package org.apache.syncope.client.console.wizards.any;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.collections4.CollectionUtils;
@@ -147,8 +148,13 @@ public class VirAttrs extends AbstractAttrs<VirSchemaTO> {
     protected void setAttrs(final MembershipTO membershipTO) {
         List<AttrTO> attrs = new ArrayList<>();
 
-        Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(
-                
GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getVirAttrs());
+        final Map<String, AttrTO> attrMap;
+        if 
(GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey())
 == null) {
+            attrMap = new HashMap<>();
+        } else {
+            attrMap = EntityTOUtils.buildAttrMap(
+                    
GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).getVirAttrs());
+        }
 
         for (VirSchemaTO schema : 
membershipSchemas.get(membershipTO.getGroupKey()).values()) {
             AttrTO attrTO = new AttrTO();

Reply via email to