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/