[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