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/25 09:41:55 UTC

svn commit: r1475655 - in /syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages: EditUserModalPage.java UserModalPage.java panels/ResourcesPanel.java panels/RolePanel.java

Author: massi
Date: Thu Apr 25 07:41:55 2013
New Revision: 1475655

URL: http://svn.apache.org/r1475655
Log:
Builder instead of tho constructors

Modified:
    syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
    syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
    syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
    syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java

Modified: syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java?rev=1475655&r1=1475654&r2=1475655&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java Thu Apr 25 07:41:55 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/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1475655&r1=1475654&r2=1475655&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java Thu Apr 25 07:41:55 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/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java?rev=1475655&r1=1475654&r2=1475655&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/ResourcesPanel.java Thu Apr 25 07:41:55 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/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java?rev=1475655&r1=1475654&r2=1475655&view=diff
==============================================================================
--- syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java (original)
+++ syncope/branches/1_1_X/console/src/main/java/org/apache/syncope/console/pages/panels/RolePanel.java Thu Apr 25 07:41:55 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());