[jboss-cvs] JBossBlog SVN: r289 - in trunk: src/action/org/jboss/blog/session/feed/mod and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 23 12:56:37 EDT 2008


Author: adamw
Date: 2008-04-23 12:56:37 -0400 (Wed, 23 Apr 2008)
New Revision: 289

Added:
   trunk/src/action/org/jboss/blog/session/security/SecurityUserSelectBean.java
Removed:
   trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsCountBean.java
Modified:
   trunk/resources/WEB-INF/pages.xml
   trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java
   trunk/src/action/org/jboss/blog/session/security/external/ExternalSecurityService.java
   trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java
   trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityService.java
   trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityServiceImpl.java
   trunk/view/security/security_user_add.xhtml
Log:


Modified: trunk/resources/WEB-INF/pages.xml
===================================================================
--- trunk/resources/WEB-INF/pages.xml	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/resources/WEB-INF/pages.xml	2008-04-23 16:56:37 UTC (rev 289)
@@ -24,7 +24,7 @@
 
     <!-- Security -->
 
-    <page view-id="/security/login.xhtml" scheme="https">        
+    <page view-id="/security/login.xhtml" scheme="https">
         <navigation from-action="#{identity.login}">
             <rule if="#{identity.loggedIn}">
                 <redirect view-id="/home.xhtml"/>
@@ -76,7 +76,7 @@
 
     <page view-id="/manage/feed_propose.xhtml" conversation-required="true" login-required="true">
         <navigation from-action="#{feedMod.saveNew}">
-            <end-conversation />            
+            <end-conversation />
             <raise-event type="org.jboss.blog.feed.proposed" />
             <redirect view-id="/home.xhtml" />
         </navigation>
@@ -113,7 +113,7 @@
             <redirect view-id="/manage/proposition/proposition_accept_2.xhtml" />
         </navigation>
     </page>
-    
+
     <page view-id="/manage/proposition/proposition_accept_2.xhtml" login-required="true" conversation-required="true">
         <restrict>#{identity.hasPermission('feed', 'edit', feedMod.feed, feedMod.feed.group)}</restrict>
         <navigation from-action="#{feedMod.saveExisting}">
@@ -152,7 +152,7 @@
         <navigation from-action="#{remoteFeedMod.saveNew}">
             <redirect view-id="/manage/feed_propose.xhtml" />
         </navigation>
-    </page>  
+    </page>
 
     <!-- Manage aggregated feeds -->
 
@@ -252,7 +252,7 @@
         <navigation from-action="#{highlightsFeedMod.addPost}">
             <end-conversation />
             <redirect view-id="/manage/highlights/highlights_edit.xhtml">
-                <param name="name" value="#{highlightsFeedMod.selectedFeed.name}" />    
+                <param name="name" value="#{highlightsFeedMod.selectedFeed.name}" />
             </redirect>
         </navigation>
     </page>
@@ -302,7 +302,7 @@
         <restrict>#{identity.hasPermission('management_template', 'view')}</restrict>
     </page>
 
-    <page view-id="/manage/template/template_add.xhtml" login-required="true">        
+    <page view-id="/manage/template/template_add.xhtml" login-required="true">
         <restrict>#{identity.hasPermission('template', 'add')}</restrict>
         <begin-conversation flush-mode="manual" join="true" />
         <navigation from-action="#{templateMod.saveNew}">
@@ -370,9 +370,18 @@
         <param name="feed" converterId="feedConverter" value="#{securityMod.feed}" />
         <param name="role" converterId="securityRoleConverter" value="#{securityMod.role}" />
 
+        <param name="from" value="#{securityUserSelect.from}" />
+        <param name="filter" value="#{securityUserSelect.filter}" />
+
         <navigation from-action="#{securityMod.addSecurityUser}">
             <redirect view-id="/security/security_manager.xhtml" />
         </navigation>
+
+        <navigation>
+            <rule if-outcome="search">
+                <redirect />
+            </rule>
+        </navigation>
     </page>
 
     <!-- Exceptions -->

Deleted: trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsCountBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsCountBean.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/action/org/jboss/blog/session/feed/mod/PropositionsCountBean.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -1,32 +0,0 @@
-package org.jboss.blog.session.feed.mod;
-
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.ScopeType;
-import org.jboss.blog.service.GroupsService;
-import org.jboss.blog.model.Group;
-import org.jboss.blog.session.security.filtering.GroupsSecurity;
-
-/**
- * @author Adam Warski (adam at warski dot org)
- */
- at Name("propositionsCount")
- at Scope(ScopeType.STATELESS)
-public class PropositionsCountBean {
-    @In
-    private GroupsService groupsService;
-
-    @In
-    private GroupsSecurity groupsSecurity;
-
-    public int getPendingPropositions() {
-        int total = 0;
-
-        for (Group group : groupsSecurity.filterForFeedMod(groupsService.getAllGroups())) {
-            total += groupsService.unacceptedFeeds(group).size();
-        }
-
-        return total;
-    }
-}
\ No newline at end of file

Added: trunk/src/action/org/jboss/blog/session/security/SecurityUserSelectBean.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/SecurityUserSelectBean.java	                        (rev 0)
+++ trunk/src/action/org/jboss/blog/session/security/SecurityUserSelectBean.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -0,0 +1,85 @@
+package org.jboss.blog.session.security;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+import org.jboss.blog.session.security.external.ExternalSecurityService;
+import org.jboss.blog.model.security.RestrictedSecurityUser;
+import org.jboss.blog.tools.StringTools;
+import org.jboss.blog.tools.GeneralTools;
+
+import java.util.List;
+
+/**
+ * @author Adam Warski (adam at warski dot org)
+ */
+ at Name("securityUserSelect")
+ at AutoCreate
+public class SecurityUserSelectBean {
+    private int from;
+
+    private String filter;
+
+    private List<? extends RestrictedSecurityUser> realUsers;
+    private List<? extends RestrictedSecurityUser> users;
+
+    @In
+    private ExternalSecurityService externalSecurityService;
+
+    public int getFrom() {
+        return from;
+    }
+
+    public void setFrom(int from) {
+        this.from = from;
+    }
+
+    public String getFilter() {
+        return filter;
+    }
+
+    public void setFilter(String filter) {
+        this.filter = filter;
+    }
+
+    public int getNumberOfUsersOnPage() {
+        return 3;
+    }
+
+    private void initRealUsers() {
+        if (realUsers == null) {
+            if (StringTools.isEmpty(filter)) {
+                realUsers = externalSecurityService.getUsers(from, getNumberOfUsersOnPage()+1);
+            } else {
+                realUsers = externalSecurityService.getUsers(filter, from, getNumberOfUsersOnPage()+1);
+            }
+        }
+    }
+
+    public List<? extends RestrictedSecurityUser> getUsers() {
+        if (users == null) {
+            initRealUsers();
+            users = GeneralTools.subList(realUsers, 0, getNumberOfUsersOnPage());
+        }
+
+        return users;
+    }
+
+    public boolean getShowPrevious() {
+        return from != 0;
+    }
+
+    public boolean getShowNext() {
+        initRealUsers();
+        return realUsers.size() == getNumberOfUsersOnPage()+1;
+    }
+
+    public int getPreviousFrom() {
+        return Math.max(0, from - getNumberOfUsersOnPage());
+    }
+
+    public int getNextFrom() {
+        return from + getNumberOfUsersOnPage();
+    }
+
+}

Modified: trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -43,7 +43,7 @@
         return groups;
     }
 
-    public List<? extends RestrictedSecurityUser> getAllUsers() {
+    public List<? extends RestrictedSecurityUser> getUsers(int start, int count) {
         List<RestrictedSecurityUser> users = new ArrayList<RestrictedSecurityUser>();
         users.add(new SecurityUser("1", "1"));
         users.add(new SecurityUser("2", "2"));
@@ -52,6 +52,15 @@
         return users;
     }
 
+    public List<? extends RestrictedSecurityUser> getUsers(String filter, int start, int count) {
+        List<RestrictedSecurityUser> users = new ArrayList<RestrictedSecurityUser>();
+        users.add(new SecurityUser("1", "1"));
+        users.add(new SecurityUser("2", "2"));
+        users.add(new SecurityUser("2", "3"));
+
+        return users;
+    }
+
     public List<SecurityGroup> getGroupsOfUser(SecurityUser securityUser) {
         List<SecurityGroup> groups = new ArrayList<SecurityGroup>();
         groups.add(getUnrestrictedSecurityGroup(

Modified: trunk/src/action/org/jboss/blog/session/security/external/ExternalSecurityService.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/external/ExternalSecurityService.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/action/org/jboss/blog/session/security/external/ExternalSecurityService.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -17,8 +17,10 @@
 
     List<? extends RestrictedSecurityGroup> getAllGroups();
 
-    List<? extends RestrictedSecurityUser> getAllUsers();
+    List<? extends RestrictedSecurityUser> getUsers(int start, int count);
 
+    List<? extends RestrictedSecurityUser> getUsers(String filter, int start, int count);
+
     List<SecurityGroup> getGroupsOfUser(SecurityUser securityUser);
 
     List<? extends RestrictedSecurityUser> getUsersInGroup(RestrictedSecurityGroup securityGroup);

Modified: trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java
===================================================================
--- trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -110,16 +110,26 @@
         }
     }
 
-    public List<? extends RestrictedSecurityUser> getAllUsers() {
+    public List<? extends RestrictedSecurityUser> getUsers(int start, int count) {
         try {
             //noinspection unchecked
-            return convertUsers(portalSecurityService.getAllUsers(), false);
+            return convertUsers(portalSecurityService.getUsers(start, count), false);
         } catch (PortalSecurityException e) {
             log.error(e);
             return new ArrayList<RestrictedSecurityUser>();
         }
     }
 
+    public List<? extends RestrictedSecurityUser> getUsers(String filter, int start, int count) {
+        try {
+            //noinspection unchecked
+            return convertUsers(portalSecurityService.getUsers(filter, start, count), false);
+        } catch (PortalSecurityException e) {
+            log.error(e);
+            return new ArrayList<RestrictedSecurityUser>();
+        }
+    }
+
     public List<SecurityGroup> getGroupsOfUser(SecurityUser securityUser) {
         try {
             //noinspection unchecked

Modified: trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityService.java
===================================================================
--- trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityService.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityService.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -14,8 +14,10 @@
 
     List<PortalRole> getAllRoles() throws PortalSecurityException;
 
-    List<PortalUser> getAllUsers() throws PortalSecurityException;
+    public List<PortalUser> getUsers(int start, int count) throws PortalSecurityException;
 
+    public List<PortalUser> getUsers(String filter, int start, int count) throws PortalSecurityException;
+
     List<PortalRole> getRolesOfUser(String id) throws PortalSecurityException;
 
     List<PortalUser> getUsersInRole(String id) throws PortalSecurityException;

Modified: trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityServiceImpl.java
===================================================================
--- trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityServiceImpl.java	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/src/portal/org/jboss/blog/session/security/external/PortalSecurityServiceImpl.java	2008-04-23 16:56:37 UTC (rev 289)
@@ -113,12 +113,11 @@
     }
 
     @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
-    public List<PortalUser> getAllUsers() throws PortalSecurityException {
+    public List<PortalUser> getUsers(int start, int count) throws PortalSecurityException {
         try {
             List<PortalUser> users = new ArrayList<PortalUser>();
 
-            // TODO - users count
-            for (Object userObj : getUserModule().findUsers(0, 100000)) {
+            for (Object userObj : getUserModule().findUsers(start, count)) {
                 User user = (User) userObj;
                 users.add(new PortalUser(user.getId().toString(), user.getUserName(), getUserEmail(user)));
             }
@@ -130,6 +129,22 @@
     }
 
     @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
+    public List<PortalUser> getUsers(String filter, int start, int count) throws PortalSecurityException {
+        try {
+            List<PortalUser> users = new ArrayList<PortalUser>();
+
+            for (Object userObj : getUserModule().findUsersFilteredByUserName(filter, start, count)) {
+                User user = (User) userObj;
+                users.add(new PortalUser(user.getId().toString(), user.getUserName(), getUserEmail(user)));
+            }
+
+            return users;
+        } catch (IdentityException e) {
+            throw new PortalSecurityException(e);
+        }
+    }
+
+    @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
     public List<PortalRole> getRolesOfUser(String id) throws PortalSecurityException {
         try {
             List<PortalRole> roles = new ArrayList<PortalRole>();

Modified: trunk/view/security/security_user_add.xhtml
===================================================================
--- trunk/view/security/security_user_add.xhtml	2008-04-22 15:40:09 UTC (rev 288)
+++ trunk/view/security/security_user_add.xhtml	2008-04-23 16:56:37 UTC (rev 289)
@@ -14,11 +14,38 @@
     <ui:define name="body">
         <h:form>
             <div class="adminforms">
+                Filter: <h:inputText value="#{securityUserSelect.filter}" />
                 <br />
+
+                <div class="formbuttons">
+                    <ul>
+                        <li>
+                            <h:commandButton value="Search" styleClass="submit" action="search">
+                                <f:param name="from" value="0" />
+                            </h:commandButton>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </h:form>
+
+        <div class="blogFeedNav #{additionalStyle}">
+            <ul>
+                <ui:include src="../common/next_previous_navigation.xhtml">
+                    <ui:param name="viewId" value="/security/security_user_add.xhtml" />
+                    <ui:param name="navigationBean" value="#{securityUserSelect}" />
+                    <ui:param name="showColon" value="false" />
+                </ui:include>
+            </ul>
+        </div>
+
+        <h:form>
+            <div class="adminforms">
+                <br />
                 <h:panelGrid columns="1">
                     <h:selectOneListbox required="true" value="#{securityMod.restrictedSecurityUser}"
                                         converter="securityUserConverter">
-                        <s:selectItems var="user" value="#{externalSecurityService.allUsers}"
+                        <s:selectItems var="user" value="#{securityUserSelect.users}"
                                        label="#{externalSecurityService.getDisplayName(user)}" />
                     </h:selectOneListbox>
                 </h:panelGrid>




More information about the jboss-cvs-commits mailing list