You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2015/12/18 10:41:24 UTC

syncope git commit: [SYNCOPE-156] some fixes improve derived and virtual attributes management

Repository: syncope
Updated Branches:
  refs/heads/master 288179f26 -> 83509d7eb


[SYNCOPE-156] some fixes improve derived and virtual attributes management


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

Branch: refs/heads/master
Commit: 83509d7eb8322ba8066f9278c25ba38a829cb439
Parents: 288179f
Author: fmartelli <fa...@gmail.com>
Authored: Fri Dec 18 10:41:08 2015 +0100
Committer: fmartelli <fa...@gmail.com>
Committed: Fri Dec 18 10:41:08 2015 +0100

----------------------------------------------------------------------
 .../panels/search/AbstractSearchPanel.java      | 14 ++++++--
 .../panels/search/AnyObjectSearchPanel.java     | 11 ++++--
 .../console/panels/search/UserSearchPanel.java  |  2 +-
 .../client/console/wizards/any/DerAttrs.java    | 35 +++++++++++---------
 .../console/wizards/any/DynamicMemberships.java |  2 +-
 .../client/console/wizards/any/Roles.java       |  4 +--
 .../client/console/wizards/any/VirAttrs.java    | 22 ++++++------
 .../client/console/panels/ListViewPanel.html    |  3 +-
 8 files changed, 56 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
index fae623a..365d0c7 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
@@ -77,6 +77,8 @@ public abstract class AbstractSearchPanel extends Panel {
 
     protected final AnyTypeKind typeKind;
 
+    protected final String type;
+
     protected final boolean required;
 
     protected final boolean enableSearch;
@@ -108,13 +110,19 @@ public abstract class AbstractSearchPanel extends Panel {
         public abstract T build(final String id);
     }
 
-    protected AbstractSearchPanel(final String id, final AnyTypeKind typeKind, final Builder<?> builder) {
+    protected AbstractSearchPanel(final String id, final AnyTypeKind kind, final Builder<?> builder) {
+        this(id, kind, kind.name(), builder);
+    }
+
+    protected AbstractSearchPanel(
+            final String id, final AnyTypeKind kind, final String type, final Builder<?> builder) {
 
         super(id);
         populate();
 
         this.model = builder.model;
-        this.typeKind = typeKind;
+        this.typeKind = kind;
+        this.type = type;
         this.required = builder.required;
         this.enableSearch = builder.enableSearch;
 
@@ -186,7 +194,7 @@ public abstract class AbstractSearchPanel extends Panel {
             @Override
             protected List<String> load() {
                 return CollectionUtils.collect(schemaRestClient.getSchemas(SchemaType.PLAIN,
-                        anyTypeRestClient.get(typeKind.name()).getClasses().toArray(new String[] {})),
+                        anyTypeRestClient.get(type).getClasses().toArray(new String[] {})),
                         new Transformer<AbstractSchemaTO, String>() {
 
                     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
index 681ab1c..369c99b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AnyObjectSearchPanel.java
@@ -38,13 +38,16 @@ public class AnyObjectSearchPanel extends AbstractSearchPanel {
 
         private static final long serialVersionUID = 6308997285778809578L;
 
-        public Builder(final IModel<List<SearchClause>> model) {
+        private final String type;
+
+        public Builder(final String type, final IModel<List<SearchClause>> model) {
             super(model);
+            this.type = type;
         }
 
         @Override
         public AnyObjectSearchPanel build(final String id) {
-            return new AnyObjectSearchPanel(id, AnyTypeKind.ANY_OBJECT, this);
+            return new AnyObjectSearchPanel(id, AnyTypeKind.ANY_OBJECT, type, this);
         }
     }
 
@@ -52,6 +55,10 @@ public class AnyObjectSearchPanel extends AbstractSearchPanel {
         super(id, kind, builder);
     }
 
+    protected AnyObjectSearchPanel(final String id, final AnyTypeKind kind, final String type, final Builder builder) {
+        super(id, kind, type, builder);
+    }
+
     @Override
     protected void populate() {
         super.populate();

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
index 910986a..2d01fc2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/UserSearchPanel.java
@@ -31,7 +31,7 @@ public final class UserSearchPanel extends AnyObjectSearchPanel {
         private static final long serialVersionUID = 6308997285778809578L;
 
         public Builder(final IModel<List<SearchClause>> model) {
-            super(model);
+            super(AnyTypeKind.USER.name(), model);
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/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 8ac047b..6629082 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
@@ -61,11 +61,11 @@ public class DerAttrs extends AbstractAttrs {
                         anyTypeRestClient.getAnyTypeClass(getAllAuxClasses().toArray(new String[] {})),
                         new Transformer<AnyTypeClassTO, String>() {
 
-                            @Override
-                            public String transform(final AnyTypeClassTO input) {
-                                return input.getKey();
-                            }
-                        }, new ArrayList<String>(Arrays.asList(anyTypeClass)));
+                    @Override
+                    public String transform(final AnyTypeClassTO input) {
+                        return input.getKey();
+                    }
+                }, new ArrayList<String>(Arrays.asList(anyTypeClass)));
 
                 final List<DerSchemaTO> derSchemas
                         = schemaRestClient.getSchemas(SchemaType.DERIVED, classes.toArray(new String[] {}));
@@ -73,18 +73,21 @@ public class DerAttrs extends AbstractAttrs {
                 final Map<String, AttrTO> currents = entityTO.getDerAttrMap();
                 entityTO.getDerAttrs().clear();
 
-                return CollectionUtils.collect(derSchemas, new Transformer<DerSchemaTO, AttrTO>() {
+                // This conversion from set to lis is required by the ListView.
+                // Didn't performed by using collect parameter because entityTO change is required.
+                return new ArrayList<AttrTO>(
+                        CollectionUtils.collect(derSchemas, new Transformer<DerSchemaTO, AttrTO>() {
 
-                    @Override
-                    public AttrTO transform(final DerSchemaTO input) {
-                        AttrTO attrTO = currents.get(input.getKey());
-                        if (attrTO == null) {
-                            attrTO = new AttrTO();
-                            attrTO.setSchema(input.getKey());
-                        }
-                        return attrTO;
-                    }
-                }, new ArrayList<>(entityTO.getDerAttrs()));
+                            @Override
+                            public AttrTO transform(final DerSchemaTO input) {
+                                AttrTO attrTO = currents.get(input.getKey());
+                                if (attrTO == null) {
+                                    attrTO = new AttrTO();
+                                    attrTO.setSchema(input.getKey());
+                                }
+                                return attrTO;
+                            }
+                        }, entityTO.getDerAttrs()));
             }
         };
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
index 7288163..8df2cdd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DynamicMemberships.java
@@ -104,7 +104,7 @@ public class DynamicMemberships extends WizardStep {
                     @Override
                     public Panel getPanel(final String panelId) {
                         return new AnyObjectSearchPanel.Builder(
-                                new MapOfListModel<SearchClause>(groupHandler, "aDynClauses", key)).
+                                key, new MapOfListModel<SearchClause>(groupHandler, "aDynClauses", key)).
                                 required(false).build(panelId);
                     }
                 }), Model.of(StringUtils.isBlank(groupHandler.getADynMembershipConds().get(key)) ? -1 : 0))

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Roles.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Roles.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Roles.java
index f5f7afd..6ac91b1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Roles.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/Roles.java
@@ -35,8 +35,6 @@ public class Roles extends WizardStep {
 
     private static final long serialVersionUID = 552437609667518888L;
 
-    private final RoleRestClient roleRestClient = new RoleRestClient();
-
     public <T extends AnyTO> Roles(final UserTO entityTO) {
         this.setOutputMarkupId(true);
 
@@ -56,6 +54,6 @@ public class Roles extends WizardStep {
 
         add(new AjaxPalettePanel.Builder<String>().build("dynroles",
                 new PropertyModel<List<String>>(entityTO, "dynRoles"),
-                new ListModel<>(allRoles)).setOutputMarkupId(true));
+                new ListModel<>(allRoles)).setEnabled(false).setOutputMarkupId(true));
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/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 1c247e0..2f69864 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
@@ -59,11 +59,11 @@ public class VirAttrs extends AbstractAttrs {
                         anyTypeRestClient.getAnyTypeClass(getAllAuxClasses().toArray(new String[] {})),
                         new Transformer<AnyTypeClassTO, String>() {
 
-                            @Override
-                            public String transform(final AnyTypeClassTO input) {
-                                return input.getKey();
-                            }
-                        }, new ArrayList<String>(Arrays.asList(anyTypeClass)));
+                    @Override
+                    public String transform(final AnyTypeClassTO input) {
+                        return input.getKey();
+                    }
+                }, new ArrayList<String>(Arrays.asList(anyTypeClass)));
 
                 final List<VirSchemaTO> virSchemas
                         = schemaRestClient.getSchemas(SchemaType.VIRTUAL, classes.toArray(new String[] {}));
@@ -71,7 +71,9 @@ public class VirAttrs extends AbstractAttrs {
                 final Map<String, AttrTO> currents = entityTO.getVirAttrMap();
                 entityTO.getVirAttrs().clear();
 
-                return CollectionUtils.collect(virSchemas, new Transformer<VirSchemaTO, AttrTO>() {
+                // This conversion from set to lis is required by the ListView.
+                // Didn't performed by using collect parameter because entityTO change is required.
+                return new ArrayList<>(CollectionUtils.collect(virSchemas, new Transformer<VirSchemaTO, AttrTO>() {
 
                     @Override
                     public AttrTO transform(final VirSchemaTO input) {
@@ -87,7 +89,7 @@ public class VirAttrs extends AbstractAttrs {
                         attrTO.setReadonly(input.isReadonly());
                         return attrTO;
                     }
-                }, new ArrayList<>(entityTO.getVirAttrs()));
+                }, entityTO.getVirAttrs()));
             }
         };
 
@@ -120,9 +122,9 @@ public class VirAttrs extends AbstractAttrs {
 
                 item.add(new MultiFieldPanel.Builder<String>(
                         new PropertyModel<List<String>>(attrTO, "values")).build(
-                                "panel",
-                                attrTO.getSchema(),
-                                panel).setEnabled(!attrTO.isReadonly()));
+                        "panel",
+                        attrTO.getSchema(),
+                        panel).setEnabled(!attrTO.isReadonly()));
             }
         };
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/83509d7e/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
index e30cf50..0c1a727 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
@@ -54,7 +54,8 @@ under the License.
                   </tr>
                 </span>
 
-              </tbody></table>
+              </tbody>
+            </table>
           </div><!-- /.box-body -->
         </div><!-- /.box -->
       </div>