You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2005/03/28 01:33:17 UTC

cvs commit: jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/users UserDetailsPortlet.java

ate         2005/03/27 15:33:17

  Modified:    applications/security/src/java/org/apache/jetspeed/portlets/security/roles
                        RoleBrowser.java
               applications/security/src/java/org/apache/jetspeed/portlets/security/groups
                        GroupBrowser.java
               applications/security/src/java/org/apache/jetspeed/portlets/security
                        SecurityResources.java
               applications/security/src/webapp/WEB-INF/security/users
                        user-details.jsp
               applications/security/src/java/org/apache/jetspeed/portlets/security/users
                        UserDetailsPortlet.java
  Log:
  Improvements for UserDetailPortlet:
  - add roles/groups select list now filtered for already assigned roles/groups and suppressed all together if none are available anymore
  - on add/remove of role/group by RoleBrowser/GroupBrowser send a message to UserDetailPortlet to clear its cache
  
  Revision  Changes    Path
  1.2       +3 -1      jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/roles/RoleBrowser.java
  
  Index: RoleBrowser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/roles/RoleBrowser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RoleBrowser.java	21 Jan 2005 22:09:22 -0000	1.1
  +++ RoleBrowser.java	27 Mar 2005 23:33:17 -0000	1.2
  @@ -154,6 +154,7 @@
                           roleManager.removeRole(delete);
                           this.clearBrowserIterator(request);
                           PortletMessaging.cancel(request, "role", "selected");
  +                        PortletMessaging.publish(request, SecurityResources.USER_BROWSER, "roles", "refresh");
                       }
                   }
                   catch (Exception e)
  @@ -193,6 +194,7 @@
                               roleManager.addRole(roleName);
                               this.clearBrowserIterator(request);
                           }
  +                        PortletMessaging.publish(request, SecurityResources.USER_BROWSER, "roles", "refresh");
                       }
                       catch (Exception e)
                       {
  
  
  
  1.2       +3 -1      jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/groups/GroupBrowser.java
  
  Index: GroupBrowser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/groups/GroupBrowser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GroupBrowser.java	21 Jan 2005 22:09:22 -0000	1.1
  +++ GroupBrowser.java	27 Mar 2005 23:33:17 -0000	1.2
  @@ -154,6 +154,7 @@
                           groupManager.removeGroup(delete);
                           this.clearBrowserIterator(request);
                           PortletMessaging.cancel(request, "group", "selected");
  +                        PortletMessaging.publish(request, SecurityResources.USER_BROWSER, "groups", "refresh");
                       }
                   }
                   catch (Exception e)
  @@ -193,6 +194,7 @@
                               groupManager.addGroup(groupName);
                               this.clearBrowserIterator(request);
                           }
  +                        PortletMessaging.publish(request, SecurityResources.USER_BROWSER, "groups", "refresh");
                       }
                       catch (Exception e)
                       {
  
  
  
  1.3       +4 -1      jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/SecurityResources.java
  
  Index: SecurityResources.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/SecurityResources.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SecurityResources.java	5 Jan 2005 04:24:49 -0000	1.2
  +++ SecurityResources.java	27 Mar 2005 23:33:17 -0000	1.3
  @@ -41,6 +41,9 @@
       public final static String REQUEST_SELECT_PORTLET = "select_portlet";
       public final static String REQUEST_SELECT_TAB = "selected_tab";
       public final static String PORTLET_ACTION = "portlet_action";
  +    
  +    // UserDetailsPortlet message topic
  +    public final static String USER_BROWSER = "user_browser";
   
       /** the selected non-leaf node in the tree view */
       public final static String REQUEST_NODE = "node";
  
  
  
  1.8       +8 -6      jakarta-jetspeed-2/applications/security/src/webapp/WEB-INF/security/users/user-details.jsp
  
  Index: user-details.jsp
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/applications/security/src/webapp/WEB-INF/security/users/user-details.jsp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- user-details.jsp	3 Feb 2005 01:30:54 -0000	1.7
  +++ user-details.jsp	27 Mar 2005 23:33:17 -0000	1.8
  @@ -241,7 +241,8 @@
   		</table>
   		<input type="submit" value="<fmt:message key="security.remove"/>" onClick="this.form.portlet_action.value = 'security_user.remove_user_role'" class="portlet-form-button" />
       </form>
  -	<form name="Add_Role_Form" action="<c:out value="${edit_role_link}"/>" method="post">
  +    <c:if test="${not empty jetspeedRoles}">
  +  	  <form name="Add_Role_Form" action="<c:out value="${edit_role_link}"/>" method="post">
   		<input type="hidden" name="portlet_action" value="security_user.add_user_role"/>
   		
   		<table>
  @@ -261,8 +262,8 @@
   			</tr>
   		</table>
   		<input type="submit" value="<fmt:message key="security.add"/>" class="portlet-form-button" />
  -	</form>
  -    
  +	  </form>
  +    </c:if>
     </div>  
   </c:if>
   <%--End of Security Role tab data--%>
  @@ -301,7 +302,8 @@
   		</table>
   		<input type="submit" value="<fmt:message key="security.remove"/>" onClick="this.form.portlet_action.value = 'security_user.remove_user_group'" class="portlet-form-button" />
       </form>
  -	<form name="Add_Group_Form" action="<c:out value="${edit_group_link}"/>" method="post">
  +    <c:if test="${not empty jetspeedGroups}">
  +	  <form name="Add_Group_Form" action="<c:out value="${edit_group_link}"/>" method="post">
   		<input type="hidden" name="portlet_action" value="security_user.add_user_group"/>
   		
   		<table>
  @@ -321,8 +323,8 @@
   			</tr>
   		</table>
   		<input type="submit" value="<fmt:message key="security.add"/>" class="portlet-form-button" />
  -	</form>
  -    
  +	  </form>
  +    </c:if>
     </div>  
   </c:if>
   <%--End of Security Group tab data--%>
  
  
  
  1.4       +32 -8     jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/users/UserDetailsPortlet.java
  
  Index: UserDetailsPortlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/applications/security/src/java/org/apache/jetspeed/portlets/security/users/UserDetailsPortlet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UserDetailsPortlet.java	3 Feb 2005 01:30:53 -0000	1.3
  +++ UserDetailsPortlet.java	27 Mar 2005 23:33:17 -0000	1.4
  @@ -201,10 +201,11 @@
               request.setAttribute(VIEW_USER, bean);
               if (selectedTab.getId().equals(TAB_ROLE))
               {                
  -                request.setAttribute(VIEW_ROLES, getRoles(userName));
  +                Collection userRoles = getRoles(userName);
  +                request.setAttribute(VIEW_ROLES, userRoles );
                   
                   // check for refresh on roles list
  -                String refreshRoles = (String)PortletMessaging.consume(request, "roles", "refresh");
  +                String refreshRoles = (String)PortletMessaging.consume(request, SecurityResources.USER_BROWSER, "roles");
                   List roles = null;
                   if (refreshRoles == null)
                   {        
  @@ -229,16 +230,28 @@
                   catch (SecurityException se)
                   {
                       throw new PortletException(se);
  -                }        
  -                request.setAttribute(ROLES_CONTROL, roles);
  +                }
  +                ArrayList selectableRoles = new ArrayList(roles);
  +                Iterator rolesIter = userRoles.iterator();
  +                while ( rolesIter.hasNext() )
  +                {
  +                    Role role = (Role)rolesIter.next();
  +                    int index = selectableRoles.indexOf(role.getPrincipal().getName());
  +                    if (index != -1)
  +                    {
  +                        selectableRoles.remove(index);
  +                    }
  +                }
  +                request.setAttribute(ROLES_CONTROL, selectableRoles);
                   
               }
               else if (selectedTab.getId().equals(TAB_GROUP))
               {
  -                request.setAttribute(VIEW_GROUPS, getGroups(userName));
  +                Collection userGroups = getGroups(userName);
  +                request.setAttribute(VIEW_GROUPS, userGroups);
                   
                   // check for refresh on groups list
  -                String refreshGroups = (String)PortletMessaging.consume(request, "groups", "refresh");
  +                String refreshGroups = (String)PortletMessaging.consume(request, SecurityResources.USER_BROWSER, "groups");
                   List groups = null;
                   if (refreshGroups == null)
                   {        
  @@ -264,7 +277,18 @@
                   {
                       throw new PortletException(se);
                   }        
  -                request.setAttribute(GROUPS_CONTROL, groups);
  +                ArrayList selectableGroups = new ArrayList(groups);
  +                Iterator groupsIter = userGroups.iterator();
  +                while ( groupsIter.hasNext() )
  +                {
  +                    Group group = (Group)groupsIter.next();
  +                    int index = selectableGroups.indexOf(group.getPrincipal().getName());
  +                    if (index != -1)
  +                    {
  +                        selectableGroups.remove(index);
  +                    }
  +                }
  +                request.setAttribute(GROUPS_CONTROL, selectableGroups);
                   
               }
               else if (selectedTab.getId().equals(TAB_PROFILE))
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org