[jboss-svn-commits] JBL Code SVN: r14149 - in labs/jbossforums/branches/forums101P26/forums/src: main/org/jboss/portlet/forums/impl and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 10 13:04:38 EDT 2007


Author: dejp
Date: 2007-08-10 13:04:38 -0400 (Fri, 10 Aug 2007)
New Revision: 14149

Modified:
   labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ForumsModule.java
   labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/impl/ForumsModuleImpl.java
   labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java
   labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/event/FloodControlListener.java
   labs/jbossforums/branches/forums101P26/forums/src/resources/portal-forums-sar/META-INF/jboss-service.xml
Log:
JBFORUMS-250

Modified: labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ForumsModule.java
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ForumsModule.java	2007-08-10 17:03:01 UTC (rev 14148)
+++ labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ForumsModule.java	2007-08-10 17:04:38 UTC (rev 14149)
@@ -43,6 +43,16 @@
    void setFloodInterval(int floodInterval);
 
    /**
+   *
+   */
+   String getGuestUserName();
+
+   /**
+   *
+   */
+   void setGuestUserName(String guestUserName);
+   
+   /**
     *
     */
    String getFromAddress();

Modified: labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/impl/ForumsModuleImpl.java
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/impl/ForumsModuleImpl.java	2007-08-10 17:03:01 UTC (rev 14148)
+++ labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/impl/ForumsModuleImpl.java	2007-08-10 17:04:38 UTC (rev 14149)
@@ -70,6 +70,8 @@
    private NotificationEngine notificationEngine;
    
    private int floodInterval;
+   
+   private String guestUserName;
 
    private String fromAddress;
 
@@ -142,6 +144,22 @@
    /**
     * @jmx.managed-attribute
     */
+   public String getGuestUserName()
+   {
+       return guestUserName;
+   }
+
+   /**
+    * @jmx.managed-attribute
+    */
+   public void setGuestUserName(String guestUserName)
+   {
+       this.guestUserName = guestUserName;
+   }
+   
+   /**
+    * @jmx.managed-attribute
+    */
    public String getFromAddress()
    {
       return fromAddress;
@@ -2042,5 +2060,6 @@
    protected Session getSession () {
        return factory.getCurrentSession();
    }
+
 }
 

Modified: labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java	2007-08-10 17:03:01 UTC (rev 14148)
+++ labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java	2007-08-10 17:04:38 UTC (rev 14149)
@@ -47,6 +47,7 @@
 import org.jboss.portal.format.render.bbcodehtml.ToHTMLConfig;
 import org.jboss.portal.format.render.bbcodehtml.ToHTMLRenderer;
 import org.jboss.portal.format.util.CLLoader;
+import org.jboss.portal.identity.NoSuchUserException;
 import org.jboss.portal.identity.User;
 import org.jboss.portal.identity.UserModule;
 import org.jboss.portal.identity.UserProfileModule;
@@ -549,19 +550,22 @@
     {
         String property = null;
         String valueStr = null;
-        try
-        {
-            property = user.getClass().getField(propertyName).get(user)
-                    .toString();
-            Object value = upm.getProperty(user, property);
-            if (value != null && value.toString().trim().length() != 0)
+        
+        if (user != null) {
+            try
             {
-                valueStr = value.toString();
+                property = user.getClass().getField(propertyName).get(user)
+                        .toString();
+                Object value = upm.getProperty(user, property);
+                if (value != null && value.toString().trim().length() != 0)
+                {
+                    valueStr = value.toString();
+                }
+            } catch (Exception e)
+            {
+                e.printStackTrace();
+                throw e;
             }
-        } catch (Exception e)
-        {
-            e.printStackTrace();
-            throw e;
         }
         return valueStr;
     }
@@ -609,10 +613,42 @@
             {
                 poster = new PosterImpl(userId.toString());
             }
+        } else {
+            poster = getGuestPoster();
         }
 
         return poster;
     }
+    
+    public static Poster getGuestPoster() throws Exception 
+    {
+        Poster poster = null;
+        
+        UserModule userModule = null;
+        User user = null;
+        
+        String guestUserName = BaseController.getForumsModule().getGuestUserName();
+        
+        try
+        {                                
+           userModule = (UserModule)new InitialContext().lookup(ModuleConstants.USERMODULE_JNDINAME);
+           user = userModule.findUserByUserName(guestUserName);
+        }
+        catch (NoSuchUserException e)
+        {
+            user = userModule.createUser(guestUserName, "Guest user account!");
+        }
+        
+        Long userId = (Long) user.getId();
+        poster = BaseController.getForumsModule().findPosterByUserId(
+                String.valueOf(userId));
+        
+        if (poster == null) {
+            poster = new PosterImpl(userId.toString());
+        }
+        
+        return poster;
+    }
 
     /**
      * Method used for parsing bbcode and return properly formated text of

Modified: labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/event/FloodControlListener.java
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/event/FloodControlListener.java	2007-08-10 17:03:01 UTC (rev 14148)
+++ labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/event/FloodControlListener.java	2007-08-10 17:04:38 UTC (rev 14149)
@@ -31,11 +31,13 @@
         {
             User user = PortalUtil.getUser();
             
-            Date lastPost = BaseController.getForumsModule().findLastPostDateForUser(user);
+            if (user != null) {
+                Date lastPost = BaseController.getForumsModule().findLastPostDateForUser(user);
             
-            if (lastPost != null)
-            {
-                lastPostTime = lastPost.getTime();
+                if (lastPost != null)
+                {
+                    lastPostTime = lastPost.getTime();
+                }
             }
             
         } catch (Exception e) {

Modified: labs/jbossforums/branches/forums101P26/forums/src/resources/portal-forums-sar/META-INF/jboss-service.xml
===================================================================
--- labs/jbossforums/branches/forums101P26/forums/src/resources/portal-forums-sar/META-INF/jboss-service.xml	2007-08-10 17:03:01 UTC (rev 14148)
+++ labs/jbossforums/branches/forums101P26/forums/src/resources/portal-forums-sar/META-INF/jboss-service.xml	2007-08-10 17:04:38 UTC (rev 14149)
@@ -19,6 +19,8 @@
       <xmbean/>
       <!-- Flood interval in seconds -->
       <attribute name="FloodInterval">30</attribute>
+      <!-- Guest user -->
+      <attribute name="GuestUserName">guest</attribute>
       <!-- Email address used for FROM field of email notification -->
       <attribute name="FromAddress">portal at example.com</attribute>
       <attribute name="JNDIName">java:portal/ForumsModule</attribute>




More information about the jboss-svn-commits mailing list