[jboss-cvs] JBossBlog SVN: r235 - in trunk: src/action/org/jboss/blog/session/security/external and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 3 11:36:04 EST 2008


Author: adamw
Date: 2008-03-03 11:36:04 -0500 (Mon, 03 Mar 2008)
New Revision: 235

Modified:
   trunk/src/action/org/jboss/blog/session/security/Authenticator.java
   trunk/src/action/org/jboss/blog/session/security/SecurityGroupConverter.java
   trunk/src/action/org/jboss/blog/session/security/SecurityUserConverter.java
   trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java
   trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityGroup.java
   trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityUser.java
   trunk/src/model/org/jboss/blog/model/security/SecurityGroup.java
   trunk/src/model/org/jboss/blog/model/security/SecurityUser.java
   trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java
   trunk/src/shotoku/org/jboss/blog/session/feed/mod/ShotokuModBean.java
   trunk/src/shotoku/org/jboss/blog/session/shotoku/ShotokuFeedService.java
   trunk/view/layout/menu.xhtml
   trunk/view/manage/shotoku/shotoku_mod.xhtml
Log:


Modified: trunk/src/action/org/jboss/blog/session/security/Authenticator.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/Authenticator.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/action/org/jboss/blog/session/security/Authenticator.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -1,9 +1,7 @@
 package org.jboss.blog.session.security;
 
 import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.annotations.Name;
-import org.jboss.seam.log.Log;
 import org.jboss.blog.model.security.SecurityUser;
 import org.jboss.blog.model.security.SecurityGroup;
 import org.jboss.blog.model.security.SecurityMapping;
@@ -13,9 +11,6 @@
 
 @Name("authenticator")
 public class Authenticator {
-    @Logger
-    private Log log;
-    
     @In
     private FeedsIdentity identity;
 

Modified: trunk/src/action/org/jboss/blog/session/security/SecurityGroupConverter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/SecurityGroupConverter.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/action/org/jboss/blog/session/security/SecurityGroupConverter.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -19,10 +19,10 @@
 public class SecurityGroupConverter implements javax.faces.convert.Converter {
     @Transactional
     public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
-        return new SecurityGroup(null, Long.parseLong(value));
+        return new SecurityGroup(null, value);
     }
 
     public String getAsString(FacesContext context, UIComponent cmp, Object value) {
-        return ((RestrictedSecurityGroup) value).getExternalId().toString();
+        return ((RestrictedSecurityGroup) value).getExternalId();
     }
 }

Modified: trunk/src/action/org/jboss/blog/session/security/SecurityUserConverter.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/SecurityUserConverter.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/action/org/jboss/blog/session/security/SecurityUserConverter.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -19,10 +19,10 @@
 public class SecurityUserConverter implements javax.faces.convert.Converter {
     @Transactional
     public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
-        return new SecurityUser(null, Long.parseLong(value));
+        return new SecurityUser(null, value);
     }
 
     public String getAsString(FacesContext context, UIComponent cmp, Object value) {
-        return ((RestrictedSecurityUser) value).getExternalId().toString();
+        return ((RestrictedSecurityUser) value).getExternalId();
     }
 }
\ No newline at end of file

Modified: trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/action/org/jboss/blog/session/security/external/DummyExternalSecurityService.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -29,25 +29,25 @@
 
     public SecurityUser authenticate(String username, String password) throws InvalidLoginException {
         SecurityUser user = new SecurityUser();
-        user.setExternalId(Long.parseLong(username));
+        user.setExternalId(username);
 
         return getUnrestrictedSecurityUser(user);
     }   
 
     public List<? extends RestrictedSecurityGroup> getAllGroups() {
         List<RestrictedSecurityGroup> groups = new ArrayList<RestrictedSecurityGroup>();
-        groups.add(new SecurityGroup("group1", 1l));
-        groups.add(new SecurityGroup("group2", 2l));
-        groups.add(new SecurityGroup("group3", 3l));
+        groups.add(new SecurityGroup("group1", "1"));
+        groups.add(new SecurityGroup("group2", "2"));
+        groups.add(new SecurityGroup("group3", "3"));
 
         return groups;
     }
 
     public List<? extends RestrictedSecurityUser> getAllUsers() {
         List<RestrictedSecurityUser> users = new ArrayList<RestrictedSecurityUser>();
-        users.add(new SecurityUser("1", 1l));
-        users.add(new SecurityUser("2", 2l));
-        users.add(new SecurityUser("2", 3l));
+        users.add(new SecurityUser("1", "1"));
+        users.add(new SecurityUser("2", "2"));
+        users.add(new SecurityUser("2", "3"));
 
         return users;
     }
@@ -61,7 +61,7 @@
     }
 
     public String getDisplayName(RestrictedSecurityUser securityUser) {
-        return securityUser.getExternalId().toString();
+        return securityUser.getExternalId();
     }
 
     public String getDisplayName(RestrictedSecurityGroup securityGroup) {

Modified: trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityGroup.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityGroup.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityGroup.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -6,7 +6,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 public interface RestrictedSecurityGroup extends Serializable {
-    Long getExternalId();
+    String getExternalId();
 
     Object getRealGroup();
 

Modified: trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityUser.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityUser.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/model/org/jboss/blog/model/security/RestrictedSecurityUser.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -4,7 +4,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 public interface RestrictedSecurityUser {
-    Long getExternalId();
+    String getExternalId();
 
     Object getRealUser();
 

Modified: trunk/src/model/org/jboss/blog/model/security/SecurityGroup.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/security/SecurityGroup.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/model/org/jboss/blog/model/security/SecurityGroup.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -14,7 +14,7 @@
     private Integer id;
 
     @Column(unique = true)
-    private Long externalId;
+    private String externalId;
 
     @ManyToMany(mappedBy = "groups")
     private List<SecurityMapping> mappings;
@@ -24,7 +24,7 @@
 
     public SecurityGroup() { }
 
-    public SecurityGroup(Object realGroup, Long externalId) {
+    public SecurityGroup(Object realGroup, String externalId) {
         this.realGroup = realGroup;
         this.externalId = externalId;
     }
@@ -37,11 +37,11 @@
         this.id = id;
     }
 
-    public Long getExternalId() {
+    public String getExternalId() {
         return externalId;
     }
 
-    public void setExternalId(Long externalId) {
+    public void setExternalId(String externalId) {
         this.externalId = externalId;
     }
 

Modified: trunk/src/model/org/jboss/blog/model/security/SecurityUser.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/security/SecurityUser.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/model/org/jboss/blog/model/security/SecurityUser.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -17,7 +17,7 @@
 
     @Column
     @NotNull
-    private Long externalId;
+    private String externalId;
 
     @ManyToMany(mappedBy = "users")
     private List<SecurityMapping> mappings;
@@ -27,7 +27,7 @@
 
     public SecurityUser() { }
 
-    public SecurityUser(Object realUser, Long externalId) {
+    public SecurityUser(Object realUser, String externalId) {
         this.externalId = externalId;
         this.realUser = realUser;
     }
@@ -40,11 +40,11 @@
         this.id = id;
     }
 
-    public Long getExternalId() {
+    public String getExternalId() {
         return externalId;
     }
 
-    public void setExternalId(Long externalId) {
+    public void setExternalId(String externalId) {
         this.externalId = externalId;
     }
 

Modified: trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java
===================================================================
--- trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/portal/org/jboss/blog/session/security/external/PortalExternalSecurityService.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -12,7 +12,6 @@
 import org.jboss.portal.identity.Role;
 
 import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import java.util.List;
@@ -63,21 +62,31 @@
         }
     }
 
-    private List<SecurityGroup> convertRoles(Set<Role> roles) {
+    private List<SecurityGroup> convertRoles(Set<Role> roles, boolean getUnrestricted) {
         List<SecurityGroup> securityGroups = new ArrayList<SecurityGroup>();
 
         for (Role role : roles) {
-            securityGroups.add(new SecurityGroup(role, (Long) role.getId()));
+            SecurityGroup securityGroup = new SecurityGroup(role, role.getId().toString());
+            if (getUnrestricted) {
+                securityGroups.add(getUnrestrictedSecurityGroup(securityGroup));
+            } else {
+                securityGroups.add(securityGroup);
+            }
         }
 
         return securityGroups;
     }
 
-    private List<SecurityUser> convertUsers(Set<User> users) {
+    private List<SecurityUser> convertUsers(Set<User> users, boolean getUnrestricted) {
         List<SecurityUser> securityUsers = new ArrayList<SecurityUser>();
 
         for (User user : users) {
-            securityUsers.add(new SecurityUser(user, (Long) user.getId()));
+            SecurityUser securityUser = new SecurityUser(user, user.getId().toString());
+            if (getUnrestricted) {
+                securityUsers.add(getUnrestrictedSecurityUser(securityUser));
+            } else {
+                securityUsers.add(securityUser);
+            }
         }
 
         return securityUsers;
@@ -115,44 +124,6 @@
         }
     }
 
-    public SecurityGroup getUnrestrictedSecurityGroup(RestrictedSecurityGroup securityGroup) {
-        try {
-            SecurityGroup entitySg = (SecurityGroup) entityManager.createQuery(
-                    "select sg from SecurityGroup sg where sg.externalId = ?1")
-                    .setParameter(1, securityGroup.getExternalId()).getSingleResult();
-            entitySg.setRealGroup(securityGroup.getRealGroup());
-
-            return entitySg;
-        } catch (NoResultException e) {
-            SecurityGroup sg = new SecurityGroup();
-            sg.setExternalId(securityGroup.getExternalId());
-            sg.setRealGroup(securityGroup.getRealGroup());
-
-            entityManager.persist(sg);
-
-            return sg;
-        }
-    }
-
-    public SecurityUser getUnrestrictedSecurityUser(RestrictedSecurityUser securityUser) {
-        try {
-            SecurityUser entitySu = (SecurityUser) entityManager.createQuery(
-                    "select su from SecurityUser su where su.externalId = ?1")
-                    .setParameter(1, securityUser.getExternalId()).getSingleResult();
-            entitySu.setRealUser(securityUser.getRealUser());
-
-            return entitySu;
-        } catch (NoResultException e) {
-            SecurityUser su = new SecurityUser();
-            su.setExternalId(securityUser.getExternalId());
-            su.setRealUser(securityUser.getRealUser());
-
-            entityManager.persist(su);
-
-            return su;
-        }
-    }
-
     public SecurityUser authenticate(String username, String password) throws InvalidLoginException {
         try {
             User user = getUserModule().findUserByUserName(username);
@@ -162,7 +133,7 @@
             }
 
             SecurityUser securityUser = new SecurityUser();
-            securityUser.setExternalId((Long) user.getId());
+            securityUser.setExternalId(user.getId().toString());
             securityUser.setRealUser(user);
 
             return getUnrestrictedSecurityUser(securityUser);
@@ -180,7 +151,7 @@
     public List<? extends RestrictedSecurityGroup> getAllGroups() {
         try {
             //noinspection unchecked
-            return convertRoles((Set<Role>) getRoleModule().findRoles());
+            return convertRoles((Set<Role>) getRoleModule().findRoles(), false);
         } catch (IdentityException e) {
             log.error(e);
             return new ArrayList<RestrictedSecurityGroup>();
@@ -194,7 +165,7 @@
         try {
             // TODO - users count
             //noinspection unchecked
-            return convertUsers((Set<User>) getUserModule().findUsers(0, 100000));
+            return convertUsers((Set<User>) getUserModule().findUsers(0, 100000), false);
         } catch (NoSuchUserException e) {
             return new ArrayList<RestrictedSecurityUser>();
         } catch (IdentityException e) {
@@ -209,7 +180,7 @@
     public List<SecurityGroup> getGroupsOfUser(SecurityUser securityUser) {
         try {
             //noinspection unchecked
-            return convertRoles((Set<Role>) getMembershipModule().getRoles(getRealUser(securityUser)));
+            return convertRoles((Set<Role>) getMembershipModule().getRoles(getRealUser(securityUser)), true);
         } catch (NoSuchUserException e) {
             return new ArrayList<SecurityGroup>();
         } catch (IdentityException e) {

Modified: trunk/src/shotoku/org/jboss/blog/session/feed/mod/ShotokuModBean.java
===================================================================
--- trunk/src/shotoku/org/jboss/blog/session/feed/mod/ShotokuModBean.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/shotoku/org/jboss/blog/session/feed/mod/ShotokuModBean.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -42,7 +42,7 @@
 
     private ShotokuFeed shotokuFeed;
 
-    private boolean podcast;
+    private Boolean podcast;
 
     private boolean pathOk;
     private Exception pathException;
@@ -84,7 +84,11 @@
         this.pathException = pathException;
     }
 
-    public boolean isPodcast() {
+    public boolean isPodcast() throws InvalidFeedTypeException {
+        if (podcast == null) {
+            podcast = getShotokuFeed().getPodcastPrefix() != null;
+        }
+        
         return podcast;
     }
 
@@ -116,6 +120,8 @@
 
     @Restrict("#{identity.hasPermission('feed', 'edit', feedMod.feed, feedMod.feed.group)}")
     public void saveExisting() throws InvalidFeedTypeException {
+        shotokuFeedService.refreshEnclosureLinks(getShotokuFeed());
+
         entityManager.flush();
 
         facesMessages.addFromResourceBundle(FacesMessage.SEVERITY_INFO, "blog.feed.updated",

Modified: trunk/src/shotoku/org/jboss/blog/session/shotoku/ShotokuFeedService.java
===================================================================
--- trunk/src/shotoku/org/jboss/blog/session/shotoku/ShotokuFeedService.java	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/src/shotoku/org/jboss/blog/session/shotoku/ShotokuFeedService.java	2008-03-03 16:36:04 UTC (rev 235)
@@ -31,6 +31,24 @@
     @In
     private LinkService linkService;
 
+    private void setEnclosureUrl(ShotokuFeed feed, Enclosure enclosure, String nodeName) {
+        enclosure.setUrl(linkService.getServerAddress() + '/' + feed.getPodcastPrefix() + '/' + nodeName);    
+    }
+
+    public void refreshEnclosureLinks(ShotokuFeed feed) {
+        for (Post post : feed.getPosts()) {
+            for (Enclosure enclosure : post.getEnclosures()) {
+                String currentUrl = enclosure.getUrl();
+                if (currentUrl != null) {
+                    int lastSlash = currentUrl.lastIndexOf('/');
+                    if ((lastSlash != -1) && (lastSlash != currentUrl.length()-1)) {
+                        setEnclosureUrl(feed, enclosure, currentUrl.substring(lastSlash+1));
+                    }
+                }
+            }
+        }
+    }
+
     public List<Post> getPosts(ShotokuFeed feed) throws RepositoryException, PostContentTooLargeException {
         ContentManager cm = ContentManager.getContentManager(feed.getCmId(), feed.getCmPath());
 
@@ -59,9 +77,9 @@
             if (!StringTools.isEmpty(feed.getPodcastPrefix())) {
                 post.setContent(node.getProperty("description"));
 
-                post.getEnclosures().add(new Enclosure(post,
-                        linkService.getServerAddress() + '/' + feed.getPodcastPrefix() + '/' + node.getName(),
-                        node.getLength(), node.getMimeType()));
+                Enclosure enclosure = new Enclosure(post, null, node.getLength(), node.getMimeType());
+                setEnclosureUrl(feed, enclosure, node.getName());
+                post.getEnclosures().add(enclosure);
 
                 String thumbnail = node.getProperty("thumbnail");
                 if (!StringTools.isEmpty(thumbnail)) {

Modified: trunk/view/layout/menu.xhtml
===================================================================
--- trunk/view/layout/menu.xhtml	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/view/layout/menu.xhtml	2008-03-03 16:36:04 UTC (rev 235)
@@ -47,7 +47,7 @@
                 <a href="/">JBoss.ORG</a>
             </li>
             <li>
-                <s:link view="/home.xhtml" value="Feeds home" propagation="none" />
+                <s:link view="/home.xhtml" value="Feeds central home" propagation="none" />
             </li>
             <s:fragment rendered="#{identity.hasPermission('management', 'view')}">
                 <li>

Modified: trunk/view/manage/shotoku/shotoku_mod.xhtml
===================================================================
--- trunk/view/manage/shotoku/shotoku_mod.xhtml	2008-03-03 13:05:35 UTC (rev 234)
+++ trunk/view/manage/shotoku/shotoku_mod.xhtml	2008-03-03 16:36:04 UTC (rev 235)
@@ -75,7 +75,7 @@
     <h:outputLabel>This is a podcast:</h:outputLabel>
     <h:panelGroup>
         <h:selectBooleanCheckbox id="podcast" value="#{shotokuFeedMod.podcast}" required="true">
-            <a:support event="onchange" reRender="podcastPrefix,podcastPrefixRequired" ajaxSingle="true"
+            <a:support event="onchange" reRender="podcastPrefix" ajaxSingle="true"
                        bypassUpdates="false"/>
             <s:validate />
         </h:selectBooleanCheckbox>




More information about the jboss-cvs-commits mailing list