You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by ma...@apache.org on 2013/04/24 20:00:36 UTC

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

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());



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

Posted by Francesco Chicchiriccò <il...@apache.org>.
...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/