[jboss-svn-commits] JBL Code SVN: r7014 - in labs/jbossforums/branches/forums22/forums/src: main/org/jboss/portlet/forums/impl main/org/jboss/portlet/forums/model main/org/jboss/portlet/forums/ui resources/portal-forums-war/WEB-INF resources/portal-forums-war/views/category

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 23 08:39:38 EDT 2006


Author: unibrew
Date: 2006-10-23 08:39:33 -0400 (Mon, 23 Oct 2006)
New Revision: 7014

Modified:
   labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/impl/ForumImpl.java
   labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/model/Forum.java
   labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/ui/ForumUtil.java
   labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml
   labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/views/category/viewcategory_body.xhtml
Log:
[JBFORUMS-135] Removing primary sollution and adding new one, better.

Modified: labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/impl/ForumImpl.java
===================================================================
--- labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/impl/ForumImpl.java	2006-10-23 11:38:41 UTC (rev 7013)
+++ labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/impl/ForumImpl.java	2006-10-23 12:39:33 UTC (rev 7014)
@@ -20,6 +20,8 @@
 
 import javax.naming.NamingException;
 
+import javax.portlet.PortletException;
+
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
@@ -69,7 +71,18 @@
    private Collection watch;
    //private int        type;
    private List watches;
+   private static ForumsModule fm;
+   
 
+   private static void initializeForumsModule () {
+      try {
+        fm = (ForumsModule)new InitialContext().lookup("java:portal/ForumsModule");
+      } catch (NamingException e) {
+          e.printStackTrace();
+      }
+   }
+
+
    /**
     * @hibernate.many-to-one column="jbp_category_id"
     * class="org.jboss.portlet.forums.impl.CategoryImpl"
@@ -131,8 +144,9 @@
     * _column_="jbp_last_post_id"
     * _class_="org.jboss.portlet.forums.impl.PostImpl"
     */
-   /*public Post getLastPost()
+   public Post getLastPost()
    {   
+   if (fm==null) initializeForumsModule();
                 //"select post from ForumImpl as forum" +
                 //"join forum.topics as topic" +
                 //"join topic.posts as post +
@@ -141,33 +155,37 @@
                 //"select topic from ForumImpl as forum" +
                 //"join forum.topics as topic" +
                 //"where topic.lastPostDate=(select MIN(t.lastPostDate) from forum.topics t)"
-       /*Session session = singleton.getCurrentSession();
-                 Query query = session.createQuery(            
+       Session session = fm.getHibernate().getSessionFactory().getCurrentSession();
+                 /*Query query = session.createQuery(            
                 "select post from ForumImpl as forum " +
                 "join forum.topics as topic " +
                 "join topic.posts as post " +
                 "where forum.id=:forumId " +
                 "AND post.date=(select MIN(t.lastPostDate) from forum.topics t)");
-      
-          query.setString("forumId",getId().toString());
-       Post post2 = (Post)query.uniqueResult();*/
-      /*Post post = null; 
+      */
+                  Query query =
+                     session.createQuery("from PostImpl as p where p.topic.forum  = :forumId order by p.createDate desc");
+                  query.setString("forumId", "" + getId());
+                  query.setFirstResult(0);
+                  query.setMaxResults(1);
+                  Post lastPost = (Post)query.uniqueResult();
+      Post post = null; 
       for (Iterator i = getTopics().iterator(); i.hasNext();)
       {
          post = ((Topic)i.next()).getLastPost();
-      }      
-      return post;
-   }*/
+      }
+      return lastPost;
+   }
 
    /**
     * DOCUMENT_ME
     *
     * @param lastPost DOCUMENT_ME
     */
- /*public void setLastPost(Post lastPost)
+   public void setLastPost(Post lastPost)
    {
-      this.lastPost = lastPost;
-   }*/
+      //this.lastPost = lastPost;
+   }
 
    /**
     * @hibernate.property column="jbp_name"
@@ -175,7 +193,7 @@
     * update="true"
     */
    public String getName()
-   {
+   {      
       return name;
    }
 

Modified: labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/model/Forum.java
===================================================================
--- labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/model/Forum.java	2006-10-23 11:38:41 UTC (rev 7013)
+++ labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/model/Forum.java	2006-10-23 12:39:33 UTC (rev 7014)
@@ -62,14 +62,14 @@
     *
     * @return DOCUMENT_ME
     */
-   //Post getLastPost();
+   Post getLastPost();
 
    /**
     * DOCUMENT_ME
     *
     * @param lastpost DOCUMENT_ME
     */
-   //void setLastPost(Post lastpost);
+   void setLastPost(Post lastpost);
 
    /**
     * DOCUMENT_ME

Modified: labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/ui/ForumUtil.java
===================================================================
--- labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/ui/ForumUtil.java	2006-10-23 11:38:41 UTC (rev 7013)
+++ labs/jbossforums/branches/forums22/forums/src/main/org/jboss/portlet/forums/ui/ForumUtil.java	2006-10-23 12:39:33 UTC (rev 7014)
@@ -38,7 +38,6 @@
 
 /**
  * @author <a href="mailto:sohil.shah at jboss.com">Sohil Shah</a>
- * @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
  *
  */
 public class ForumUtil 
@@ -104,12 +103,4 @@
         return dateStr;
     }
     
-    public static Post getLastPost(ForumsModule fm, Forum forum) {
-        try {
-            return fm.findLastPost(forum);    
-        } catch (ModuleException e) {
-            return null;
-        }
-    }
-    
 }

Modified: labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml
===================================================================
--- labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml	2006-10-23 11:38:41 UTC (rev 7013)
+++ labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml	2006-10-23 12:39:33 UTC (rev 7014)
@@ -67,17 +67,7 @@
 		<function-name>dateStr</function-name>
   		<function-class>org.jboss.portlet.forums.ui.ForumUtil</function-class>
   		<function-signature>java.lang.String getDateStr(java.util.Date)</function-signature>
-	</function>	
-        
-        <!--
-	-->
-	<function>
-		<function-name>lastPost</function-name>
-  		<function-class>org.jboss.portlet.forums.ui.ForumUtil</function-class>
-  		<function-signature>
-                    org.jboss.portlet.forums.model.Post getLastPost(org.jboss.portlet.forums.ForumsModule,org.jboss.portlet.forums.model.Forum)
-                </function-signature>
-	</function>	
+	</function>		
 	
 	<!-- application specific functions -->	
 	<!--

Modified: labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/views/category/viewcategory_body.xhtml
===================================================================
--- labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/views/category/viewcategory_body.xhtml	2006-10-23 11:38:41 UTC (rev 7013)
+++ labs/jbossforums/branches/forums22/forums/src/resources/portal-forums-war/views/category/viewcategory_body.xhtml	2006-10-23 12:39:33 UTC (rev 7014)
@@ -91,22 +91,22 @@
 		        <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap">
 		        	<span class="gensmall">        	    	
 		        	    <c:choose>
-		        	            <c:when test="#{(forums:lastPost(category.module,forumrow))!=null}">
-			        				#{forums:dateStr((forums:lastPost(category.module,forumrow)).createDate)}
+		        	            <c:when test="#{forumrow.lastPost!=null}">
+			        				#{forumrow.lastPost.createDate}
 			        				<br/>
 			        				<c:choose>
 				        				<c:when test="#{category.anonymous}">
-				        					${(forums:lastPost(category.module,forumrow)).poster.user.userName} 
+				        					${forumrow.lastPost.poster.user.userName} 
 				        				</c:when>
 				        				<c:otherwise>				        				    
 				        					<h:outputLink value="#{forums:outputLink(shared.links['profile'],true)}">
-				        						<f:param name="uid" value="#{(forums:lastPost(category.module,forumrow)).poster.user.id}"/>
-				        						<h:outputText value="${(forums:lastPost(category.module,forumrow)).poster.user.userName}"/>
+				        						<f:param name="uid" value="#{forumrow.lastPost.poster.user.id}"/>
+				        						<h:outputText value="${forumrow.lastPost.poster.user.userName}"/>
 				        					</h:outputLink>
 				        				</c:otherwise>
 			        				</c:choose>			                        
 			        				<h:outputLink value="#{forums:outputLink(shared.links['topic'],true)}" style="text-decoration: none;">
-			        					<f:param name="t" value="#{(forums:lastPost(category.module,forumrow)).topic.id}"/>
+			        					<f:param name="t" value="#{forumrow.lastPost.topic.id}"/>
 			        				    <f:verbatim>
 			        						<img border="0" src="#{forums:themeURL('resourceIconLatestReplyURL')}"/>
 			        					</f:verbatim>




More information about the jboss-svn-commits mailing list