You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by Francesco Chicchiriccò <il...@apache.org> on 2013/04/24 21:01:44 UTC

Re: svn commit: r1471566 - in /syncope/trunk/console/src/main/java/org/apache/syncope/console/pages: EditUserModalPage.java UserModalPage.java panels/ResourcesPanel.java panels/RolePanel.java

...any reason for not doing this on branch 1_1_X as well?

Regards.

massi@apache.org wrote:

>Author: massi
>Date: Wed Apr 24 18:00:35 2013
>New Revision: 1471566
>
>URL: http://svn.apache.org/r1471566
>Log:
>Builder instead of tho constructors
>
>Modified:
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java
>
>Modified:
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
>URL:
>http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java?rev=1471566&r1=1471565&r2=1471566&view=diff
>==============================================================================
>---
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
>(original)
>+++
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
>Wed Apr 24 18:00:35 2013
>@@ -73,7 +73,8 @@ public class EditUserModalPage extends U
> 
>form.addOrReplace(new AccountInformationPanel("accountinformation",
>userTO));
> 
>-            form.addOrReplace(new ResourcesPanel("resources", userTO,
>statusPanel));
>+            form.addOrReplace(new
>ResourcesPanel.ResourcesPanelBuilder("resources").attributableTO(userTO).statusPanel(
>+                    statusPanel).build());
> 
>form.addOrReplace(new MembershipsPanel("memberships", userTO, false,
>statusPanel, getPageReference()));
>         }
>
>Modified:
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
>URL:
>http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1471566&r1=1471565&r2=1471566&view=diff
>==============================================================================
>---
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
>(original)
>+++
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
>Wed Apr 24 18:00:35 2013
>@@ -134,7 +134,8 @@ public abstract class UserModalPage exte
>         //--------------------------------
>         // Resources panel
>         //--------------------------------
>-        form.add(new ResourcesPanel("resources", userTO, null));
>+        form.add(new ResourcesPanel.ResourcesPanelBuilder("resources")
>+                .attributableTO(userTO).statusPanel(null).build());
>         //--------------------------------
> 
>         //--------------------------------
>
>Modified:
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
>URL:
>http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java?rev=1471566&r1=1471565&r2=1471566&view=diff
>==============================================================================
>---
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
>(original)
>+++
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
>Wed Apr 24 18:00:35 2013
>@@ -62,36 +62,58 @@ public class ResourcesPanel extends Pane
> 
>     private final List<String> allResources;
> 
>-    private ResourcesPanel(final String id, final
>AbstractAttributableTO attributableTO) {
>-        super(id);
>-        this.attributableTO = attributableTO;
>+    public static class ResourcesPanelBuilder {
>+
>+        private String id;
>+
>+        private Object to;
>+
>+        private StatusPanel statusPanel;
>+
>+        public ResourcesPanelBuilder(String id) {
>+            this.id = id;
>+        }
>+
>+        public ResourcesPanelBuilder attributableTO(Object to) {
>+            this.to = to;
>+            return this;
>+        }
>+
>+        public ResourcesPanelBuilder statusPanel(StatusPanel
>statusPanel) {
>+            this.statusPanel = statusPanel;
>+            return this;
>+        }
>+
>+        public ResourcesPanel build() {
>+            return new ResourcesPanel(this);
>+        }
>+    }
>+
>+    private ResourcesPanel(final ResourcesPanelBuilder builder) {
>+        super(builder.id);
>+        attributableTO = (AbstractAttributableTO) builder.to;
>previousResources = new HashSet<String>(attributableTO.getResources());
>         allResources = new ArrayList<String>();
>   for (ResourceTO resourceTO : resourceRestClient.getAllResources()) {
>             allResources.add(resourceTO.getName());
>         }
>         Collections.sort(allResources);
>-    }
>-
>-    public ResourcesPanel(final String id, final UserTO userTO, final
>StatusPanel statusPanel) {
>-        this(id, userTO);
> 
>-        final AjaxPalettePanel<String> resourcesPalette = new
>AjaxRecordingPalettePanel<String>("resourcesPalette",
>-                new PropertyModel<List<String>>(userTO, "resources"),
>-                new ListModel<String>(allResources), statusPanel);
>-        add(resourcesPalette);
>-    }
>-
>-    public ResourcesPanel(final String id, final RoleTO roleTO) {
>-        this(id, (AbstractAttributableTO) roleTO);
>+        AjaxPalettePanel<String> resourcesPalette = null;
> 
>-        List<String> selectedResources = new
>ArrayList<String>(roleTO.getResources());
>-        Collections.sort(selectedResources);
>+        if (attributableTO instanceof UserTO) {
>+            resourcesPalette = new
>AjaxRecordingPalettePanel<String>("resourcesPalette",
>+                    new PropertyModel<List<String>>(attributableTO,
>"resources"),
>+                    new ListModel<String>(allResources),
>builder.statusPanel);
>+        } else if (attributableTO instanceof RoleTO) {
>+            List<String> selectedResources = new
>ArrayList<String>(((RoleTO) attributableTO).getResources());
>+            Collections.sort(selectedResources);
> 
>-        final AjaxPalettePanel<String> resourcesPalette = new
>AjaxPalettePanel<String>("resourcesPalette",
>-                new PropertyModel<List<String>>(roleTO, "resources"),
>-                new ListModel<String>(allResources));
>+            resourcesPalette = new
>AjaxPalettePanel<String>("resourcesPalette",
>+                    new PropertyModel<List<String>>(attributableTO,
>"resources"), new ListModel<String>(allResources));
>+        }
>         add(resourcesPalette);
>+
>     }
> 
>private class AjaxRecordingPalettePanel<T> extends AjaxPalettePanel<T>
>{
>
>Modified:
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java
>URL:
>http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java?rev=1471566&r1=1471565&r2=1471566&view=diff
>==============================================================================
>---
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java
>(original)
>+++
>syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java
>Wed Apr 24 18:00:35 2013
>@@ -119,7 +119,8 @@ public class RolePanel extends Panel {
>         // Resources container
>         //--------------------------------
> 
>-        this.add(new ResourcesPanel("resources",
>roleTO).setOutputMarkupId(true));
>+        this.add(new
>ResourcesPanel.ResourcesPanelBuilder("resources").attributableTO(roleTO).build()
>+                .setOutputMarkupId(true));
>         //--------------------------------
> 
>ListModel<String> selectedEntitlements = new
>ListModel<String>(roleTO.getEntitlements());


-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/